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