package xds.type.matcher.v3

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

message CelMatcher

cel.proto:30

Performs a match by evaluating a `Common Expression Language <https://github.com/google/cel-spec>`_ (CEL) expression against the standardized set of :ref:`HTTP attributes <arch_overview_attributes>` specified via ``HttpAttributesCelMatchInput``. .. attention:: The match is ``true``, iff the result of the evaluation is a bool AND true. In all other cases, the match is ``false``, including but not limited to: non-bool types, ``false``, ``null``,`` int(1)``, etc. In case CEL expression raises an error, the result of the evaluation is interpreted "no match". Refer to :ref:`Unified Matcher API <envoy_v3_api_msg_.xds.type.matcher.v3.Matcher>` documentation for usage details. [#comment: envoy.matching.matchers.cel_matcher]

message DoubleRangeMatcher

range.proto:55

Specifies a set of ranges for matching a double number and the associated match actions.

message DoubleRangeMatcher.RangeMatcher

range.proto:57

Specifies a list of number ranges and a match action.

Used in: DoubleRangeMatcher

message HttpAttributesCelMatchInput

http_inputs.proto:22

Specifies that matching should be performed on the set of :ref:`HTTP attributes <arch_overview_attributes>`. The attributes will be exposed via `Common Expression Language <https://github.com/google/cel-spec>`_ runtime to associated CEL matcher. Refer to :ref:`Unified Matcher API <envoy_v3_api_msg_.xds.type.matcher.v3.Matcher>` documentation for usage details. [#comment: envoy.matching.inputs.cel_data_input]

(message has no fields)

message IPMatcher

ip.proto:21

Matches a specific IP address against a set of possibly overlapping subnets using a trie.

message IPMatcher.IPRangeMatcher

ip.proto:23

Specifies a list of IP address ranges and a match action.

Used in: IPMatcher

message Int32RangeMatcher

range.proto:37

Specifies a set of ranges for matching an int32 number and the associated match actions.

message Int32RangeMatcher.RangeMatcher

range.proto:39

Specifies a list of number ranges and a match action.

Used in: Int32RangeMatcher

message Int64RangeMatcher

range.proto:19

Specifies a set of ranges for matching an int64 number and the associated match actions.

message Int64RangeMatcher.RangeMatcher

range.proto:21

Specifies a list of number ranges and a match action.

Used in: Int64RangeMatcher

message ListStringMatcher

string.proto:69

Specifies a list of ways to match a string.

message Matcher

matcher.proto:22

A matcher, which may traverse a matching tree in order to result in a match action. During matching, the tree will be traversed until a match is found, or if no match is found the action specified by the most specific on_no_match will be evaluated. As an on_no_match might result in another matching tree being evaluated, this process might repeat several times until the final OnMatch (or no match) is decided.

Used in: envoy.config.listener.v3.Listener, envoy.config.route.v3.VirtualHost, envoy.extensions.common.matching.v3.ExtensionWithMatcher, envoy.extensions.common.matching.v3.ExtensionWithMatcherPerRoute, envoy.extensions.filters.http.custom_response.v3.CustomResponse, envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaFilterConfig, envoy.extensions.filters.http.rate_limit_quota.v3.RateLimitQuotaOverride, envoy.extensions.filters.http.rbac.v3.RBAC, envoy.extensions.filters.network.generic_proxy.v3.RouteConfiguration, envoy.extensions.filters.network.generic_proxy.v3.VirtualHost, envoy.extensions.filters.network.rbac.v3.RBAC, envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig, Matcher.OnMatch

message Matcher.MatcherList

matcher.proto:43

A linear list of field matchers. The field matchers are evaluated in order, and the first match wins.

Used in: Matcher

message Matcher.MatcherList.FieldMatcher

matcher.proto:87

An individual matcher.

Used in: MatcherList

message Matcher.MatcherList.Predicate

matcher.proto:45

Predicate to determine if a match is successful.

Used in: FieldMatcher, Predicate.PredicateList

message Matcher.MatcherList.Predicate.PredicateList

matcher.proto:65

A list of two or more matchers. Used to allow using a list within a oneof.

Used in: Predicate

message Matcher.MatcherList.Predicate.SinglePredicate

matcher.proto:47

Predicate for a single input field.

Used in: Predicate

message Matcher.MatcherTree

matcher.proto:99

Used in: Matcher

message Matcher.MatcherTree.MatchMap

matcher.proto:101

A map of configured matchers. Used to allow using a map within a oneof.

Used in: MatcherTree

message Matcher.OnMatch

matcher.proto:24

What to do if a match is successful.

Used in: DoubleRangeMatcher.RangeMatcher, IPMatcher.IPRangeMatcher, Int32RangeMatcher.RangeMatcher, Int64RangeMatcher.RangeMatcher, Matcher, MatcherList.FieldMatcher, MatcherTree.MatchMap, ServerNameMatcher.DomainMatcher

message RegexMatcher

regex.proto:15

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

Used in: StringMatcher

message RegexMatcher.GoogleRE2

regex.proto:34

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 has no fields)

message ServerNameMatcher

domain.proto:21

Matches a fully qualified server name against a set of domain names with optional wildcards.

message ServerNameMatcher.DomainMatcher

domain.proto:26

Specifies a set of exact and wildcard domains and a match action. The wildcard symbol ``*`` must appear at most once as the left-most part of the domain on a dot border. The wildcard matches one or more non-empty domain parts.

Used in: ServerNameMatcher

message StringMatcher

string.proto:19

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

Used in: ListStringMatcher, Matcher.MatcherList.Predicate.SinglePredicate