Generic Proxy Route Matcher Configuration (proto)

Warning

This API feature is currently work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.

extensions.filters.network.generic_proxy.matcher.v3.ServiceMatchInput

[extensions.filters.network.generic_proxy.matcher.v3.ServiceMatchInput proto]

Used to match request service of the downstream request. Only applicable if a service provided by the application protocol. This is deprecated and should be replaced by HostMatchInput. This is kept for backward compatibility.

extensions.filters.network.generic_proxy.matcher.v3.HostMatchInput

[extensions.filters.network.generic_proxy.matcher.v3.HostMatchInput proto]

Used to match request host of the generic downstream request. Only applicable if a host provided by the application protocol. This is same with the ServiceMatchInput and this should be preferred over ServiceMatchInput.

extensions.filters.network.generic_proxy.matcher.v3.PathMatchInput

[extensions.filters.network.generic_proxy.matcher.v3.PathMatchInput proto]

Used to match request path of the generic downstream request. Only applicable if a path provided by the application protocol.

extensions.filters.network.generic_proxy.matcher.v3.MethodMatchInput

[extensions.filters.network.generic_proxy.matcher.v3.MethodMatchInput proto]

Used to match request method of the generic downstream request. Only applicable if a method provided by the application protocol.

extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput

[extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput proto]

Used to match an arbitrary property of the generic downstream request. These properties are populated by the codecs of application protocols.

{
  "property_name": ...
}
property_name

(string, REQUIRED) The property name to match on.

extensions.filters.network.generic_proxy.matcher.v3.RequestMatchInput

[extensions.filters.network.generic_proxy.matcher.v3.RequestMatchInput proto]

Used to match an whole generic downstream request.

extensions.filters.network.generic_proxy.matcher.v3.KeyValueMatchEntry

[extensions.filters.network.generic_proxy.matcher.v3.KeyValueMatchEntry proto]

Used to match an arbitrary key-value pair for headers, trailers or properties.

{
  "name": ...,
  "string_match": {...}
}
name

(string, REQUIRED) The key name to match on.

string_match

(type.matcher.v3.StringMatcher, REQUIRED) The key value pattern.

extensions.filters.network.generic_proxy.matcher.v3.RequestMatcher

[extensions.filters.network.generic_proxy.matcher.v3.RequestMatcher proto]

Custom matcher to match on the generic downstream request. This is used to match multiple fields of the downstream request and avoid complex combinations of HostMatchInput, PathMatchInput, MethodMatchInput and PropertyMatchInput.

{
  "host": {...},
  "path": {...},
  "method": {...},
  "properties": []
}
host

(type.matcher.v3.StringMatcher) Optional host pattern to match on. If not specified, any host will match.

path

(type.matcher.v3.StringMatcher) Optional path pattern to match on. If not specified, any path will match.

method

(type.matcher.v3.StringMatcher) Optional method pattern to match on. If not specified, any method will match.

properties

(repeated extensions.filters.network.generic_proxy.matcher.v3.KeyValueMatchEntry) Optional arbitrary properties to match on. If not specified, any properties will match. The key is the property name and the value is the property value to match on.