Interface RouteMatchOrBuilder

  • All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    RouteMatch, RouteMatch.Builder

    public interface RouteMatchOrBuilder
    extends com.google.protobuf.MessageOrBuilder
    • Method Detail

      • hasPrefix

        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;
        Returns:
        Whether the prefix field is set.
      • getPrefix

        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;
        Returns:
        The prefix.
      • getPrefixBytes

        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;
        Returns:
        The bytes for prefix.
      • hasPath

        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;
        Returns:
        Whether the path field is set.
      • getPath

        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;
        Returns:
        The path.
      • getPathBytes

        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;
        Returns:
        The bytes for path.
      • hasSafeRegex

        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) = { ... }
        Returns:
        Whether the safeRegex field is set.
      • getSafeRegex

        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) = { ... }
        Returns:
        The safeRegex.
      • getSafeRegexOrBuilder

        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) = { ... }
      • hasConnectMatcher

        boolean hasConnectMatcher()
         If this is used as the matcher, the matcher will only match CONNECT requests.
         Note that this will not match HTTP/2 upgrade-style 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,
         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;
        Returns:
        Whether the connectMatcher field is set.
      • getConnectMatcher

        RouteMatch.ConnectMatcher getConnectMatcher()
         If this is used as the matcher, the matcher will only match CONNECT requests.
         Note that this will not match HTTP/2 upgrade-style 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,
         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;
        Returns:
        The connectMatcher.
      • getConnectMatcherOrBuilder

        RouteMatch.ConnectMatcherOrBuilder getConnectMatcherOrBuilder()
         If this is used as the matcher, the matcher will only match CONNECT requests.
         Note that this will not match HTTP/2 upgrade-style 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,
         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

        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) = { ... }
        Returns:
        Whether the pathSeparatedPrefix field is set.
      • getPathSeparatedPrefix

        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) = { ... }
        Returns:
        The pathSeparatedPrefix.
      • getPathSeparatedPrefixBytes

        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) = { ... }
        Returns:
        The bytes for pathSeparatedPrefix.
      • hasPathTemplate

        boolean hasPathTemplate()
         If specified, the route is a template match rule meaning that the
         ``:path`` header (without the query string) must match the given
         ``path_template`` pattern.
         Path template matching types:
         * ``*`` : Matches a single path component, up to the next path separator: /
         * ``**`` : Matches zero or more path segments. If present, must be the last operator.
         * ``{name} or {name=*}`` :  A named variable matching one path segment up to the next path separator: /.
         * ``{name=videos/*}`` : A named variable matching more than one path segment.
              The path component matching videos/* is captured as the named variable.
         * ``{name=**}`` : A named variable matching zero or more path segments.
         For example:
         * ``/videos/*/*/*.m4s`` would match ``videos/123414/hls/1080p5000_00001.m4s``
         * ``/videos/{file}`` would match ``/videos/1080p5000_00001.m4s``
         * ``/**.mpd`` would match ``/content/123/india/dash/55/manifest.mpd``
         [#not-implemented-hide:]
         
        string path_template = 15 [(.validate.rules) = { ... }
        Returns:
        Whether the pathTemplate field is set.
      • getPathTemplate

        String getPathTemplate()
         If specified, the route is a template match rule meaning that the
         ``:path`` header (without the query string) must match the given
         ``path_template`` pattern.
         Path template matching types:
         * ``*`` : Matches a single path component, up to the next path separator: /
         * ``**`` : Matches zero or more path segments. If present, must be the last operator.
         * ``{name} or {name=*}`` :  A named variable matching one path segment up to the next path separator: /.
         * ``{name=videos/*}`` : A named variable matching more than one path segment.
              The path component matching videos/* is captured as the named variable.
         * ``{name=**}`` : A named variable matching zero or more path segments.
         For example:
         * ``/videos/*/*/*.m4s`` would match ``videos/123414/hls/1080p5000_00001.m4s``
         * ``/videos/{file}`` would match ``/videos/1080p5000_00001.m4s``
         * ``/**.mpd`` would match ``/content/123/india/dash/55/manifest.mpd``
         [#not-implemented-hide:]
         
        string path_template = 15 [(.validate.rules) = { ... }
        Returns:
        The pathTemplate.
      • getPathTemplateBytes

        com.google.protobuf.ByteString getPathTemplateBytes()
         If specified, the route is a template match rule meaning that the
         ``:path`` header (without the query string) must match the given
         ``path_template`` pattern.
         Path template matching types:
         * ``*`` : Matches a single path component, up to the next path separator: /
         * ``**`` : Matches zero or more path segments. If present, must be the last operator.
         * ``{name} or {name=*}`` :  A named variable matching one path segment up to the next path separator: /.
         * ``{name=videos/*}`` : A named variable matching more than one path segment.
              The path component matching videos/* is captured as the named variable.
         * ``{name=**}`` : A named variable matching zero or more path segments.
         For example:
         * ``/videos/*/*/*.m4s`` would match ``videos/123414/hls/1080p5000_00001.m4s``
         * ``/videos/{file}`` would match ``/videos/1080p5000_00001.m4s``
         * ``/**.mpd`` would match ``/content/123/india/dash/55/manifest.mpd``
         [#not-implemented-hide:]
         
        string path_template = 15 [(.validate.rules) = { ... }
        Returns:
        The bytes for pathTemplate.
      • hasCaseSensitive

        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;
        Returns:
        Whether the caseSensitive field is set.
      • getCaseSensitive

        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;
        Returns:
        The caseSensitive.
      • getCaseSensitiveOrBuilder

        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;
      • hasRuntimeFraction

        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;
        Returns:
        Whether the runtimeFraction field is set.
      • getRuntimeFraction

        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;
        Returns:
        The runtimeFraction.
      • getRuntimeFractionOrBuilder

        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;
      • getHeadersList

        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;
      • getHeaders

        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;
      • getHeadersCount

        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;
      • getHeadersOrBuilderList

        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;
      • getHeadersOrBuilder

        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;
      • getQueryParametersList

        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.
         .. 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;
      • getQueryParameters

        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.
         .. 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;
      • getQueryParametersCount

        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.
         .. 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;
      • getQueryParametersOrBuilderList

        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.
         .. 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

        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.
         .. 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

        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;
        Returns:
        Whether the grpc field is set.
      • getGrpc

        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;
        Returns:
        The grpc.
      • getGrpcOrBuilder

        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;
      • hasTlsContext

        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;
        Returns:
        Whether the tlsContext field is set.
      • getTlsContext

        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;
        Returns:
        The tlsContext.
      • getTlsContextOrBuilder

        RouteMatch.TlsContextMatchOptionsOrBuilder getTlsContextOrBuilder()
         If specified, the client tls context will be matched against the defined
         match options.
         [#next-major-version: unify with RBAC]
         
        .envoy.config.route.v3.RouteMatch.TlsContextMatchOptions tls_context = 11;
      • getDynamicMetadataList

        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;
      • getDynamicMetadata

        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;
      • getDynamicMetadataCount

        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;
      • getDynamicMetadataOrBuilderList

        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;
      • getDynamicMetadataOrBuilder

        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;