// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v7.35.1
// source: envoy/service/ratelimit/v2/rls.proto

package ratelimitv2

import (
	_ "github.com/cncf/xds/go/udpa/annotations"
	core "github.com/envoyproxy/go-control-plane/envoy/api/v2/core"
	ratelimit "github.com/envoyproxy/go-control-plane/envoy/api/v2/ratelimit"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type RateLimitResponse_Code int32

const (
	// The response code is not known.
	RateLimitResponse_UNKNOWN RateLimitResponse_Code = 0
	// The response code to notify that the number of requests are under limit.
	RateLimitResponse_OK RateLimitResponse_Code = 1
	// The response code to notify that the number of requests are over limit.
	RateLimitResponse_OVER_LIMIT RateLimitResponse_Code = 2
)

// Enum value maps for RateLimitResponse_Code.
var (
	RateLimitResponse_Code_name = map[int32]string{
		0: "UNKNOWN",
		1: "OK",
		2: "OVER_LIMIT",
	}
	RateLimitResponse_Code_value = map[string]int32{
		"UNKNOWN":    0,
		"OK":         1,
		"OVER_LIMIT": 2,
	}
)

func (x RateLimitResponse_Code) Enum() *RateLimitResponse_Code {
	p := new(RateLimitResponse_Code)
	*p = x
	return p
}

func (x RateLimitResponse_Code) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RateLimitResponse_Code) Descriptor() protoreflect.EnumDescriptor {
	return file_envoy_service_ratelimit_v2_rls_proto_enumTypes[0].Descriptor()
}

func (RateLimitResponse_Code) Type() protoreflect.EnumType {
	return &file_envoy_service_ratelimit_v2_rls_proto_enumTypes[0]
}

func (x RateLimitResponse_Code) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RateLimitResponse_Code.Descriptor instead.
func (RateLimitResponse_Code) EnumDescriptor() ([]byte, []int) {
	return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1, 0}
}

type RateLimitResponse_RateLimit_Unit int32

const (
	// The time unit is not known.
	RateLimitResponse_RateLimit_UNKNOWN RateLimitResponse_RateLimit_Unit = 0
	// The time unit representing a second.
	RateLimitResponse_RateLimit_SECOND RateLimitResponse_RateLimit_Unit = 1
	// The time unit representing a minute.
	RateLimitResponse_RateLimit_MINUTE RateLimitResponse_RateLimit_Unit = 2
	// The time unit representing an hour.
	RateLimitResponse_RateLimit_HOUR RateLimitResponse_RateLimit_Unit = 3
	// The time unit representing a day.
	RateLimitResponse_RateLimit_DAY RateLimitResponse_RateLimit_Unit = 4
)

// Enum value maps for RateLimitResponse_RateLimit_Unit.
var (
	RateLimitResponse_RateLimit_Unit_name = map[int32]string{
		0: "UNKNOWN",
		1: "SECOND",
		2: "MINUTE",
		3: "HOUR",
		4: "DAY",
	}
	RateLimitResponse_RateLimit_Unit_value = map[string]int32{
		"UNKNOWN": 0,
		"SECOND":  1,
		"MINUTE":  2,
		"HOUR":    3,
		"DAY":     4,
	}
)

func (x RateLimitResponse_RateLimit_Unit) Enum() *RateLimitResponse_RateLimit_Unit {
	p := new(RateLimitResponse_RateLimit_Unit)
	*p = x
	return p
}

func (x RateLimitResponse_RateLimit_Unit) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RateLimitResponse_RateLimit_Unit) Descriptor() protoreflect.EnumDescriptor {
	return file_envoy_service_ratelimit_v2_rls_proto_enumTypes[1].Descriptor()
}

func (RateLimitResponse_RateLimit_Unit) Type() protoreflect.EnumType {
	return &file_envoy_service_ratelimit_v2_rls_proto_enumTypes[1]
}

