...
1syntax = "proto3";
2
3package envoy.config.ratelimit.v3;
4
5import "envoy/config/core/v3/config_source.proto";
6import "envoy/config/core/v3/grpc_service.proto";
7
8import "udpa/annotations/status.proto";
9import "udpa/annotations/versioning.proto";
10import "validate/validate.proto";
11
12option java_package = "io.envoyproxy.envoy.config.ratelimit.v3";
13option java_outer_classname = "RlsProto";
14option java_multiple_files = true;
15option (udpa.annotations.file_status).package_version_status = ACTIVE;
16
17// [#protodoc-title: Rate limit service]
18
19// Rate limit :ref:`configuration overview <config_rate_limit_service>`.
20// [#next-free-field: 6]
21message RateLimitServiceConfig {
22 option (udpa.annotations.versioning).previous_message_type =
23 "envoy.config.ratelimit.v2.RateLimitServiceConfig";
24
25 reserved 1, 3;
26
27 // Specifies the gRPC service that hosts the rate limit service. The client
28 // will connect to this cluster when it needs to make rate limit service
29 // requests.
30 core.v3.GrpcService grpc_service = 2 [(validate.rules).message = {required: true}];
31
32 // API version for rate limit transport protocol. This describes the rate limit gRPC endpoint and
33 // version of messages used on the wire. If set to `V2`, then the `use_alpha` option will instead
34 // select the old alpha protocol.
35 core.v3.ApiVersion transport_api_version = 4 [(validate.rules).enum = {defined_only: true}];
36
37 // API version for rate limit transport protocol. If `transport_api_version` is set to `V2`, then
38 // this will instead select the alpha version of the V2 API; `pb.lyft.ratelimit.RateLimitService`
39 // rather than the final V2 API `envoy.service.ratelimit.v2.RateLimitService`. This setting has
40 // no affect if `transport_api_version` is set to `V3`.
41 bool use_alpha = 5;
42}
View as plain text