Class RouteMatch.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RouteMatchOrBuilder, java.lang.Cloneable
    Enclosing class:
    RouteMatch

    public static final class RouteMatch.Builder
    extends com.google.protobuf.GeneratedMessage.Builder<RouteMatch.Builder>
    implements RouteMatchOrBuilder
     [#next-free-field: 16]
     
    Protobuf type envoy.config.route.v3.RouteMatch
    • Constructor Detail

      • Builder

        private Builder()
      • Builder

        private Builder​(com.google.protobuf.AbstractMessage.BuilderParent parent)
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<RouteMatch.Builder>
      • maybeForceBuilderInitialization

        private void maybeForceBuilderInitialization()
      • clear

        public RouteMatch.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessage.Builder<RouteMatch.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<RouteMatch.Builder>
      • getDefaultInstanceForType

        public RouteMatch getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public RouteMatch build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public RouteMatch buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • buildPartialRepeatedFields

        private void buildPartialRepeatedFields​(RouteMatch result)
      • buildPartial0

        private void buildPartial0​(RouteMatch result)
      • buildPartialOneofs

        private void buildPartialOneofs​(RouteMatch result)
      • mergeFrom

        public RouteMatch.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<RouteMatch.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage.Builder<RouteMatch.Builder>
      • mergeFrom

        public RouteMatch.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                     throws java.io.IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<RouteMatch.Builder>
        Throws:
        java.io.IOException
      • 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:
        hasPrefix in interface RouteMatchOrBuilder
        Returns:
        Whether the prefix field is set.
      • getPrefix

        public java.lang.String 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:
        getPrefix in interface RouteMatchOrBuilder
        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:
        getPrefixBytes in interface RouteMatchOrBuilder
        Returns:
        The bytes for prefix.
      • setPrefix

        public RouteMatch.Builder setPrefix​(java.lang.String value)
         If specified, the route is a prefix rule meaning that the prefix must
         match the beginning of the ``:path`` header.
         
        string prefix = 1;
        Parameters:
        value - The prefix to set.
        Returns:
        This builder for chaining.
      • clearPrefix

        public RouteMatch.Builder clearPrefix()
         If specified, the route is a prefix rule meaning that the prefix must
         match the beginning of the ``:path`` header.
         
        string prefix = 1;
        Returns:
        This builder for chaining.
      • setPrefixBytes

        public RouteMatch.Builder setPrefixBytes​(com.google.protobuf.ByteString value)
         If specified, the route is a prefix rule meaning that the prefix must
         match the beginning of the ``:path`` header.
         
        string prefix = 1;
        Parameters:
        value - The bytes for prefix to set.
        Returns:
        This builder for chaining.
      • 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:
        hasPath in interface RouteMatchOrBuilder
        Returns:
        Whether the path field is set.
      • getPath

        public java.lang.String 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:
        getPath in interface RouteMatchOrBuilder
        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:
        getPathBytes in interface RouteMatchOrBuilder
        Returns:
        The bytes for path.
      • setPath

        public RouteMatch.Builder setPath​(java.lang.String value)
         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;
        Parameters:
        value - The path to set.
        Returns:
        This builder for chaining.
      • clearPath

        public RouteMatch.Builder clearPath()
         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;
        Returns:
        This builder for chaining.
      • setPathBytes

        public RouteMatch.Builder setPathBytes​(com.google.protobuf.ByteString value)
         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;
        Parameters:
        value - The bytes for path to set.
        Returns:
        This builder for chaining.
      • 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:
        hasSafeRegex in interface RouteMatchOrBuilder
        Returns:
        Whether the safeRegex field is set.
      • getSafeRegex

        public RegexMatcher 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:
        getSafeRegex in interface RouteMatchOrBuilder
        Returns:
        The safeRegex.
      • setSafeRegex

        public RouteMatch.Builder setSafeRegex​(RegexMatcher value)
         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) = { ... }
      • setSafeRegex

        public RouteMatch.Builder setSafeRegex​(RegexMatcher.Builder builderForValue)
         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) = { ... }
      • mergeSafeRegex

        public RouteMatch.Builder mergeSafeRegex​(RegexMatcher value)
         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) = { ... }
      • clearSafeRegex

        public RouteMatch.Builder clearSafeRegex()
         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) = { ... }
      • getSafeRegexBuilder

        public RegexMatcher.Builder getSafeRegexBuilder()
         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) = { ... }
      • getSafeRegexOrBuilder

        public RegexMatcherOrBuilder 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:
        getSafeRegexOrBuilder in interface RouteMatchOrBuilder
      • getSafeRegexFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<RegexMatcher,​RegexMatcher.Builder,​RegexMatcherOrBuilder> getSafeRegexFieldBuilder()
         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) = { ... }
      • 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:
        hasConnectMatcher in interface RouteMatchOrBuilder
        Returns:
        Whether the connectMatcher field is set.
      • getConnectMatcher

        public RouteMatch.ConnectMatcher 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:
        getConnectMatcher in interface RouteMatchOrBuilder
        Returns:
        The connectMatcher.
      • setConnectMatcher

        public RouteMatch.Builder setConnectMatcher​(RouteMatch.ConnectMatcher value)
         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;
      • setConnectMatcher

        public RouteMatch.Builder setConnectMatcher​(RouteMatch.ConnectMatcher.Builder builderForValue)
         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;
      • mergeConnectMatcher

        public RouteMatch.Builder mergeConnectMatcher​(RouteMatch.ConnectMatcher value)
         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;
      • clearConnectMatcher

        public RouteMatch.Builder clearConnectMatcher()
         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;
      • getConnectMatcherBuilder

        public RouteMatch.ConnectMatcher.Builder getConnectMatcherBuilder()
         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;
      • getConnectMatcherOrBuilder

        public RouteMatch.ConnectMatcherOrBuilder 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:
        getConnectMatcherOrBuilder in interface RouteMatchOrBuilder
      • getConnectMatcherFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<RouteMatch.ConnectMatcher,​RouteMatch.ConnectMatcher.Builder,​RouteMatch.ConnectMatcherOrBuilder> getConnectMatcherFieldBuilder()
         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;
      • 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:
        hasPathSeparatedPrefix in interface RouteMatchOrBuilder
        Returns:
        Whether the pathSeparatedPrefix field is set.
      • getPathSeparatedPrefix

        public java.lang.String 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:
        getPathSeparatedPrefix in interface RouteMatchOrBuilder
        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:
        getPathSeparatedPrefixBytes in interface RouteMatchOrBuilder
        Returns:
        The bytes for pathSeparatedPrefix.
      • setPathSeparatedPrefix

        public RouteMatch.Builder setPathSeparatedPrefix​(java.lang.String value)
         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) = { ... }
        Parameters:
        value - The pathSeparatedPrefix to set.
        Returns:
        This builder for chaining.
      • clearPathSeparatedPrefix

        public RouteMatch.Builder clearPathSeparatedPrefix()
         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) = { ... }
        Returns:
        This builder for chaining.
      • setPathSeparatedPrefixBytes

        public RouteMatch.Builder setPathSeparatedPrefixBytes​(com.google.protobuf.ByteString value)
         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) = { ... }
        Parameters:
        value - The bytes for pathSeparatedPrefix to set.
        Returns:
        This builder for chaining.
      • hasPathMatchPolicy

        public boolean hasPathMatchPolicy()
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;
        Specified by:
        hasPathMatchPolicy in interface RouteMatchOrBuilder
        Returns:
        Whether the pathMatchPolicy field is set.
      • setPathMatchPolicy

        public RouteMatch.Builder setPathMatchPolicy​(TypedExtensionConfig value)
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;
      • mergePathMatchPolicy

        public RouteMatch.Builder mergePathMatchPolicy​(TypedExtensionConfig value)
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;
      • clearPathMatchPolicy

        public RouteMatch.Builder clearPathMatchPolicy()
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;
      • getPathMatchPolicyBuilder

        public TypedExtensionConfig.Builder getPathMatchPolicyBuilder()
         [#extension-category: envoy.path.match]
         
        .envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;
      • 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:
        hasCaseSensitive in interface RouteMatchOrBuilder
        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:
        getCaseSensitive in interface RouteMatchOrBuilder
        Returns:
        The caseSensitive.
      • setCaseSensitive

        public RouteMatch.Builder setCaseSensitive​(com.google.protobuf.BoolValue value)
         Indicates that prefix/path matching should be case sensitive. The default
         is true. Ignored for safe_regex matching.
         
        .google.protobuf.BoolValue case_sensitive = 4;
      • setCaseSensitive

        public RouteMatch.Builder setCaseSensitive​(com.google.protobuf.BoolValue.Builder builderForValue)
         Indicates that prefix/path matching should be case sensitive. The default
         is true. Ignored for safe_regex matching.
         
        .google.protobuf.BoolValue case_sensitive = 4;
      • mergeCaseSensitive

        public RouteMatch.Builder mergeCaseSensitive​(com.google.protobuf.BoolValue value)
         Indicates that prefix/path matching should be case sensitive. The default
         is true. Ignored for safe_regex matching.
         
        .google.protobuf.BoolValue case_sensitive = 4;
      • clearCaseSensitive

        public RouteMatch.Builder clearCaseSensitive()
         Indicates that prefix/path matching should be case sensitive. The default
         is true. Ignored for safe_regex matching.
         
        .google.protobuf.BoolValue case_sensitive = 4;
      • getCaseSensitiveBuilder

        public com.google.protobuf.BoolValue.Builder getCaseSensitiveBuilder()
         Indicates that prefix/path matching should be case sensitive. The default
         is true. Ignored for safe_regex matching.
         
        .google.protobuf.BoolValue case_sensitive = 4;
      • 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:
        getCaseSensitiveOrBuilder in interface RouteMatchOrBuilder
      • getCaseSensitiveFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<com.google.protobuf.BoolValue,​com.google.protobuf.BoolValue.Builder,​com.google.protobuf.BoolValueOrBuilder> getCaseSensitiveFieldBuilder()
         Indicates that prefix/path matching should be case sensitive. The default
         is true. Ignored for safe_regex matching.
         
        .google.protobuf.BoolValue case_sensitive = 4;
      • 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:
        hasRuntimeFraction in interface RouteMatchOrBuilder
        Returns:
        Whether the runtimeFraction field is set.
      • getRuntimeFraction

        public RuntimeFractionalPercent 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:
        getRuntimeFraction in interface RouteMatchOrBuilder
        Returns:
        The runtimeFraction.
      • setRuntimeFraction

        public RouteMatch.Builder setRuntimeFraction​(RuntimeFractionalPercent value)
         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;
      • setRuntimeFraction

        public RouteMatch.Builder setRuntimeFraction​(RuntimeFractionalPercent.Builder builderForValue)
         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;
      • mergeRuntimeFraction

        public RouteMatch.Builder mergeRuntimeFraction​(RuntimeFractionalPercent value)
         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;
      • clearRuntimeFraction

        public RouteMatch.Builder clearRuntimeFraction()
         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;
      • getRuntimeFractionBuilder

        public RuntimeFractionalPercent.Builder getRuntimeFractionBuilder()
         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;
      • getRuntimeFractionOrBuilder

        public RuntimeFractionalPercentOrBuilder 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:
        getRuntimeFractionOrBuilder in interface RouteMatchOrBuilder
      • getRuntimeFractionFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<RuntimeFractionalPercent,​RuntimeFractionalPercent.Builder,​RuntimeFractionalPercentOrBuilder> getRuntimeFractionFieldBuilder()
         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;
      • ensureHeadersIsMutable

        private void ensureHeadersIsMutable()
      • getHeadersList

        public java.util.List<HeaderMatcher> 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:
        getHeadersList in interface RouteMatchOrBuilder
      • 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:
        getHeadersCount in interface RouteMatchOrBuilder
      • getHeaders

        public HeaderMatcher getHeaders​(int index)
         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:
        getHeaders in interface RouteMatchOrBuilder
      • setHeaders

        public RouteMatch.Builder setHeaders​(int index,
                                             HeaderMatcher value)
         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;
      • setHeaders

        public RouteMatch.Builder setHeaders​(int index,
                                             HeaderMatcher.Builder builderForValue)
         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;
      • addHeaders

        public RouteMatch.Builder addHeaders​(HeaderMatcher value)
         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;
      • addHeaders

        public RouteMatch.Builder addHeaders​(int index,
                                             HeaderMatcher value)
         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;
      • addHeaders

        public RouteMatch.Builder addHeaders​(HeaderMatcher.Builder builderForValue)
         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;
      • addHeaders

        public RouteMatch.Builder addHeaders​(int index,
                                             HeaderMatcher.Builder builderForValue)
         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;
      • addAllHeaders

        public RouteMatch.Builder addAllHeaders​(java.lang.Iterable<? extends HeaderMatcher> values)
         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;
      • clearHeaders

        public RouteMatch.Builder clearHeaders()
         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;
      • removeHeaders

        public RouteMatch.Builder removeHeaders​(int index)
         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;
      • getHeadersBuilder

        public HeaderMatcher.Builder getHeadersBuilder​(int index)
         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;
      • getHeadersOrBuilder

        public HeaderMatcherOrBuilder getHeadersOrBuilder​(int index)
         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:
        getHeadersOrBuilder in interface RouteMatchOrBuilder
      • getHeadersOrBuilderList

        public java.util.List<? extends HeaderMatcherOrBuilder> 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:
        getHeadersOrBuilderList in interface RouteMatchOrBuilder
      • addHeadersBuilder

        public HeaderMatcher.Builder addHeadersBuilder()
         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;
      • addHeadersBuilder

        public HeaderMatcher.Builder addHeadersBuilder​(int index)
         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;
      • getHeadersBuilderList

        public java.util.List<HeaderMatcher.Builder> getHeadersBuilderList()
         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;
      • ensureQueryParametersIsMutable

        private void ensureQueryParametersIsMutable()
      • getQueryParametersList

        public java.util.List<QueryParameterMatcher> 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:
        getQueryParametersList in interface RouteMatchOrBuilder
      • 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:
        getQueryParametersCount in interface RouteMatchOrBuilder
      • getQueryParameters

        public QueryParameterMatcher getQueryParameters​(int index)
         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:
        getQueryParameters in interface RouteMatchOrBuilder
      • setQueryParameters

        public RouteMatch.Builder setQueryParameters​(int index,
                                                     QueryParameterMatcher value)
         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;
      • setQueryParameters

        public RouteMatch.Builder setQueryParameters​(int index,
                                                     QueryParameterMatcher.Builder builderForValue)
         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;
      • addQueryParameters

        public RouteMatch.Builder addQueryParameters​(QueryParameterMatcher value)
         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;
      • addQueryParameters

        public RouteMatch.Builder addQueryParameters​(int index,
                                                     QueryParameterMatcher value)
         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;
      • addQueryParameters

        public RouteMatch.Builder addQueryParameters​(QueryParameterMatcher.Builder builderForValue)
         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;
      • addQueryParameters

        public RouteMatch.Builder addQueryParameters​(int index,
                                                     QueryParameterMatcher.Builder builderForValue)
         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;
      • addAllQueryParameters

        public RouteMatch.Builder addAllQueryParameters​(java.lang.Iterable<? extends QueryParameterMatcher> values)
         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;
      • clearQueryParameters

        public RouteMatch.Builder clearQueryParameters()
         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;
      • removeQueryParameters

        public RouteMatch.Builder removeQueryParameters​(int index)
         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;
      • getQueryParametersBuilder

        public QueryParameterMatcher.Builder getQueryParametersBuilder​(int index)
         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;
      • getQueryParametersOrBuilder

        public QueryParameterMatcherOrBuilder getQueryParametersOrBuilder​(int index)
         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:
        getQueryParametersOrBuilder in interface RouteMatchOrBuilder
      • getQueryParametersOrBuilderList

        public java.util.List<? extends QueryParameterMatcherOrBuilder> 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:
        getQueryParametersOrBuilderList in interface RouteMatchOrBuilder
      • addQueryParametersBuilder

        public QueryParameterMatcher.Builder addQueryParametersBuilder()
         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;
      • addQueryParametersBuilder

        public QueryParameterMatcher.Builder addQueryParametersBuilder​(int index)
         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;
      • getQueryParametersBuilderList

        public java.util.List<QueryParameterMatcher.Builder> getQueryParametersBuilderList()
         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;
      • 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:
        hasGrpc in interface RouteMatchOrBuilder
        Returns:
        Whether the grpc field is set.
      • getGrpc

        public RouteMatch.GrpcRouteMatchOptions 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:
        getGrpc in interface RouteMatchOrBuilder
        Returns:
        The grpc.
      • setGrpc

        public RouteMatch.Builder setGrpc​(RouteMatch.GrpcRouteMatchOptions value)
         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;
      • setGrpc

        public RouteMatch.Builder setGrpc​(RouteMatch.GrpcRouteMatchOptions.Builder builderForValue)
         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;
      • mergeGrpc

        public RouteMatch.Builder mergeGrpc​(RouteMatch.GrpcRouteMatchOptions value)
         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;
      • clearGrpc

        public RouteMatch.Builder clearGrpc()
         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;
      • getGrpcBuilder

        public RouteMatch.GrpcRouteMatchOptions.Builder getGrpcBuilder()
         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;
      • getGrpcOrBuilder

        public RouteMatch.GrpcRouteMatchOptionsOrBuilder 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:
        getGrpcOrBuilder in interface RouteMatchOrBuilder
      • 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:
        hasTlsContext in interface RouteMatchOrBuilder
        Returns:
        Whether the tlsContext field is set.
      • getTlsContext

        public RouteMatch.TlsContextMatchOptions 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:
        getTlsContext in interface RouteMatchOrBuilder
        Returns:
        The tlsContext.
      • setTlsContext

        public RouteMatch.Builder setTlsContext​(RouteMatch.TlsContextMatchOptions value)
         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;
      • setTlsContext

        public RouteMatch.Builder setTlsContext​(RouteMatch.TlsContextMatchOptions.Builder builderForValue)
         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;
      • mergeTlsContext

        public RouteMatch.Builder mergeTlsContext​(RouteMatch.TlsContextMatchOptions value)
         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;
      • clearTlsContext

        public RouteMatch.Builder clearTlsContext()
         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;
      • getTlsContextBuilder

        public RouteMatch.TlsContextMatchOptions.Builder getTlsContextBuilder()
         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;
      • ensureDynamicMetadataIsMutable

        private void ensureDynamicMetadataIsMutable()
      • getDynamicMetadataList

        public java.util.List<MetadataMatcher> 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:
        getDynamicMetadataList in interface RouteMatchOrBuilder
      • 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:
        getDynamicMetadataCount in interface RouteMatchOrBuilder
      • getDynamicMetadata

        public MetadataMatcher getDynamicMetadata​(int index)
         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:
        getDynamicMetadata in interface RouteMatchOrBuilder
      • setDynamicMetadata

        public RouteMatch.Builder setDynamicMetadata​(int index,
                                                     MetadataMatcher value)
         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;
      • setDynamicMetadata

        public RouteMatch.Builder setDynamicMetadata​(int index,
                                                     MetadataMatcher.Builder builderForValue)
         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;
      • addDynamicMetadata

        public RouteMatch.Builder addDynamicMetadata​(MetadataMatcher value)
         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;
      • addDynamicMetadata

        public RouteMatch.Builder addDynamicMetadata​(int index,
                                                     MetadataMatcher value)
         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;
      • addDynamicMetadata

        public RouteMatch.Builder addDynamicMetadata​(MetadataMatcher.Builder builderForValue)
         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;
      • addDynamicMetadata

        public RouteMatch.Builder addDynamicMetadata​(int index,
                                                     MetadataMatcher.Builder builderForValue)
         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;
      • addAllDynamicMetadata

        public RouteMatch.Builder addAllDynamicMetadata​(java.lang.Iterable<? extends MetadataMatcher> values)
         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;
      • clearDynamicMetadata

        public RouteMatch.Builder clearDynamicMetadata()
         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;
      • removeDynamicMetadata

        public RouteMatch.Builder removeDynamicMetadata​(int index)
         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;
      • getDynamicMetadataBuilder

        public MetadataMatcher.Builder getDynamicMetadataBuilder​(int index)
         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;
      • getDynamicMetadataOrBuilder

        public MetadataMatcherOrBuilder getDynamicMetadataOrBuilder​(int index)
         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:
        getDynamicMetadataOrBuilder in interface RouteMatchOrBuilder
      • getDynamicMetadataOrBuilderList

        public java.util.List<? extends MetadataMatcherOrBuilder> 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:
        getDynamicMetadataOrBuilderList in interface RouteMatchOrBuilder
      • addDynamicMetadataBuilder

        public MetadataMatcher.Builder addDynamicMetadataBuilder()
         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;
      • addDynamicMetadataBuilder

        public MetadataMatcher.Builder addDynamicMetadataBuilder​(int index)
         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;
      • getDynamicMetadataBuilderList

        public java.util.List<MetadataMatcher.Builder> getDynamicMetadataBuilderList()
         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;