gitee.com/ks-custle/core-gm@v0.0.0-20230922171213-b83bdd97b62c/go-control-plane/envoy/extensions/common/ratelimit/v3/ratelimit.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.16.0
     5  // source: envoy/extensions/common/ratelimit/v3/ratelimit.proto
     6  
     7  package envoy_extensions_common_ratelimit_v3
     8  
     9  import (
    10  	_ "github.com/cncf/xds/go/udpa/annotations"
    11  	v3 "gitee.com/ks-custle/core-gm/go-control-plane/envoy/type/v3"
    12  	_ "github.com/envoyproxy/protoc-gen-validate/validate"
    13  	proto "github.com/golang/protobuf/proto"
    14  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    15  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    16  	reflect "reflect"
    17  	sync "sync"
    18  )
    19  
    20  const (
    21  	// Verify that this generated code is sufficiently up-to-date.
    22  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    23  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    24  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    25  )
    26  
    27  // This is a compile-time assertion that a sufficiently up-to-date version
    28  // of the legacy proto package is being used.
    29  const _ = proto.ProtoPackageIsVersion4
    30  
    31  // A RateLimitDescriptor is a list of hierarchical entries that are used by the service to
    32  // determine the final rate limit key and overall allowed limit. Here are some examples of how
    33  // they might be used for the domain "envoy".
    34  //
    35  // .. code-block:: cpp
    36  //
    37  //   ["authenticated": "false"], ["remote_address": "10.0.0.1"]
    38  //
    39  // What it does: Limits all unauthenticated traffic for the IP address 10.0.0.1. The
    40  // configuration supplies a default limit for the *remote_address* key. If there is a desire to
    41  // raise the limit for 10.0.0.1 or block it entirely it can be specified directly in the
    42  // configuration.
    43  //
    44  // .. code-block:: cpp
    45  //
    46  //   ["authenticated": "false"], ["path": "/foo/bar"]
    47  //
    48  // What it does: Limits all unauthenticated traffic globally for a specific path (or prefix if
    49  // configured that way in the service).
    50  //
    51  // .. code-block:: cpp
    52  //
    53  //   ["authenticated": "false"], ["path": "/foo/bar"], ["remote_address": "10.0.0.1"]
    54  //
    55  // What it does: Limits unauthenticated traffic to a specific path for a specific IP address.
    56  // Like (1) we can raise/block specific IP addresses if we want with an override configuration.
    57  //
    58  // .. code-block:: cpp
    59  //
    60  //   ["authenticated": "true"], ["client_id": "foo"]
    61  //
    62  // What it does: Limits all traffic for an authenticated client "foo"
    63  //
    64  // .. code-block:: cpp
    65  //
    66  //   ["authenticated": "true"], ["client_id": "foo"], ["path": "/foo/bar"]
    67  //
    68  // What it does: Limits traffic to a specific path for an authenticated client "foo"
    69  //
    70  // The idea behind the API is that (1)/(2)/(3) and (4)/(5) can be sent in 1 request if desired.
    71  // This enables building complex application scenarios with a generic backend.
    72  //
    73  // Optionally the descriptor can contain a limit override under a "limit" key, that specifies
    74  // the number of requests per unit to use instead of the number configured in the
    75  // rate limiting service.
    76  type RateLimitDescriptor struct {
    77  	state         protoimpl.MessageState
    78  	sizeCache     protoimpl.SizeCache
    79  	unknownFields protoimpl.UnknownFields
    80  
    81  	// Descriptor entries.
    82  	Entries []*RateLimitDescriptor_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
    83  	// Optional rate limit override to supply to the ratelimit service.
    84  	Limit *RateLimitDescriptor_RateLimitOverride `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"`
    85  }
    86  
    87  func (x *RateLimitDescriptor) Reset() {
    88  	*x = RateLimitDescriptor{}
    89  	if protoimpl.UnsafeEnabled {
    90  		mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[0]
    91  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
    92  		ms.StoreMessageInfo(mi)
    93  	}
    94  }
    95  
    96  func (x *RateLimitDescriptor) String() string {
    97  	return protoimpl.X.MessageStringOf(x)
    98  }
    99  
   100  func (*RateLimitDescriptor) ProtoMessage() {}
   101  
   102  func (x *RateLimitDescriptor) ProtoReflect() protoreflect.Message {
   103  	mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[0]
   104  	if protoimpl.UnsafeEnabled && x != nil {
   105  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   106  		if ms.LoadMessageInfo() == nil {
   107  			ms.StoreMessageInfo(mi)
   108  		}
   109  		return ms
   110  	}
   111  	return mi.MessageOf(x)
   112  }
   113  
   114  // Deprecated: Use RateLimitDescriptor.ProtoReflect.Descriptor instead.
   115  func (*RateLimitDescriptor) Descriptor() ([]byte, []int) {
   116  	return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{0}
   117  }
   118  
   119  func (x *RateLimitDescriptor) GetEntries() []*RateLimitDescriptor_Entry {
   120  	if x != nil {
   121  		return x.Entries
   122  	}
   123  	return nil
   124  }
   125  
   126  func (x *RateLimitDescriptor) GetLimit() *RateLimitDescriptor_RateLimitOverride {
   127  	if x != nil {
   128  		return x.Limit
   129  	}
   130  	return nil
   131  }
   132  
   133  type LocalRateLimitDescriptor struct {
   134  	state         protoimpl.MessageState
   135  	sizeCache     protoimpl.SizeCache
   136  	unknownFields protoimpl.UnknownFields
   137  
   138  	// Descriptor entries.
   139  	Entries []*RateLimitDescriptor_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
   140  	// Token Bucket algorithm for local ratelimiting.
   141  	TokenBucket *v3.TokenBucket `protobuf:"bytes,2,opt,name=token_bucket,json=tokenBucket,proto3" json:"token_bucket,omitempty"`
   142  }
   143  
   144  func (x *LocalRateLimitDescriptor) Reset() {
   145  	*x = LocalRateLimitDescriptor{}
   146  	if protoimpl.UnsafeEnabled {
   147  		mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[1]
   148  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   149  		ms.StoreMessageInfo(mi)
   150  	}
   151  }
   152  
   153  func (x *LocalRateLimitDescriptor) String() string {
   154  	return protoimpl.X.MessageStringOf(x)
   155  }
   156  
   157  func (*LocalRateLimitDescriptor) ProtoMessage() {}
   158  
   159  func (x *LocalRateLimitDescriptor) ProtoReflect() protoreflect.Message {
   160  	mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[1]
   161  	if protoimpl.UnsafeEnabled && x != nil {
   162  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   163  		if ms.LoadMessageInfo() == nil {
   164  			ms.StoreMessageInfo(mi)
   165  		}
   166  		return ms
   167  	}
   168  	return mi.MessageOf(x)
   169  }
   170  
   171  // Deprecated: Use LocalRateLimitDescriptor.ProtoReflect.Descriptor instead.
   172  func (*LocalRateLimitDescriptor) Descriptor() ([]byte, []int) {
   173  	return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{1}
   174  }
   175  
   176  func (x *LocalRateLimitDescriptor) GetEntries() []*RateLimitDescriptor_Entry {
   177  	if x != nil {
   178  		return x.Entries
   179  	}
   180  	return nil
   181  }
   182  
   183  func (x *LocalRateLimitDescriptor) GetTokenBucket() *v3.TokenBucket {
   184  	if x != nil {
   185  		return x.TokenBucket
   186  	}
   187  	return nil
   188  }
   189  
   190  type RateLimitDescriptor_Entry struct {
   191  	state         protoimpl.MessageState
   192  	sizeCache     protoimpl.SizeCache
   193  	unknownFields protoimpl.UnknownFields
   194  
   195  	// Descriptor key.
   196  	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   197  	// Descriptor value.
   198  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   199  }
   200  
   201  func (x *RateLimitDescriptor_Entry) Reset() {
   202  	*x = RateLimitDescriptor_Entry{}
   203  	if protoimpl.UnsafeEnabled {
   204  		mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[2]
   205  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   206  		ms.StoreMessageInfo(mi)
   207  	}
   208  }
   209  
   210  func (x *RateLimitDescriptor_Entry) String() string {
   211  	return protoimpl.X.MessageStringOf(x)
   212  }
   213  
   214  func (*RateLimitDescriptor_Entry) ProtoMessage() {}
   215  
   216  func (x *RateLimitDescriptor_Entry) ProtoReflect() protoreflect.Message {
   217  	mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[2]
   218  	if protoimpl.UnsafeEnabled && x != nil {
   219  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   220  		if ms.LoadMessageInfo() == nil {
   221  			ms.StoreMessageInfo(mi)
   222  		}
   223  		return ms
   224  	}
   225  	return mi.MessageOf(x)
   226  }
   227  
   228  // Deprecated: Use RateLimitDescriptor_Entry.ProtoReflect.Descriptor instead.
   229  func (*RateLimitDescriptor_Entry) Descriptor() ([]byte, []int) {
   230  	return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{0, 0}
   231  }
   232  
   233  func (x *RateLimitDescriptor_Entry) GetKey() string {
   234  	if x != nil {
   235  		return x.Key
   236  	}
   237  	return ""
   238  }
   239  
   240  func (x *RateLimitDescriptor_Entry) GetValue() string {
   241  	if x != nil {
   242  		return x.Value
   243  	}
   244  	return ""
   245  }
   246  
   247  // Override rate limit to apply to this descriptor instead of the limit
   248  // configured in the rate limit service. See :ref:`rate limit override
   249  // <config_http_filters_rate_limit_rate_limit_override>` for more information.
   250  type RateLimitDescriptor_RateLimitOverride struct {
   251  	state         protoimpl.MessageState
   252  	sizeCache     protoimpl.SizeCache
   253  	unknownFields protoimpl.UnknownFields
   254  
   255  	// The number of requests per unit of time.
   256  	RequestsPerUnit uint32 `protobuf:"varint,1,opt,name=requests_per_unit,json=requestsPerUnit,proto3" json:"requests_per_unit,omitempty"`
   257  	// The unit of time.
   258  	Unit v3.RateLimitUnit `protobuf:"varint,2,opt,name=unit,proto3,enum=envoy.type.v3.RateLimitUnit" json:"unit,omitempty"`
   259  }
   260  
   261  func (x *RateLimitDescriptor_RateLimitOverride) Reset() {
   262  	*x = RateLimitDescriptor_RateLimitOverride{}
   263  	if protoimpl.UnsafeEnabled {
   264  		mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[3]
   265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   266  		ms.StoreMessageInfo(mi)
   267  	}
   268  }
   269  
   270  func (x *RateLimitDescriptor_RateLimitOverride) String() string {
   271  	return protoimpl.X.MessageStringOf(x)
   272  }
   273  
   274  func (*RateLimitDescriptor_RateLimitOverride) ProtoMessage() {}
   275  
   276  func (x *RateLimitDescriptor_RateLimitOverride) ProtoReflect() protoreflect.Message {
   277  	mi := &file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[3]
   278  	if protoimpl.UnsafeEnabled && x != nil {
   279  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   280  		if ms.LoadMessageInfo() == nil {
   281  			ms.StoreMessageInfo(mi)
   282  		}
   283  		return ms
   284  	}
   285  	return mi.MessageOf(x)
   286  }
   287  
   288  // Deprecated: Use RateLimitDescriptor_RateLimitOverride.ProtoReflect.Descriptor instead.
   289  func (*RateLimitDescriptor_RateLimitOverride) Descriptor() ([]byte, []int) {
   290  	return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP(), []int{0, 1}
   291  }
   292  
   293  func (x *RateLimitDescriptor_RateLimitOverride) GetRequestsPerUnit() uint32 {
   294  	if x != nil {
   295  		return x.RequestsPerUnit
   296  	}
   297  	return 0
   298  }
   299  
   300  func (x *RateLimitDescriptor_RateLimitOverride) GetUnit() v3.RateLimitUnit {
   301  	if x != nil {
   302  		return x.Unit
   303  	}
   304  	return v3.RateLimitUnit_UNKNOWN
   305  }
   306  
   307  var File_envoy_extensions_common_ratelimit_v3_ratelimit_proto protoreflect.FileDescriptor
   308  
   309  var file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDesc = []byte{
   310  	0x0a, 0x34, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
   311  	0x6e, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69,
   312  	0x6d, 0x69, 0x74, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74,
   313  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78,
   314  	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
   315  	0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x1a, 0x22, 0x65, 0x6e,
   316  	0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x61, 0x74, 0x65,
   317  	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   318  	0x1a, 0x20, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x33, 0x2f,
   319  	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x70, 0x72, 0x6f,
   320  	0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
   321  	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   322  	0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69,
   323  	0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70,
   324  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76,
   325  	0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x89, 0x04,
   326  	0x0a, 0x13, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72,
   327  	0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x63, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73,
   328  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65,
   329  	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
   330  	0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61,
   331  	0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
   332  	0x72, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08,
   333  	0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x05, 0x6c, 0x69,
   334  	0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
   335  	0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
   336  	0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33,
   337  	0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69,
   338  	0x70, 0x74, 0x6f, 0x72, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x76,
   339  	0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x1a, 0x7a, 0x0a,
   340  	0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
   341  	0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 0x65,
   342  	0x79, 0x12, 0x1d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
   343  	0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
   344  	0x3a, 0x37, 0x9a, 0xc5, 0x88, 0x1e, 0x32, 0x0a, 0x30, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61,
   345  	0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e,
   346  	0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
   347  	0x74, 0x6f, 0x72, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x7b, 0x0a, 0x11, 0x52, 0x61, 0x74,
   348  	0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2a,
   349  	0x0a, 0x11, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x75,
   350  	0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65,
   351  	0x73, 0x74, 0x73, 0x50, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x3a, 0x0a, 0x04, 0x75, 0x6e,
   352  	0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   353  	0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d,
   354  	0x69, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01,
   355  	0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x3a, 0x31, 0x9a, 0xc5, 0x88, 0x1e, 0x2c, 0x0a, 0x2a, 0x65,
   356  	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x61, 0x74, 0x65,
   357  	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44,
   358  	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x22, 0xc8, 0x01, 0x0a, 0x18, 0x4c, 0x6f,
   359  	0x63, 0x61, 0x6c, 0x52, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63,
   360  	0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x63, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65,
   361  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e,
   362  	0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
   363  	0x6e, 0x2e, 0x72, 0x61, 0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x2e, 0x52,
   364  	0x61, 0x74, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
   365  	0x6f, 0x72, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02,
   366  	0x08, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x74,
   367  	0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
   368  	0x0b, 0x32, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76,
   369  	0x33, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x08, 0xfa,
   370  	0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x75,
   371  	0x63, 0x6b, 0x65, 0x74, 0x42, 0x4e, 0x0a, 0x32, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
   372  	0x70, 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65,
   373  	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x72, 0x61,
   374  	0x74, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x52, 0x61, 0x74, 0x65,
   375  	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xba, 0x80, 0xc8, 0xd1,
   376  	0x06, 0x02, 0x10, 0x02, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   377  }
   378  
   379  var (
   380  	file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescOnce sync.Once
   381  	file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescData = file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDesc
   382  )
   383  
   384  func file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescGZIP() []byte {
   385  	file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescOnce.Do(func() {
   386  		file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescData)
   387  	})
   388  	return file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDescData
   389  }
   390  
   391  var file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
   392  var file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_goTypes = []interface{}{
   393  	(*RateLimitDescriptor)(nil),                   // 0: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor
   394  	(*LocalRateLimitDescriptor)(nil),              // 1: envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor
   395  	(*RateLimitDescriptor_Entry)(nil),             // 2: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry
   396  	(*RateLimitDescriptor_RateLimitOverride)(nil), // 3: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride
   397  	(*v3.TokenBucket)(nil),                        // 4: envoy.type.v3.TokenBucket
   398  	(v3.RateLimitUnit)(0),                         // 5: envoy.type.v3.RateLimitUnit
   399  }
   400  var file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_depIdxs = []int32{
   401  	2, // 0: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.entries:type_name -> envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry
   402  	3, // 1: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.limit:type_name -> envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride
   403  	2, // 2: envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor.entries:type_name -> envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.Entry
   404  	4, // 3: envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor.token_bucket:type_name -> envoy.type.v3.TokenBucket
   405  	5, // 4: envoy.extensions.common.ratelimit.v3.RateLimitDescriptor.RateLimitOverride.unit:type_name -> envoy.type.v3.RateLimitUnit
   406  	5, // [5:5] is the sub-list for method output_type
   407  	5, // [5:5] is the sub-list for method input_type
   408  	5, // [5:5] is the sub-list for extension type_name
   409  	5, // [5:5] is the sub-list for extension extendee
   410  	0, // [0:5] is the sub-list for field type_name
   411  }
   412  
   413  func init() { file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_init() }
   414  func file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_init() {
   415  	if File_envoy_extensions_common_ratelimit_v3_ratelimit_proto != nil {
   416  		return
   417  	}
   418  	if !protoimpl.UnsafeEnabled {
   419  		file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   420  			switch v := v.(*RateLimitDescriptor); i {
   421  			case 0:
   422  				return &v.state
   423  			case 1:
   424  				return &v.sizeCache
   425  			case 2:
   426  				return &v.unknownFields
   427  			default:
   428  				return nil
   429  			}
   430  		}
   431  		file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   432  			switch v := v.(*LocalRateLimitDescriptor); i {
   433  			case 0:
   434  				return &v.state
   435  			case 1:
   436  				return &v.sizeCache
   437  			case 2:
   438  				return &v.unknownFields
   439  			default:
   440  				return nil
   441  			}
   442  		}
   443  		file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   444  			switch v := v.(*RateLimitDescriptor_Entry); i {
   445  			case 0:
   446  				return &v.state
   447  			case 1:
   448  				return &v.sizeCache
   449  			case 2:
   450  				return &v.unknownFields
   451  			default:
   452  				return nil
   453  			}
   454  		}
   455  		file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   456  			switch v := v.(*RateLimitDescriptor_RateLimitOverride); i {
   457  			case 0:
   458  				return &v.state
   459  			case 1:
   460  				return &v.sizeCache
   461  			case 2:
   462  				return &v.unknownFields
   463  			default:
   464  				return nil
   465  			}
   466  		}
   467  	}
   468  	type x struct{}
   469  	out := protoimpl.TypeBuilder{
   470  		File: protoimpl.DescBuilder{
   471  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   472  			RawDescriptor: file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDesc,
   473  			NumEnums:      0,
   474  			NumMessages:   4,
   475  			NumExtensions: 0,
   476  			NumServices:   0,
   477  		},
   478  		GoTypes:           file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_goTypes,
   479  		DependencyIndexes: file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_depIdxs,
   480  		MessageInfos:      file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_msgTypes,
   481  	}.Build()
   482  	File_envoy_extensions_common_ratelimit_v3_ratelimit_proto = out.File
   483  	file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_rawDesc = nil
   484  	file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_goTypes = nil
   485  	file_envoy_extensions_common_ratelimit_v3_ratelimit_proto_depIdxs = nil
   486  }