func (x RateLimitResponse_RateLimit_Unit) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RateLimitResponse_RateLimit_Unit.Descriptor instead.
func (RateLimitResponse_RateLimit_Unit) EnumDescriptor() ([]byte, []int) {
	return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1, 0, 0}
}

// Main message for a rate limit request. The rate limit service is designed to be fully generic
// in the sense that it can operate on arbitrary hierarchical key/value pairs. The loaded
// configuration will parse the request and find the most specific limit to apply. In addition,
// a RateLimitRequest can contain multiple "descriptors" to limit on. When multiple descriptors
// are provided, the server will limit on *ALL* of them and return an OVER_LIMIT response if any
// of them are over limit. This enables more complex application level rate limiting scenarios
// if desired.
type RateLimitRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// All rate limit requests must specify a domain. This enables the configuration to be per
	// application without fear of overlap. E.g., "envoy".
	Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	// All rate limit requests must specify at least one RateLimitDescriptor. Each descriptor is
	// processed by the service (see below). If any of the descriptors are over limit, the entire
	// request is considered to be over limit.
	Descriptors []*ratelimit.RateLimitDescriptor `protobuf:"bytes,2,rep,name=descriptors,proto3" json:"descriptors,omitempty"`
	// Rate limit requests can optionally specify the number of hits a request adds to the matched
	// limit. If the value is not set in the message, a request increases the matched limit by 1.
	HitsAddend    uint32 `protobuf:"varint,3,opt,name=hits_addend,json=hitsAddend,proto3" json:"hits_addend,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RateLimitRequest) Reset() {
	*x = RateLimitRequest{}
	mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RateLimitRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RateLimitRequest) ProtoMessage() {}

func (x *RateLimitRequest) ProtoReflect() protoreflect.Message {
	mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RateLimitRequest.ProtoReflect.Descriptor instead.
func (*RateLimitRequest) Descriptor() ([]byte, []int) {
	return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{0}
}

func (x *RateLimitRequest) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *RateLimitRequest) GetDescriptors() []*ratelimit.RateLimitDescriptor {
	if x != nil {
		return x.Descriptors
	}
	return nil
}

func (x *RateLimitRequest) GetHitsAddend() uint32 {
	if x != nil {
		return x.HitsAddend
	}
	return 0
}

// A response from a ShouldRateLimit call.
type RateLimitResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The overall response code which takes into account all of the descriptors that were passed
	// in the RateLimitRequest message.
	OverallCode RateLimitResponse_Code `protobuf:"varint,1,opt,name=overall_code,json=overallCode,proto3,enum=envoy.service.ratelimit.v2.RateLimitResponse_Code" json:"overall_code,omitempty"`
	// A list of DescriptorStatus messages which matches the length of the descriptor list passed
	// in the RateLimitRequest. This can be used by the caller to determine which individual
	// descriptors failed and/or what the currently configured limits are for all of them.
	Statuses []*RateLimitResponse_DescriptorStatus `protobuf:"bytes,2,rep,name=statuses,proto3" json:"statuses,omitempty"`
	// A list of headers to add to the response
	Headers []*core.HeaderValue `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"`
	// A list of headers to add to the request when forwarded
	RequestHeadersToAdd []*core.HeaderValue `protobuf:"bytes,4,rep,name=request_headers_to_add,json=requestHeadersToAdd,proto3" json:"request_headers_to_add,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *RateLimitResponse) Reset() {
	*x = RateLimitResponse{}
	mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RateLimitResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RateLimitResponse) ProtoMessage() {}

func (x *RateLimitResponse) ProtoReflect() protoreflect.Message {
	mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RateLimitResponse.ProtoReflect.Descriptor instead.
func (*RateLimitResponse) Descriptor() ([]byte, []int) {
	return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1}
}

func (x *RateLimitResponse) GetOverallCode() RateLimitResponse_Code {
	if x != nil {
		return x.OverallCode
	}
	return RateLimitResponse_UNKNOWN
}

func (x *RateLimitResponse) GetStatuses() []*RateLimitResponse_DescriptorStatus {
	if x != nil {
		return x.Statuses
	}
	return nil
}

func (x *RateLimitResponse) GetHeaders() []*core.HeaderValue {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *RateLimitResponse) GetRequestHeadersToAdd() []*core.HeaderValue {
	if x != nil {
		return x.RequestHeadersToAdd
	}
	return nil
}

// Defines an actual rate limit in terms of requests per unit of time and the unit itself.
type RateLimitResponse_RateLimit struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A name or description of this limit.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// The number of requests per unit of time.
	RequestsPerUnit uint32 `protobuf:"varint,1,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"`
	// The unit of time.
	Unit          RateLimitResponse_RateLimit_Unit `protobuf:"varint,2,opt,name=unit,proto3,enum=envoy.service.ratelimit.v2.RateLimitResponse_RateLimit_Unit" json:"unit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RateLimitResponse_RateLimit) Reset() {
	*x = RateLimitResponse_RateLimit{}
	mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RateLimitResponse_RateLimit) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RateLimitResponse_RateLimit) ProtoMessage() {}

