package envoy.type.matcher.v3

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message AddressMatcher

address.proto:20

Match an IP against a repeated CIDR range. This matcher is intended to be used in other matchers, for example in the filter state matcher to match a filter state object as an IP.

Used in: FilterStateMatcher

message DoubleMatcher

number.proto:20

Specifies the way to match a double value.

Used in: ValueMatcher

message FilterStateMatcher

filter_state.proto:20

FilterStateMatcher provides a general interface for matching the filter state objects.

Used in: config.rbac.v3.Principal, config.route.v3.RouteMatch

message HttpRequestHeaderMatchInput

http_inputs.proto:22

Match input indicates that matching should be done on a specific request header. The resulting input string will be all headers for the given key joined by a comma, e.g. if the request contains two 'foo' headers with value 'bar' and 'baz', the input string will be 'bar,baz'. [#comment:TODO(snowp): Link to unified matching docs.] [#extension: envoy.matching.inputs.request_headers]

message HttpRequestQueryParamMatchInput

http_inputs.proto:68

Match input indicates that matching should be done on a specific query parameter. The resulting input string will be the first query parameter for the value 'query_param'. [#extension: envoy.matching.inputs.query_params]

message HttpRequestTrailerMatchInput

http_inputs.proto:34

Match input indicates that matching should be done on a specific request trailer. The resulting input string will be all headers for the given key joined by a comma, e.g. if the request contains two 'foo' headers with value 'bar' and 'baz', the input string will be 'bar,baz'. [#comment:TODO(snowp): Link to unified matching docs.] [#extension: envoy.matching.inputs.request_trailers]

message HttpResponseHeaderMatchInput

http_inputs.proto:46

Match input indicating that matching should be done on a specific response header. The resulting input string will be all headers for the given key joined by a comma, e.g. if the response contains two 'foo' headers with value 'bar' and 'baz', the input string will be 'bar,baz'. [#comment:TODO(snowp): Link to unified matching docs.] [#extension: envoy.matching.inputs.response_headers]

message HttpResponseStatusCodeClassMatchInput

status_code_input.proto:22

Match input indicates that the matching should be done on the class of the response status code. For eg: 1xx, 2xx, 3xx, 4xx or 5xx.

(message has no fields)

message HttpResponseStatusCodeMatchInput

status_code_input.proto:17

Match input indicates that matching should be done on the response status code.

(message has no fields)

message HttpResponseTrailerMatchInput

http_inputs.proto:58

Match input indicates that matching should be done on a specific response trailer. The resulting input string will be all headers for the given key joined by a comma, e.g. if the request contains two 'foo' headers with value 'bar' and 'baz', the input string will be 'bar,baz'. [#comment:TODO(snowp): Link to unified matching docs.] [#extension: envoy.matching.inputs.response_trailers]

message ListMatcher

value.proto:66

Specifies the way to match a list value.

Used in: ValueMatcher

message ListStringMatcher

string.proto:79

Specifies a list of ways to match a string.

Used in: config.metrics.v3.StatsMatcher, extensions.filters.http.ext_authz.v3.AuthorizationRequest, extensions.filters.http.ext_authz.v3.AuthorizationResponse, extensions.filters.http.ext_authz.v3.ExtAuthz, extensions.filters.http.ext_proc.v3.HeaderForwardingRules

message MetadataMatcher

metadata.proto:79

[#next-major-version: MetadataMatcher should use StructMatcher]

Used in: config.accesslog.v3.MetadataFilter, config.rbac.v3.Permission, config.rbac.v3.Principal, config.rbac.v3.SourcedMetadata, config.route.v3.RouteMatch, extensions.filters.http.ext_authz.v3.ExtAuthz, extensions.filters.network.ext_authz.v3.ExtAuthz

message MetadataMatcher.PathSegment

metadata.proto:85

Specifies the segment in a path to retrieve value from Metadata. Note: Currently it's not supported to retrieve a value from a list in Metadata. This means that if the segment key refers to a list, it has to be the last segment in a path.

Used in: MetadataMatcher

message NodeMatcher

node.proto:21

Specifies the way to match a Node. The match follows AND semantics.

Used in: service.status.v3.ClientStatusRequest

message OrMatcher

value.proto:78

Specifies a list of alternatives for the match.

Used in: ValueMatcher

message PathMatcher

path.proto:20

Specifies the way to match a path on HTTP request.

Used in: config.rbac.v3.Permission, config.rbac.v3.Principal, extensions.filters.http.oauth2.v3.OAuth2Config

message RegexMatchAndSubstitute

regex.proto:71

Describes how to match a string and then produce a new string using a regular expression and a substitution string.

Used in: config.route.v3.RedirectAction, config.route.v3.RouteAction, config.route.v3.RouteAction.HashPolicy.Header, extensions.filters.http.header_to_metadata.v3.Config.KeyValuePair, extensions.filters.network.thrift_proxy.filters.header_to_metadata.v3.HeaderToMetadata.KeyValuePair, extensions.filters.network.thrift_proxy.filters.payload_to_metadata.v3.PayloadToMetadata.KeyValuePair

message RegexMatcher

regex.proto:21

A regex matcher designed for safety when used with untrusted input.

Used in: config.common.mutation_rules.v3.HeaderMutationRules, config.route.v3.HeaderMatcher, config.route.v3.RouteMatch, extensions.filters.http.json_to_metadata.v3.JsonToMetadata.MatchRules, RegexMatchAndSubstitute, StringMatcher

message RegexMatcher.GoogleRE2

regex.proto:37

Google's `RE2 <https://github.com/google/re2>`_ regex engine. The regex string must adhere to the documented `syntax <https://github.com/google/re2/wiki/Syntax>`_. The engine is designed to complete execution in linear time as well as limit the amount of memory used. Envoy supports program size checking via runtime. The runtime keys ``re2.max_program_size.error_level`` and ``re2.max_program_size.warn_level`` can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. ``re2.max_program_size.error_level`` defaults to 100, and ``re2.max_program_size.warn_level`` has no default if unset (will not check/log a warning). Envoy emits two stats for tracking the program size of regexes: the histogram ``re2.program_size``, which records the program size, and the counter ``re2.exceeded_warn_level``, which is incremented each time the program size exceeds the warn level threshold.

Used in: RegexMatcher

message StringMatcher

string.proto:23

Specifies the way to match a string. [#next-free-field: 9]

Used in: config.common.matcher.v3.Matcher.MatcherList.Predicate.SinglePredicate, config.core.v3.HealthCheck.HttpHealthCheck, config.core.v3.Http1ProtocolOptions, config.metrics.v3.HistogramBucketSettings, config.rbac.v3.Permission, config.rbac.v3.Principal.Authenticated, config.route.v3.CorsPolicy, config.route.v3.HeaderMatcher, config.route.v3.QueryParameterMatcher, data.dns.v3.DnsTable, extensions.filters.http.aws_request_signing.v3.AwsRequestSigning, extensions.filters.http.cache.v3.CacheConfig, extensions.filters.http.cors.v3.CorsPolicy, extensions.filters.http.csrf.v3.CsrfPolicy, extensions.filters.http.jwt_authn.v3.JwtProvider, extensions.filters.network.dubbo_proxy.v3.MethodMatch, extensions.filters.network.generic_proxy.matcher.v3.KeyValueMatchEntry, extensions.filters.network.generic_proxy.matcher.v3.RequestMatcher, extensions.transport_sockets.tls.v3.CertificateValidationContext, extensions.transport_sockets.tls.v3.SubjectAltNameMatcher, FilterStateMatcher, ListStringMatcher, NodeMatcher, PathMatcher, ValueMatcher

message StructMatcher

struct.proto:70

StructMatcher provides a general interface to check if a given value is matched in google.protobuf.Struct. It uses ``path`` to retrieve the value from the struct and then check if it's matched to the specified value. For example, for the following Struct: .. code-block:: yaml fields: a: struct_value: fields: b: struct_value: fields: c: string_value: pro t: list_value: values: - string_value: m - string_value: n The following MetadataMatcher is matched as the path [a, b, c] will retrieve a string value "pro" from the Metadata which is matched to the specified prefix match. .. code-block:: yaml path: - key: a - key: b - key: c value: string_match: prefix: pr The following StructMatcher is matched as the code will match one of the string values in the list at the path [a, t]. .. code-block:: yaml path: - key: a - key: t value: list_match: one_of: string_match: exact: m An example use of StructMatcher is to match metadata in envoy.v*.core.Node.

Used in: NodeMatcher

message StructMatcher.PathSegment

struct.proto:74

Specifies the segment in a path to retrieve value from Struct.

Used in: StructMatcher

message ValueMatcher

value.proto:23

Specifies the way to match a ProtobufWkt::Value. Primitive values and ListValue are supported. StructValue is not supported and is always not matched. [#next-free-field: 8]

Used in: extensions.matching.input_matchers.metadata.v3.Metadata, ListMatcher, MetadataMatcher, OrMatcher, StructMatcher

message ValueMatcher.NullMatch

value.proto:27

NullMatch is an empty message to specify a null value.

Used in: ValueMatcher

(message has no fields)