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 go_package = "github.com/envoyproxy/go-control-plane/envoy/extensions/rate_limit_descriptors/expr/v3;exprv3"; 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 ` for the set of // available attributes. // // .. code-block:: cpp // // ("", "") 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; } }