Class RouteMatch
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.route.v3.RouteMatch
- All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RouteMatchOrBuilder, Serializable
@Generated
public final class RouteMatch
extends com.google.protobuf.GeneratedMessage
implements RouteMatchOrBuilder
[#next-free-field: 16]Protobuf type
envoy.config.route.v3.RouteMatch- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class[#next-free-field: 16]static final classAn extensible message for matching CONNECT or CONNECT-UDP requests.static interfacestatic final classProtobuf typeenvoy.config.route.v3.RouteMatch.GrpcRouteMatchOptionsstatic interfacestatic enumstatic final classProtobuf typeenvoy.config.route.v3.RouteMatch.TlsContextMatchOptionsstatic interfaceNested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT,BuilderT>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT, T>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage
com.google.protobuf.AbstractMessage.BuilderParentNested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intstatic final intprivate com.google.protobuf.BoolValuestatic final intprivate static final RouteMatchstatic final intprivate List<MetadataMatcher> private RouteMatch.GrpcRouteMatchOptionsstatic final intprivate List<HeaderMatcher> static final intprivate byteprivate static final com.google.protobuf.Parser<RouteMatch> static final intstatic final intstatic final intprivate Objectprivate intstatic final intstatic final intprivate List<QueryParameterMatcher> static final intprivate RuntimeFractionalPercentstatic final intprivate static final longstatic final intFields inherited from class com.google.protobuf.GeneratedMessage
alwaysUseFieldBuilders, loggedPre22TypeNames, unknownFieldsFields inherited from class com.google.protobuf.AbstractMessage
memoizedSizeFields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateprivateRouteMatch(com.google.protobuf.GeneratedMessage.Builder<?> builder) -
Method Summary
Modifier and TypeMethodDescriptionbooleancom.google.protobuf.BoolValueIndicates that prefix/path matching should be case sensitive.com.google.protobuf.BoolValueOrBuilderIndicates that prefix/path matching should be case sensitive.If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.static RouteMatchstatic final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorgetDynamicMetadata(int index) Specifies a set of dynamic metadata matchers on which the route should match.intSpecifies a set of dynamic metadata matchers on which the route should match.Specifies a set of dynamic metadata matchers on which the route should match.getDynamicMetadataOrBuilder(int index) Specifies a set of dynamic metadata matchers on which the route should match.List<? extends MetadataMatcherOrBuilder> Specifies a set of dynamic metadata matchers on which the route should match.getGrpc()If specified, only gRPC requests will be matched.If specified, only gRPC requests will be matched.getHeaders(int index) Specifies a set of headers that the route should match on.intSpecifies a set of headers that the route should match on.Specifies a set of headers that the route should match on.getHeadersOrBuilder(int index) Specifies a set of headers that the route should match on.List<? extends HeaderMatcherOrBuilder> Specifies a set of headers that the route should match on.com.google.protobuf.Parser<RouteMatch> getPath()If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.com.google.protobuf.ByteStringIf specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.[#extension-category: envoy.path.match][#extension-category: envoy.path.match]If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``com.google.protobuf.ByteStringIf specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.com.google.protobuf.ByteStringIf specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.getQueryParameters(int index) Specifies a set of URL query parameters on which the route should match.intSpecifies a set of URL query parameters on which the route should match.Specifies a set of URL query parameters on which the route should match.getQueryParametersOrBuilder(int index) Specifies a set of URL query parameters on which the route should match.List<? extends QueryParameterMatcherOrBuilder> Specifies a set of URL query parameters on which the route should match.Indicates that the route should additionally match on a runtime key.Indicates that the route should additionally match on a runtime key.If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed.If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed.intIf specified, the client tls context will be matched against the defined match options.If specified, the client tls context will be matched against the defined match options.booleanIndicates that prefix/path matching should be case sensitive.booleanIf this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.booleanhasGrpc()If specified, only gRPC requests will be matched.inthashCode()booleanhasPath()If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.boolean[#extension-category: envoy.path.match]booleanIf specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``booleanIf specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.booleanIndicates that the route should additionally match on a runtime key.booleanIf specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed.booleanIf specified, the client tls context will be matched against the defined match options.protected com.google.protobuf.GeneratedMessage.FieldAccessorTablefinal booleanstatic RouteMatch.Builderstatic RouteMatch.BuildernewBuilder(RouteMatch prototype) protected RouteMatch.BuildernewBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) static RouteMatchparseDelimitedFrom(InputStream input) static RouteMatchparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatchparseFrom(byte[] data) static RouteMatchparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatchparseFrom(com.google.protobuf.ByteString data) static RouteMatchparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatchparseFrom(com.google.protobuf.CodedInputStream input) static RouteMatchparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatchparseFrom(InputStream input) static RouteMatchparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatchparseFrom(ByteBuffer data) static RouteMatchparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser<RouteMatch> parser()voidwriteTo(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessage
computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeExtensionsImmutable, makeMutableCopy, makeMutableCopy, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTagMethods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashFields, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeToMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
bitField0_
private int bitField0_ -
pathSpecifierCase_
private int pathSpecifierCase_ -
pathSpecifier_
-
PREFIX_FIELD_NUMBER
public static final int PREFIX_FIELD_NUMBER- See Also:
-
PATH_FIELD_NUMBER
public static final int PATH_FIELD_NUMBER- See Also:
-
SAFE_REGEX_FIELD_NUMBER
public static final int SAFE_REGEX_FIELD_NUMBER- See Also:
-
CONNECT_MATCHER_FIELD_NUMBER
public static final int CONNECT_MATCHER_FIELD_NUMBER- See Also:
-
PATH_SEPARATED_PREFIX_FIELD_NUMBER
public static final int PATH_SEPARATED_PREFIX_FIELD_NUMBER- See Also:
-
PATH_MATCH_POLICY_FIELD_NUMBER
public static final int PATH_MATCH_POLICY_FIELD_NUMBER- See Also:
-
CASE_SENSITIVE_FIELD_NUMBER
public static final int CASE_SENSITIVE_FIELD_NUMBER- See Also:
-
caseSensitive_
private com.google.protobuf.BoolValue caseSensitive_ -
RUNTIME_FRACTION_FIELD_NUMBER
public static final int RUNTIME_FRACTION_FIELD_NUMBER- See Also:
-
runtimeFraction_
-
HEADERS_FIELD_NUMBER
public static final int HEADERS_FIELD_NUMBER- See Also:
-
headers_
-
QUERY_PARAMETERS_FIELD_NUMBER
public static final int QUERY_PARAMETERS_FIELD_NUMBER- See Also:
-
queryParameters_
-
GRPC_FIELD_NUMBER
public static final int GRPC_FIELD_NUMBER- See Also:
-
grpc_
-
TLS_CONTEXT_FIELD_NUMBER
public static final int TLS_CONTEXT_FIELD_NUMBER- See Also:
-
tlsContext_
-
DYNAMIC_METADATA_FIELD_NUMBER
public static final int DYNAMIC_METADATA_FIELD_NUMBER- See Also:
-
dynamicMetadata_
-
memoizedIsInitialized
private byte memoizedIsInitialized -
DEFAULT_INSTANCE
-
PARSER
-
-
Constructor Details
-
RouteMatch
private RouteMatch(com.google.protobuf.GeneratedMessage.Builder<?> builder) -
RouteMatch
private RouteMatch()
-
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessage
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessage
-
getPathSpecifierCase
- Specified by:
getPathSpecifierCasein interfaceRouteMatchOrBuilder
-
hasPrefix
public boolean hasPrefix()If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.
string prefix = 1;- Specified by:
hasPrefixin interfaceRouteMatchOrBuilder- Returns:
- Whether the prefix field is set.
-
getPrefix
If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.
string prefix = 1;- Specified by:
getPrefixin interfaceRouteMatchOrBuilder- Returns:
- The prefix.
-
getPrefixBytes
public com.google.protobuf.ByteString getPrefixBytes()If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.
string prefix = 1;- Specified by:
getPrefixBytesin interfaceRouteMatchOrBuilder- Returns:
- The bytes for prefix.
-
hasPath
public boolean hasPath()If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.
string path = 2;- Specified by:
hasPathin interfaceRouteMatchOrBuilder- Returns:
- Whether the path field is set.
-
getPath
If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.
string path = 2;- Specified by:
getPathin interfaceRouteMatchOrBuilder- Returns:
- The path.
-
getPathBytes
public com.google.protobuf.ByteString getPathBytes()If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.
string path = 2;- Specified by:
getPathBytesin interfaceRouteMatchOrBuilder- Returns:
- The bytes for path.
-
hasSafeRegex
public boolean hasSafeRegex()If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the ``:path`` header matches the regex. [#next-major-version: In the v3 API we should redo how path specification works such that we utilize StringMatcher, and additionally have consistent options around whether we strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive to deprecate the existing options. We should even consider whether we want to do away with path_specifier entirely and just rely on a set of header matchers which can already match on :path, etc. The issue with that is it is unclear how to generically deal with query string stripping. This needs more thought.]
.envoy.type.matcher.v3.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }- Specified by:
hasSafeRegexin interfaceRouteMatchOrBuilder- Returns:
- Whether the safeRegex field is set.
-
getSafeRegex
If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the ``:path`` header matches the regex. [#next-major-version: In the v3 API we should redo how path specification works such that we utilize StringMatcher, and additionally have consistent options around whether we strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive to deprecate the existing options. We should even consider whether we want to do away with path_specifier entirely and just rely on a set of header matchers which can already match on :path, etc. The issue with that is it is unclear how to generically deal with query string stripping. This needs more thought.]
.envoy.type.matcher.v3.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }- Specified by:
getSafeRegexin interfaceRouteMatchOrBuilder- Returns:
- The safeRegex.
-
getSafeRegexOrBuilder
If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the ``:path`` header matches the regex. [#next-major-version: In the v3 API we should redo how path specification works such that we utilize StringMatcher, and additionally have consistent options around whether we strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive to deprecate the existing options. We should even consider whether we want to do away with path_specifier entirely and just rely on a set of header matchers which can already match on :path, etc. The issue with that is it is unclear how to generically deal with query string stripping. This needs more thought.]
.envoy.type.matcher.v3.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }- Specified by:
getSafeRegexOrBuilderin interfaceRouteMatchOrBuilder
-
hasConnectMatcher
public boolean hasConnectMatcher()If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests. Note that this will not match other Extended CONNECT requests (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style upgrades. This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2 and HTTP/3, where Extended CONNECT requests may have a path, the path matchers will work if there is a path present. Note that CONNECT support is currently considered alpha in Envoy. [#comment: TODO(htuch): Replace the above comment with an alpha tag.]
.envoy.config.route.v3.RouteMatch.ConnectMatcher connect_matcher = 12;- Specified by:
hasConnectMatcherin interfaceRouteMatchOrBuilder- Returns:
- Whether the connectMatcher field is set.
-
getConnectMatcher
If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests. Note that this will not match other Extended CONNECT requests (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style upgrades. This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2 and HTTP/3, where Extended CONNECT requests may have a path, the path matchers will work if there is a path present. Note that CONNECT support is currently considered alpha in Envoy. [#comment: TODO(htuch): Replace the above comment with an alpha tag.]
.envoy.config.route.v3.RouteMatch.ConnectMatcher connect_matcher = 12;- Specified by:
getConnectMatcherin interfaceRouteMatchOrBuilder- Returns:
- The connectMatcher.
-
getConnectMatcherOrBuilder
If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests. Note that this will not match other Extended CONNECT requests (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style upgrades. This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2 and HTTP/3, where Extended CONNECT requests may have a path, the path matchers will work if there is a path present. Note that CONNECT support is currently considered alpha in Envoy. [#comment: TODO(htuch): Replace the above comment with an alpha tag.]
.envoy.config.route.v3.RouteMatch.ConnectMatcher connect_matcher = 12;- Specified by:
getConnectMatcherOrBuilderin interfaceRouteMatchOrBuilder
-
hasPathSeparatedPrefix
public boolean hasPathSeparatedPrefix()If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``
string path_separated_prefix = 14 [(.validate.rules) = { ... }- Specified by:
hasPathSeparatedPrefixin interfaceRouteMatchOrBuilder- Returns:
- Whether the pathSeparatedPrefix field is set.
-
getPathSeparatedPrefix
If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``
string path_separated_prefix = 14 [(.validate.rules) = { ... }- Specified by:
getPathSeparatedPrefixin interfaceRouteMatchOrBuilder- Returns:
- The pathSeparatedPrefix.
-
getPathSeparatedPrefixBytes
public com.google.protobuf.ByteString getPathSeparatedPrefixBytes()If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``
string path_separated_prefix = 14 [(.validate.rules) = { ... }- Specified by:
getPathSeparatedPrefixBytesin interfaceRouteMatchOrBuilder- Returns:
- The bytes for pathSeparatedPrefix.
-
hasPathMatchPolicy
public boolean hasPathMatchPolicy()[#extension-category: envoy.path.match]
.envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;- Specified by:
hasPathMatchPolicyin interfaceRouteMatchOrBuilder- Returns:
- Whether the pathMatchPolicy field is set.
-
getPathMatchPolicy
[#extension-category: envoy.path.match]
.envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;- Specified by:
getPathMatchPolicyin interfaceRouteMatchOrBuilder- Returns:
- The pathMatchPolicy.
-
getPathMatchPolicyOrBuilder
[#extension-category: envoy.path.match]
.envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;- Specified by:
getPathMatchPolicyOrBuilderin interfaceRouteMatchOrBuilder
-
hasCaseSensitive
public boolean hasCaseSensitive()Indicates that prefix/path matching should be case sensitive. The default is true. Ignored for safe_regex matching.
.google.protobuf.BoolValue case_sensitive = 4;- Specified by:
hasCaseSensitivein interfaceRouteMatchOrBuilder- Returns:
- Whether the caseSensitive field is set.
-
getCaseSensitive
public com.google.protobuf.BoolValue getCaseSensitive()Indicates that prefix/path matching should be case sensitive. The default is true. Ignored for safe_regex matching.
.google.protobuf.BoolValue case_sensitive = 4;- Specified by:
getCaseSensitivein interfaceRouteMatchOrBuilder- Returns:
- The caseSensitive.
-
getCaseSensitiveOrBuilder
public com.google.protobuf.BoolValueOrBuilder getCaseSensitiveOrBuilder()Indicates that prefix/path matching should be case sensitive. The default is true. Ignored for safe_regex matching.
.google.protobuf.BoolValue case_sensitive = 4;- Specified by:
getCaseSensitiveOrBuilderin interfaceRouteMatchOrBuilder
-
hasRuntimeFraction
public boolean hasRuntimeFraction()Indicates that the route should additionally match on a runtime key. Every time the route is considered for a match, it must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the router continues to evaluate the remaining match criteria. A runtime_fraction route configuration can be used to roll out route changes in a gradual manner without full code/config deploys. Refer to the :ref:`traffic shifting <config_http_conn_man_route_table_traffic_splitting_shift>` docs for additional documentation. .. note:: Parsing this field is implemented such that the runtime key's data may be represented as a FractionalPercent proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics.
.envoy.config.core.v3.RuntimeFractionalPercent runtime_fraction = 9;- Specified by:
hasRuntimeFractionin interfaceRouteMatchOrBuilder- Returns:
- Whether the runtimeFraction field is set.
-
getRuntimeFraction
Indicates that the route should additionally match on a runtime key. Every time the route is considered for a match, it must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the router continues to evaluate the remaining match criteria. A runtime_fraction route configuration can be used to roll out route changes in a gradual manner without full code/config deploys. Refer to the :ref:`traffic shifting <config_http_conn_man_route_table_traffic_splitting_shift>` docs for additional documentation. .. note:: Parsing this field is implemented such that the runtime key's data may be represented as a FractionalPercent proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics.
.envoy.config.core.v3.RuntimeFractionalPercent runtime_fraction = 9;- Specified by:
getRuntimeFractionin interfaceRouteMatchOrBuilder- Returns:
- The runtimeFraction.
-
getRuntimeFractionOrBuilder
Indicates that the route should additionally match on a runtime key. Every time the route is considered for a match, it must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the router continues to evaluate the remaining match criteria. A runtime_fraction route configuration can be used to roll out route changes in a gradual manner without full code/config deploys. Refer to the :ref:`traffic shifting <config_http_conn_man_route_table_traffic_splitting_shift>` docs for additional documentation. .. note:: Parsing this field is implemented such that the runtime key's data may be represented as a FractionalPercent proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics.
.envoy.config.core.v3.RuntimeFractionalPercent runtime_fraction = 9;- Specified by:
getRuntimeFractionOrBuilderin interfaceRouteMatchOrBuilder
-
getHeadersList
Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;- Specified by:
getHeadersListin interfaceRouteMatchOrBuilder
-
getHeadersOrBuilderList
Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;- Specified by:
getHeadersOrBuilderListin interfaceRouteMatchOrBuilder
-
getHeadersCount
public int getHeadersCount()Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;- Specified by:
getHeadersCountin interfaceRouteMatchOrBuilder
-
getHeaders
Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;- Specified by:
getHeadersin interfaceRouteMatchOrBuilder
-
getHeadersOrBuilder
Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;- Specified by:
getHeadersOrBuilderin interfaceRouteMatchOrBuilder
-
getQueryParametersList
Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;- Specified by:
getQueryParametersListin interfaceRouteMatchOrBuilder
-
getQueryParametersOrBuilderList
Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;- Specified by:
getQueryParametersOrBuilderListin interfaceRouteMatchOrBuilder
-
getQueryParametersCount
public int getQueryParametersCount()Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;- Specified by:
getQueryParametersCountin interfaceRouteMatchOrBuilder
-
getQueryParameters
Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;- Specified by:
getQueryParametersin interfaceRouteMatchOrBuilder
-
getQueryParametersOrBuilder
Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;- Specified by:
getQueryParametersOrBuilderin interfaceRouteMatchOrBuilder
-
hasGrpc
public boolean hasGrpc()If specified, only gRPC requests will be matched. The router will check that the content-type header has a application/grpc or one of the various application/grpc+ values.
.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions grpc = 8;- Specified by:
hasGrpcin interfaceRouteMatchOrBuilder- Returns:
- Whether the grpc field is set.
-
getGrpc
If specified, only gRPC requests will be matched. The router will check that the content-type header has a application/grpc or one of the various application/grpc+ values.
.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions grpc = 8;- Specified by:
getGrpcin interfaceRouteMatchOrBuilder- Returns:
- The grpc.
-
getGrpcOrBuilder
If specified, only gRPC requests will be matched. The router will check that the content-type header has a application/grpc or one of the various application/grpc+ values.
.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions grpc = 8;- Specified by:
getGrpcOrBuilderin interfaceRouteMatchOrBuilder
-
hasTlsContext
public boolean hasTlsContext()If specified, the client tls context will be matched against the defined match options. [#next-major-version: unify with RBAC]
.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions tls_context = 11;- Specified by:
hasTlsContextin interfaceRouteMatchOrBuilder- Returns:
- Whether the tlsContext field is set.
-
getTlsContext
If specified, the client tls context will be matched against the defined match options. [#next-major-version: unify with RBAC]
.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions tls_context = 11;- Specified by:
getTlsContextin interfaceRouteMatchOrBuilder- Returns:
- The tlsContext.
-
getTlsContextOrBuilder
If specified, the client tls context will be matched against the defined match options. [#next-major-version: unify with RBAC]
.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions tls_context = 11;- Specified by:
getTlsContextOrBuilderin interfaceRouteMatchOrBuilder
-
getDynamicMetadataList
Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;- Specified by:
getDynamicMetadataListin interfaceRouteMatchOrBuilder
-
getDynamicMetadataOrBuilderList
Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;- Specified by:
getDynamicMetadataOrBuilderListin interfaceRouteMatchOrBuilder
-
getDynamicMetadataCount
public int getDynamicMetadataCount()Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;- Specified by:
getDynamicMetadataCountin interfaceRouteMatchOrBuilder
-
getDynamicMetadata
Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;- Specified by:
getDynamicMetadatain interfaceRouteMatchOrBuilder
-
getDynamicMetadataOrBuilder
Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;- Specified by:
getDynamicMetadataOrBuilderin interfaceRouteMatchOrBuilder
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessage
-
writeTo
- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessage- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessage
-
equals
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein classcom.google.protobuf.AbstractMessage
-
parseFrom
public static RouteMatch parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static RouteMatch parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static RouteMatch parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected RouteMatch.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) - Overrides:
newBuilderForTypein classcom.google.protobuf.AbstractMessage
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-