rate limit: add computed descriptors (#14448)
Signed-off-by: Kuat Yessenov <kuat@google.com> Mirrored from https://github.com/envoyproxy/envoy @ 876a36368b0617b43977abfc37d2b5af05e7b1b2pull/624/head
parent
b4060dfa14
commit
8c6115ddd1
6 changed files with 63 additions and 2 deletions
@ -0,0 +1,12 @@ |
||||
# DO NOT EDIT. This file is generated by tools/proto_format/proto_sync.py. |
||||
|
||||
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") |
||||
|
||||
licenses(["notice"]) # Apache 2 |
||||
|
||||
api_proto_package( |
||||
deps = [ |
||||
"@com_github_cncf_udpa//udpa/annotations:pkg", |
||||
"@com_google_googleapis//google/api/expr/v1alpha1:syntax_proto", |
||||
], |
||||
) |
@ -0,0 +1,41 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package envoy.extensions.rate_limit_descriptors.expr.v3; |
||||
|
||||
import "google/api/expr/v1alpha1/syntax.proto"; |
||||
|
||||
import "udpa/annotations/status.proto"; |
||||
import "validate/validate.proto"; |
||||
|
||||
option java_package = "io.envoyproxy.envoy.extensions.rate_limit_descriptors.expr.v3"; |
||||
option java_outer_classname = "ExprProto"; |
||||
option java_multiple_files = true; |
||||
option (udpa.annotations.file_status).package_version_status = ACTIVE; |
||||
|
||||
// [#protodoc-title: Rate limit descriptor expression] |
||||
// [#extension: envoy.rate_limit_descriptors.expr] |
||||
|
||||
// The following descriptor entry is appended with a value computed |
||||
// from a symbolic Common Expression Language expression. |
||||
// See :ref:`attributes <arch_overview_attributes>` for the set of |
||||
// available attributes. |
||||
// |
||||
// .. code-block:: cpp |
||||
// |
||||
// ("<descriptor_key>", "<expression_value>") |
||||
message Descriptor { |
||||
// The key to use in the descriptor entry. |
||||
string descriptor_key = 1 [(validate.rules).string = {min_len: 1}]; |
||||
|
||||
// If set to true, Envoy skips the descriptor if the expression evaluates to an error. |
||||
// By default, the rate limit is not applied when an expression produces an error. |
||||
bool skip_if_error = 2; |
||||
|
||||
oneof expr_specifier { |
||||
// Expression in a text form, e.g. "connection.requested_server_name". |
||||
string text = 3 [(validate.rules).string = {min_len: 1}]; |
||||
|
||||
// Parsed expression in AST form. |
||||
google.api.expr.v1alpha1.Expr parsed = 4; |
||||
} |
||||
} |
Loading…
Reference in new issue