func (x *RateLimitResponse_RateLimit) ProtoReflect() protoreflect.Message {
	mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RateLimitResponse_RateLimit.ProtoReflect.Descriptor instead.
func (*RateLimitResponse_RateLimit) Descriptor() ([]byte, []int) {
	return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1, 0}
}

func (x *RateLimitResponse_RateLimit) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *RateLimitResponse_RateLimit) GetRequestsPerUnit() uint32 {
	if x != nil {
		return x.RequestsPerUnit
	}
	return 0
}

func (x *RateLimitResponse_RateLimit) GetUnit() RateLimitResponse_RateLimit_Unit {
	if x != nil {
		return x.Unit
	}
	return RateLimitResponse_RateLimit_UNKNOWN
}

type RateLimitResponse_DescriptorStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The response code for an individual descriptor.
	Code RateLimitResponse_Code `protobuf:"varint,1,opt,name=code,proto3,enum=envoy.service.ratelimit.v2.RateLimitResponse_Code" json:"code,omitempty"`
	// The current limit as configured by the server. Useful for debugging, etc.
	CurrentLimit *RateLimitResponse_RateLimit `protobuf:"bytes,2,opt,name=current_limit,json=currentLimit,proto3" json:"current_limit,omitempty"`
	// The limit remaining in the current time unit.
	LimitRemaining uint32 `protobuf:"varint,3,opt,name=limit_remaining,json=limitRemaining,proto3" json:"limit_remaining,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *RateLimitResponse_DescriptorStatus) Reset() {
	*x = RateLimitResponse_DescriptorStatus{}
	mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RateLimitResponse_DescriptorStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RateLimitResponse_DescriptorStatus) ProtoMessage() {}

func (x *RateLimitResponse_DescriptorStatus) ProtoReflect() protoreflect.Message {
	mi := &file_envoy_service_ratelimit_v2_rls_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RateLimitResponse_DescriptorStatus.ProtoReflect.Descriptor instead.
func (*RateLimitResponse_DescriptorStatus) Descriptor() ([]byte, []int) {
	return file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP(), []int{1, 1}
}

func (x *RateLimitResponse_DescriptorStatus) GetCode() RateLimitResponse_Code {
	if x != nil {
		return x.Code
	}
	return RateLimitResponse_UNKNOWN
}

func (x *RateLimitResponse_DescriptorStatus) GetCurrentLimit() *RateLimitResponse_RateLimit {
	if x != nil {
		return x.CurrentLimit
	}
	return nil
}

func (x *RateLimitResponse_DescriptorStatus) GetLimitRemaining() uint32 {
	if x != nil {
		return x.LimitRemaining
	}
	return 0
}

var File_envoy_service_ratelimit_v2_rls_proto protoreflect.FileDescriptor

const file_envoy_service_ratelimit_v2_rls_proto_rawDesc = "" +
	"\n" +
	"$envoy/service/ratelimit/v2/rls.proto\x12\x1aenvoy.service.ratelimit.v2\x1a\x1cenvoy/api/v2/core/base.proto\x1a&envoy/api/v2/ratelimit/ratelimit.proto\x1a\x1eudpa/annotations/migrate.proto\x1a\x1dudpa/annotations/status.proto\"\x9a\x01\n" +
	"\x10RateLimitRequest\x12\x16\n" +
	"\x06domain\x18\x01 \x01(\tR\x06domain\x12M\n" +
	"\vdescriptors\x18\x02 \x03(\v2+.envoy.api.v2.ratelimit.RateLimitDescriptorR\vdescriptors\x12\x1f\n" +
	"\vhits_addend\x18\x03 \x01(\rR\n" +
	"hitsAddend\"\xe7\x06\n" +
	"\x11RateLimitResponse\x12U\n" +
	"\foverall_code\x18\x01 \x01(\x0e22.envoy.service.ratelimit.v2.RateLimitResponse.CodeR\voverallCode\x12Z\n" +
	"\bstatuses\x18\x02 \x03(\v2>.envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatusR\bstatuses\x12Y\n" +
	"\aheaders\x18\x03 \x03(\v2\x1e.envoy.api.v2.core.HeaderValueB\x1f\xf2\x98\xfe\x8f\x05\x19\n" +
	"\x17response_headers_to_addR\aheaders\x12S\n" +
	"\x16request_headers_to_add\x18\x04 \x03(\v2\x1e.envoy.api.v2.core.HeaderValueR\x13requestHeadersToAdd\x1a\xdd\x01\n" +
	"\tRateLimit\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12*\n" +
	"\x11requests_per_unit\x18\x01 \x01(\rR\x0frequestsPerUnit\x12P\n" +
	"\x04unit\x18\x02 \x01(\x0e2<.envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.UnitR\x04unit\">\n" +
	"\x04Unit\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\n" +
	"\n" +
	"\x06SECOND\x10\x01\x12\n" +
	"\n" +
	"\x06MINUTE\x10\x02\x12\b\n" +
	"\x04HOUR\x10\x03\x12\a\n" +
	"\x03DAY\x10\x04\x1a\xe1\x01\n" +
	"\x10DescriptorStatus\x12F\n" +
	"\x04code\x18\x01 \x01(\x0e22.envoy.service.ratelimit.v2.RateLimitResponse.CodeR\x04code\x12\\\n" +
	"\rcurrent_limit\x18\x02 \x01(\v27.envoy.service.ratelimit.v2.RateLimitResponse.RateLimitR\fcurrentLimit\x12'\n" +
	"\x0flimit_remaining\x18\x03 \x01(\rR\x0elimitRemaining\"+\n" +
	"\x04Code\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\x06\n" +
	"\x02OK\x10\x01\x12\x0e\n" +
	"\n" +
	"OVER_LIMIT\x10\x022\x84\x01\n" +
	"\x10RateLimitService\x12p\n" +
	"\x0fShouldRateLimit\x12,.envoy.service.ratelimit.v2.RateLimitRequest\x1a-.envoy.service.ratelimit.v2.RateLimitResponse\"\x00B\x8d\x01\xba\x80\xc8\xd1\x06\x02\x10\x01\n" +
	"(io.envoyproxy.envoy.service.ratelimit.v2B\bRlsProtoP\x01ZMgithub.com/envoyproxy/go-control-plane/envoy/service/ratelimit/v2;ratelimitv2b\x06proto3"

var (
	file_envoy_service_ratelimit_v2_rls_proto_rawDescOnce sync.Once
	file_envoy_service_ratelimit_v2_rls_proto_rawDescData []byte
)

func file_envoy_service_ratelimit_v2_rls_proto_rawDescGZIP() []byte {
	file_envoy_service_ratelimit_v2_rls_proto_rawDescOnce.Do(func() {
		file_envoy_service_ratelimit_v2_rls_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_envoy_service_ratelimit_v2_rls_proto_rawDesc), len(file_envoy_service_ratelimit_v2_rls_proto_rawDesc)))
	})
	return file_envoy_service_ratelimit_v2_rls_proto_rawDescData
}

var file_envoy_service_ratelimit_v2_rls_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_envoy_service_ratelimit_v2_rls_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_envoy_service_ratelimit_v2_rls_proto_goTypes = []any{
	(RateLimitResponse_Code)(0),                // 0: envoy.service.ratelimit.v2.RateLimitResponse.Code
	(RateLimitResponse_RateLimit_Unit)(0),      // 1: envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit
	(*RateLimitRequest)(nil),                   // 2: envoy.service.ratelimit.v2.RateLimitRequest
	(*RateLimitResponse)(nil),                  // 3: envoy.service.ratelimit.v2.RateLimitResponse
	(*RateLimitResponse_RateLimit)(nil),        // 4: envoy.service.ratelimit.v2.RateLimitResponse.RateLimit
	(*RateLimitResponse_DescriptorStatus)(nil), // 5: envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus
	(*ratelimit.RateLimitDescriptor)(nil),      // 6: envoy.api.v2.ratelimit.RateLimitDescriptor
	(*core.HeaderValue)(nil),                   // 7: envoy.api.v2.core.HeaderValue
}
var file_envoy_service_ratelimit_v2_rls_proto_depIdxs = []int32{
	6, // 0: envoy.service.ratelimit.v2.RateLimitRequest.descriptors:type_name -> envoy.api.v2.ratelimit.RateLimitDescriptor
	0, // 1: envoy.service.ratelimit.v2.RateLimitResponse.overall_code:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.Code
	5, // 2: envoy.service.ratelimit.v2.RateLimitResponse.statuses:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus
	7, // 3: envoy.service.ratelimit.v2.RateLimitResponse.headers:type_name -> envoy.api.v2.core.HeaderValue
	7, // 4: envoy.service.ratelimit.v2.RateLimitResponse.request_headers_to_add:type_name -> envoy.api.v2.core.HeaderValue
	1, // 5: envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.unit:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.RateLimit.Unit
	0, // 6: envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus.code:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.Code
	4, // 7: envoy.service.ratelimit.v2.RateLimitResponse.DescriptorStatus.current_limit:type_name -> envoy.service.ratelimit.v2.RateLimitResponse.RateLimit
	2, // 8: envoy.service.ratelimit.v2.RateLimitService.ShouldRateLimit:input_type -> envoy.service.ratelimit.v2.RateLimitRequest
	3, // 9: envoy.service.ratelimit.v2.RateLimitService.ShouldRateLimit:output_type -> envoy.service.ratelimit.v2.RateLimitResponse
	9, // [9:10] is the sub-list for method output_type
	8, // [8:9] is the sub-list for method input_type
	8, // [8:8] is the sub-list for extension type_name
	8, // [8:8] is the sub-list for extension extendee
	0, // [0:8] is the sub-list for field type_name
}

func init() { file_envoy_service_ratelimit_v2_rls_proto_init() }
func file_envoy_service_ratelimit_v2_rls_proto_init() {
	if File_envoy_service_ratelimit_v2_rls_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_service_ratelimit_v2_rls_proto_rawDesc), len(file_envoy_service_ratelimit_v2_rls_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_envoy_service_ratelimit_v2_rls_proto_goTypes,
		DependencyIndexes: file_envoy_service_ratelimit_v2_rls_proto_depIdxs,
		EnumInfos:         file_envoy_service_ratelimit_v2_rls_proto_enumTypes,
		MessageInfos:      file_envoy_service_ratelimit_v2_rls_proto_msgTypes,
	}.Build()
	File_envoy_service_ratelimit_v2_rls_proto = out.File
	file_envoy_service_ratelimit_v2_rls_proto_goTypes = nil
	file_envoy_service_ratelimit_v2_rls_proto_depIdxs = nil
}
