# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: envoy/extensions/filters/http/rate_limit_quota/v3/rate_limit_quota.proto
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from envoy.config.core.v3 import base_pb2 as envoy_dot_config_dot_core_dot_v3_dot_base__pb2
from envoy.config.core.v3 import extension_pb2 as envoy_dot_config_dot_core_dot_v3_dot_extension__pb2
from envoy.config.core.v3 import grpc_service_pb2 as envoy_dot_config_dot_core_dot_v3_dot_grpc__service__pb2
from envoy.type.v3 import http_status_pb2 as envoy_dot_type_dot_v3_dot_http__status__pb2
from envoy.type.v3 import ratelimit_strategy_pb2 as envoy_dot_type_dot_v3_dot_ratelimit__strategy__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2
from xds.annotations.v3 import status_pb2 as xds_dot_annotations_dot_v3_dot_status__pb2
from xds.type.matcher.v3 import matcher_pb2 as xds_dot_type_dot_matcher_dot_v3_dot_matcher__pb2
from udpa.annotations import status_pb2 as udpa_dot_annotations_dot_status__pb2
from validate import validate_pb2 as validate_dot_validate__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nHenvoy/extensions/filters/http/rate_limit_quota/v3/rate_limit_quota.proto\x12\x31\x65nvoy.extensions.filters.http.rate_limit_quota.v3\x1a\x1f\x65nvoy/config/core/v3/base.proto\x1a$envoy/config/core/v3/extension.proto\x1a\'envoy/config/core/v3/grpc_service.proto\x1a\x1f\x65nvoy/type/v3/http_status.proto\x1a&envoy/type/v3/ratelimit_strategy.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x17google/rpc/status.proto\x1a\x1fxds/annotations/v3/status.proto\x1a!xds/type/matcher/v3/matcher.proto\x1a\x1dudpa/annotations/status.proto\x1a\x17validate/validate.proto\"\xae\x03\n\x1aRateLimitQuotaFilterConfig\x12@\n\x0brlqs_server\x18\x01 \x01(\x0b\x32!.envoy.config.core.v3.GrpcServiceB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01\x12\x17\n\x06\x64omain\x18\x02 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01\x12?\n\x0f\x62ucket_matchers\x18\x03 \x01(\x0b\x32\x1c.xds.type.matcher.v3.MatcherB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01\x12\x46\n\x0e\x66ilter_enabled\x18\x04 \x01(\x0b\x32..envoy.config.core.v3.RuntimeFractionalPercent\x12G\n\x0f\x66ilter_enforced\x18\x05 \x01(\x0b\x32..envoy.config.core.v3.RuntimeFractionalPercent\x12\x63\n(request_headers_to_add_when_not_enforced\x18\x06 \x03(\x0b\x32\'.envoy.config.core.v3.HeaderValueOptionB\x08\xfa\x42\x05\x92\x01\x02\x10\n\"_\n\x16RateLimitQuotaOverride\x12\x0e\n\x06\x64omain\x18\x01 \x01(\t\x12\x35\n\x0f\x62ucket_matchers\x18\x02 \x01(\x0b\x32\x1c.xds.type.matcher.v3.Matcher\"\xd8\x0e\n\x1cRateLimitQuotaBucketSettings\x12z\n\x11\x62ucket_id_builder\x18\x01 \x01(\x0b\x32_.envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder\x12\x46\n\x12reporting_interval\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x0f\xfa\x42\x0c\xaa\x01\t\x08\x01*\x05\x10\x80\xc2\xd7/\x12\x84\x01\n\x16\x64\x65ny_response_settings\x18\x03 \x01(\x0b\x32\x64.envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.DenyResponseSettings\x12\x84\x01\n\x16no_assignment_behavior\x18\x04 \x01(\x0b\x32\x64.envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.NoAssignmentBehavior\x12\x8e\x01\n\x1b\x65xpired_assignment_behavior\x18\x05 \x01(\x0b\x32i.envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior\x1av\n\x14NoAssignmentBehavior\x12?\n\x13\x66\x61llback_rate_limit\x18\x01 \x01(\x0b\x32 .envoy.type.v3.RateLimitStrategyH\x00\x42\x1d\n\x16no_assignment_behavior\x12\x03\xf8\x42\x01\x1a\x8a\x03\n\x19\x45xpiredAssignmentBehavior\x12P\n#expired_assignment_behavior_timeout\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x08\xfa\x42\x05\xaa\x01\x02*\x00\x12?\n\x13\x66\x61llback_rate_limit\x18\x02 \x01(\x0b\x32 .envoy.type.v3.RateLimitStrategyH\x00\x12\x9e\x01\n\x15reuse_last_assignment\x18\x03 \x01(\x0b\x32}.envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.ExpiredAssignmentBehavior.ReuseLastAssignmentH\x00\x1a\x15\n\x13ReuseLastAssignmentB\"\n\x1b\x65xpired_assignment_behavior\x12\x03\xf8\x42\x01\x1a\xf3\x01\n\x14\x44\x65nyResponseSettings\x12.\n\x0bhttp_status\x18\x01 \x01(\x0b\x32\x19.envoy.type.v3.HttpStatus\x12.\n\thttp_body\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.BytesValue\x12\'\n\x0bgrpc_status\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12R\n\x17response_headers_to_add\x18\x04 \x03(\x0b\x32\'.envoy.config.core.v3.HeaderValueOptionB\x08\xfa\x42\x05\x92\x01\x02\x10\n\x1a\xd9\x03\n\x0f\x42ucketIdBuilder\x12\x99\x01\n\x11\x62ucket_id_builder\x18\x01 \x03(\x0b\x32t.envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.BucketIdBuilderEntryB\x08\xfa\x42\x05\x9a\x01\x02\x08\x01\x1a\x82\x01\n\x0cValueBuilder\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x42\n\x0c\x63ustom_value\x18\x02 \x01(\x0b\x32*.envoy.config.core.v3.TypedExtensionConfigH\x00\x42\x16\n\x0fvalue_specifier\x12\x03\xf8\x42\x01\x1a\xa4\x01\n\x14\x42ucketIdBuilderEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12{\n\x05value\x18\x02 \x01(\x0b\x32l.envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaBucketSettings.BucketIdBuilder.ValueBuilder:\x02\x38\x01\x42\xd5\x01\n?io.envoyproxy.envoy.extensions.filters.http.rate_limit_quota.v3B\x13RateLimitQuotaProtoP\x01Zkgithub.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/rate_limit_quota/v3;rate_limit_quotav3\xba\x80\xc8\xd1\x06\x02\x10\x02\xd2\xc6\xa4\xe1\x06\x02\x08\x01\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'envoy.extensions.filters.http.rate_limit_quota.v3.rate_limit_quota_pb2', _globals)
if _descriptor._USE_C_DESCRIPTORS == False:
  DESCRIPTOR._options = None
  DESCRIPTOR._serialized_options = b'\n?io.envoyproxy.envoy.extensions.filters.http.rate_limit_quota.v3B\023RateLimitQuotaProtoP\001Zkgithub.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/rate_limit_quota/v3;rate_limit_quotav3\272\200\310\321\006\002\020\002\322\306\244\341\006\002\010\001'
  _RATELIMITQUOTAFILTERCONFIG.fields_by_name['rlqs_server']._options = None
  _RATELIMITQUOTAFILTERCONFIG.fields_by_name['rlqs_server']._serialized_options = b'\372B\005\212\001\002\020\001'
  _RATELIMITQUOTAFILTERCONFIG.fields_by_name['domain']._options = None
  _RATELIMITQUOTAFILTERCONFIG.fields_by_name['domain']._serialized_options = b'\372B\004r\002\020\001'
  _RATELIMITQUOTAFILTERCONFIG.fields_by_name['bucket_matchers']._options = None
  _RATELIMITQUOTAFILTERCONFIG.fields_by_name['bucket_matchers']._serialized_options = b'\372B\005\212\001\002\020\001'
  _RATELIMITQUOTAFILTERCONFIG.fields_by_name['request_headers_to_add_when_not_enforced']._options = None
  _RATELIMITQUOTAFILTERCONFIG.fields_by_name['request_headers_to_add_when_not_enforced']._serialized_options = b'\372B\005\222\001\002\020\n'
  _RATELIMITQUOTABUCKETSETTINGS_NOASSIGNMENTBEHAVIOR.oneofs_by_name['no_assignment_behavior']._options = None
  _RATELIMITQUOTABUCKETSETTINGS_NOASSIGNMENTBEHAVIOR.oneofs_by_name['no_assignment_behavior']._serialized_options = b'\370B\001'
  _RATELIMITQUOTABUCKETSETTINGS_EXPIREDASSIGNMENTBEHAVIOR.oneofs_by_name['expired_assignment_behavior']._options = None
  _RATELIMITQUOTABUCKETSETTINGS_EXPIREDASSIGNMENTBEHAVIOR.oneofs_by_name['expired_assignment_behavior']._serialized_options = b'\370B\001'
  _RATELIMITQUOTABUCKETSETTINGS_EXPIREDASSIGNMENTBEHAVIOR.fields_by_name['expired_assignment_behavior_timeout']._options = None
  _RATELIMITQUOTABUCKETSETTINGS_EXPIREDASSIGNMENTBEHAVIOR.fields_by_name['expired_assignment_behavior_timeout']._serialized_options = b'\372B\005\252\001\002*\000'
  _RATELIMITQUOTABUCKETSETTINGS_DENYRESPONSESETTINGS.fields_by_name['response_headers_to_add']._options = None
  _RATELIMITQUOTABUCKETSETTINGS_DENYRESPONSESETTINGS.fields_by_name['response_headers_to_add']._serialized_options = b'\372B\005\222\001\002\020\n'
  _RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER_VALUEBUILDER.oneofs_by_name['value_specifier']._options = None
  _RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER_VALUEBUILDER.oneofs_by_name['value_specifier']._serialized_options = b'\370B\001'
  _RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER_BUCKETIDBUILDERENTRY._options = None
  _RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER_BUCKETIDBUILDERENTRY._serialized_options = b'8\001'
  _RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER.fields_by_name['bucket_id_builder']._options = None
  _RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER.fields_by_name['bucket_id_builder']._serialized_options = b'\372B\005\232\001\002\010\001'
  _RATELIMITQUOTABUCKETSETTINGS.fields_by_name['reporting_interval']._options = None
  _RATELIMITQUOTABUCKETSETTINGS.fields_by_name['reporting_interval']._serialized_options = b'\372B\014\252\001\t\010\001*\005\020\200\302\327/'
  _globals['_RATELIMITQUOTAFILTERCONFIG']._serialized_start=526
  _globals['_RATELIMITQUOTAFILTERCONFIG']._serialized_end=956
  _globals['_RATELIMITQUOTAOVERRIDE']._serialized_start=958
  _globals['_RATELIMITQUOTAOVERRIDE']._serialized_end=1053
  _globals['_RATELIMITQUOTABUCKETSETTINGS']._serialized_start=1056
  _globals['_RATELIMITQUOTABUCKETSETTINGS']._serialized_end=2936
  _globals['_RATELIMITQUOTABUCKETSETTINGS_NOASSIGNMENTBEHAVIOR']._serialized_start=1699
  _globals['_RATELIMITQUOTABUCKETSETTINGS_NOASSIGNMENTBEHAVIOR']._serialized_end=1817
  _globals['_RATELIMITQUOTABUCKETSETTINGS_EXPIREDASSIGNMENTBEHAVIOR']._serialized_start=1820
  _globals['_RATELIMITQUOTABUCKETSETTINGS_EXPIREDASSIGNMENTBEHAVIOR']._serialized_end=2214
  _globals['_RATELIMITQUOTABUCKETSETTINGS_EXPIREDASSIGNMENTBEHAVIOR_REUSELASTASSIGNMENT']._serialized_start=2157
  _globals['_RATELIMITQUOTABUCKETSETTINGS_EXPIREDASSIGNMENTBEHAVIOR_REUSELASTASSIGNMENT']._serialized_end=2178
  _globals['_RATELIMITQUOTABUCKETSETTINGS_DENYRESPONSESETTINGS']._serialized_start=2217
  _globals['_RATELIMITQUOTABUCKETSETTINGS_DENYRESPONSESETTINGS']._serialized_end=2460
  _globals['_RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER']._serialized_start=2463
  _globals['_RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER']._serialized_end=2936
  _globals['_RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER_VALUEBUILDER']._serialized_start=2639
  _globals['_RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER_VALUEBUILDER']._serialized_end=2769
  _globals['_RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER_BUCKETIDBUILDERENTRY']._serialized_start=2772
  _globals['_RATELIMITQUOTABUCKETSETTINGS_BUCKETIDBUILDER_BUCKETIDBUILDERENTRY']._serialized_end=2936
# @@protoc_insertion_point(module_scope)
