# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: envoy/extensions/filters/http/ratelimit/v3/rate_limit.proto
# Protobuf Python Version: 6.31.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    31,
    1,
    '',
    'envoy/extensions/filters/http/ratelimit/v3/rate_limit.proto'
)
# @@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.ratelimit.v3 import rls_pb2 as envoy_dot_config_dot_ratelimit_dot_v3_dot_rls__pb2
from envoy.config.route.v3 import route_components_pb2 as envoy_dot_config_dot_route_dot_v3_dot_route__components__pb2
from envoy.type.v3 import http_status_pb2 as envoy_dot_type_dot_v3_dot_http__status__pb2
from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
from udpa.annotations import status_pb2 as udpa_dot_annotations_dot_status__pb2
from udpa.annotations import versioning_pb2 as udpa_dot_annotations_dot_versioning__pb2
from validate import validate_pb2 as validate_dot_validate__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;envoy/extensions/filters/http/ratelimit/v3/rate_limit.proto\x12*envoy.extensions.filters.http.ratelimit.v3\x1a\x1f\x65nvoy/config/core/v3/base.proto\x1a#envoy/config/ratelimit/v3/rls.proto\x1a,envoy/config/route/v3/route_components.proto\x1a\x1f\x65nvoy/type/v3/http_status.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xd5\x08\n\tRateLimit\x12\x17\n\x06\x64omain\x18\x01 \x01(\tB\x07\xfa\x42\x04r\x02\x10\x01\x12\x16\n\x05stage\x18\x02 \x01(\rB\x07\xfa\x42\x04*\x02\x18\n\x12\x37\n\x0crequest_type\x18\x03 \x01(\tB!\xfa\x42\x1er\x1cR\x08internalR\x08\x65xternalR\x04\x62othR\x00\x12*\n\x07timeout\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12\x19\n\x11\x66\x61ilure_mode_deny\x18\x05 \x01(\x08\x12*\n\"rate_limited_as_resource_exhausted\x18\x06 \x01(\x08\x12W\n\x12rate_limit_service\x18\x07 \x01(\x0b\x32\x31.envoy.config.ratelimit.v3.RateLimitServiceConfigB\x08\xfa\x42\x05\x8a\x01\x02\x10\x01\x12\x7f\n\x1a\x65nable_x_ratelimit_headers\x18\x08 \x01(\x0e\x32Q.envoy.extensions.filters.http.ratelimit.v3.RateLimit.XRateLimitHeadersRFCVersionB\x08\xfa\x42\x05\x82\x01\x02\x10\x01\x12*\n\"disable_x_envoy_ratelimited_header\x18\t \x01(\x08\x12\x36\n\x13rate_limited_status\x18\n \x01(\x0b\x32\x19.envoy.type.v3.HttpStatus\x12R\n\x17response_headers_to_add\x18\x0b \x03(\x0b\x32\'.envoy.config.core.v3.HeaderValueOptionB\x08\xfa\x42\x05\x92\x01\x02\x10\n\x12\x32\n\x0fstatus_on_error\x18\x0c \x01(\x0b\x32\x19.envoy.type.v3.HttpStatus\x12\x13\n\x0bstat_prefix\x18\r \x01(\t\x12\x46\n\x0e\x66ilter_enabled\x18\x0e \x01(\x0b\x32..envoy.config.core.v3.RuntimeFractionalPercent\x12G\n\x0f\x66ilter_enforced\x18\x0f \x01(\x0b\x32..envoy.config.core.v3.RuntimeFractionalPercent\x12Q\n\x19\x66\x61ilure_mode_deny_percent\x18\x10 \x01(\x0b\x32..envoy.config.core.v3.RuntimeFractionalPercent\x12\x35\n\x0brate_limits\x18\x11 \x03(\x0b\x32 .envoy.config.route.v3.RateLimit\"<\n\x1bXRateLimitHeadersRFCVersion\x12\x07\n\x03OFF\x10\x00\x12\x14\n\x10\x44RAFT_VERSION_03\x10\x01:7\x9a\xc5\x88\x1e\x32\n0envoy.config.filter.http.rate_limit.v2.RateLimit\"\xdb\x03\n\x11RateLimitPerRoute\x12s\n\x0evh_rate_limits\x18\x01 \x01(\x0e\x32Q.envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute.VhRateLimitsOptionsB\x08\xfa\x42\x05\x82\x01\x02\x10\x01\x12p\n\x0foverride_option\x18\x02 \x01(\x0e\x32M.envoy.extensions.filters.http.ratelimit.v3.RateLimitPerRoute.OverrideOptionsB\x08\xfa\x42\x05\x82\x01\x02\x10\x01\x12\x35\n\x0brate_limits\x18\x03 \x03(\x0b\x32 .envoy.config.route.v3.RateLimit\x12\x0e\n\x06\x64omain\x18\x04 \x01(\t\"<\n\x13VhRateLimitsOptions\x12\x0c\n\x08OVERRIDE\x10\x00\x12\x0b\n\x07INCLUDE\x10\x01\x12\n\n\x06IGNORE\x10\x02\"Z\n\x0fOverrideOptions\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\x13\n\x0fOVERRIDE_POLICY\x10\x01\x12\x12\n\x0eINCLUDE_POLICY\x10\x02\x12\x11\n\rIGNORE_POLICY\x10\x03\x42\xb3\x01\n8io.envoyproxy.envoy.extensions.filters.http.ratelimit.v3B\x0eRateLimitProtoP\x01Z]github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/ratelimit/v3;ratelimitv3\xba\x80\xc8\xd1\x06\x02\x10\x02\x62\x06proto3')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'envoy.extensions.filters.http.ratelimit.v3.rate_limit_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n8io.envoyproxy.envoy.extensions.filters.http.ratelimit.v3B\016RateLimitProtoP\001Z]github.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/ratelimit/v3;ratelimitv3\272\200\310\321\006\002\020\002'
  _globals['_RATELIMIT'].fields_by_name['domain']._loaded_options = None
  _globals['_RATELIMIT'].fields_by_name['domain']._serialized_options = b'\372B\004r\002\020\001'
  _globals['_RATELIMIT'].fields_by_name['stage']._loaded_options = None
  _globals['_RATELIMIT'].fields_by_name['stage']._serialized_options = b'\372B\004*\002\030\n'
  _globals['_RATELIMIT'].fields_by_name['request_type']._loaded_options = None
  _globals['_RATELIMIT'].fields_by_name['request_type']._serialized_options = b'\372B\036r\034R\010internalR\010externalR\004bothR\000'
  _globals['_RATELIMIT'].fields_by_name['rate_limit_service']._loaded_options = None
  _globals['_RATELIMIT'].fields_by_name['rate_limit_service']._serialized_options = b'\372B\005\212\001\002\020\001'
  _globals['_RATELIMIT'].fields_by_name['enable_x_ratelimit_headers']._loaded_options = None
  _globals['_RATELIMIT'].fields_by_name['enable_x_ratelimit_headers']._serialized_options = b'\372B\005\202\001\002\020\001'
  _globals['_RATELIMIT'].fields_by_name['response_headers_to_add']._loaded_options = None
  _globals['_RATELIMIT'].fields_by_name['response_headers_to_add']._serialized_options = b'\372B\005\222\001\002\020\n'
  _globals['_RATELIMIT']._loaded_options = None
  _globals['_RATELIMIT']._serialized_options = b'\232\305\210\0362\n0envoy.config.filter.http.rate_limit.v2.RateLimit'
  _globals['_RATELIMITPERROUTE'].fields_by_name['vh_rate_limits']._loaded_options = None
  _globals['_RATELIMITPERROUTE'].fields_by_name['vh_rate_limits']._serialized_options = b'\372B\005\202\001\002\020\001'
  _globals['_RATELIMITPERROUTE'].fields_by_name['override_option']._loaded_options = None
  _globals['_RATELIMITPERROUTE'].fields_by_name['override_option']._serialized_options = b'\372B\005\202\001\002\020\001'
  _globals['_RATELIMIT']._serialized_start=380
  _globals['_RATELIMIT']._serialized_end=1489
  _globals['_RATELIMIT_XRATELIMITHEADERSRFCVERSION']._serialized_start=1372
  _globals['_RATELIMIT_XRATELIMITHEADERSRFCVERSION']._serialized_end=1432
  _globals['_RATELIMITPERROUTE']._serialized_start=1492
  _globals['_RATELIMITPERROUTE']._serialized_end=1967
  _globals['_RATELIMITPERROUTE_VHRATELIMITSOPTIONS']._serialized_start=1815
  _globals['_RATELIMITPERROUTE_VHRATELIMITSOPTIONS']._serialized_end=1875
  _globals['_RATELIMITPERROUTE_OVERRIDEOPTIONS']._serialized_start=1877
  _globals['_RATELIMITPERROUTE_OVERRIDEOPTIONS']._serialized_end=1967
# @@protoc_insertion_point(module_scope)
