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 Details

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

      @Deprecated boolean hasRegex()
      Deprecated.
      envoy.api.v2.route.RouteMatch.regex is deprecated. See envoy/api/v2/route/route_components.proto;l=418
       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. The regex grammar is defined `here
       <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
      
       Examples:
      
       * The regex ``/b[io]t`` matches the path */bit*
       * The regex ``/b[io]t`` matches the path */bot*
       * The regex ``/b[io]t`` does not match the path */bite*
       * The regex ``/b[io]t`` does not match the path */bit/bot*
      
       .. attention::
         This field has been deprecated in favor of `safe_regex` as it is not safe for use with
         untrusted input in all cases.
       
      string regex = 3 [deprecated = true, (.validate.rules) = { ... }
      Returns:
      Whether the regex field is set.
    • getRegex

      @Deprecated String getRegex()
      Deprecated.
      envoy.api.v2.route.RouteMatch.regex is deprecated. See envoy/api/v2/route/route_components.proto;l=418
       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. The regex grammar is defined `here
       <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
      
       Examples:
      
       * The regex ``/b[io]t`` matches the path */bit*
       * The regex ``/b[io]t`` matches the path */bot*
       * The regex ``/b[io]t`` does not match the path */bite*
       * The regex ``/b[io]t`` does not match the path */bit/bot*
      
       .. attention::
         This field has been deprecated in favor of `safe_regex` as it is not safe for use with
         untrusted input in all cases.
       
      string regex = 3 [deprecated = true, (.validate.rules) = { ... }
      Returns:
      The regex.
    • getRegexBytes

      @Deprecated com.google.protobuf.ByteString getRegexBytes()
      Deprecated.
      envoy.api.v2.route.RouteMatch.regex is deprecated. See envoy/api/v2/route/route_components.proto;l=418
       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. The regex grammar is defined `here
       <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
      
       Examples:
      
       * The regex ``/b[io]t`` matches the path */bit*
       * The regex ``/b[io]t`` matches the path */bot*
       * The regex ``/b[io]t`` does not match the path */bite*
       * The regex ``/b[io]t`` does not match the path */bit/bot*
      
       .. attention::
         This field has been deprecated in favor of `safe_regex` as it is not safe for use with
         untrusted input in all cases.
       
      string regex = 3 [deprecated = true, (.validate.rules) = { ... }
      Returns:
      The bytes for regex.
    • 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.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.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.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }
    • hasCaseSensitive

      boolean hasCaseSensitive()
       Indicates that prefix/path matching should be case sensitive. The default
       is true.
       
      .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.
       
      .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.
       
      .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.api.v2.core.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.api.v2.core.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.api.v2.core.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.api.v2.route.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.api.v2.route.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.api.v2.route.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.api.v2.route.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.api.v2.route.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.
       
      repeated .envoy.api.v2.route.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.
       
      repeated .envoy.api.v2.route.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.
       
      repeated .envoy.api.v2.route.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.
       
      repeated .envoy.api.v2.route.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.
       
      repeated .envoy.api.v2.route.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.api.v2.route.RouteMatch.GrpcRouteMatchOptions grpc = 8;
      Returns:
      Whether the grpc field is set.
    • getGrpc

       If specified, only gRPC requests will be matched. The router will check
       that the content-type header has a application/grpc or one of the various
       application/grpc+ values.
       
      .envoy.api.v2.route.RouteMatch.GrpcRouteMatchOptions grpc = 8;
      Returns:
      The grpc.
    • getGrpcOrBuilder

       If specified, only gRPC requests will be matched. The router will check
       that the content-type header has a application/grpc or one of the various
       application/grpc+ values.
       
      .envoy.api.v2.route.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.api.v2.route.RouteMatch.TlsContextMatchOptions tls_context = 11;
      Returns:
      Whether the tlsContext field is set.
    • getTlsContext

       If specified, the client tls context will be matched against the defined
       match options.
      
       [#next-major-version: unify with RBAC]
       
      .envoy.api.v2.route.RouteMatch.TlsContextMatchOptions tls_context = 11;
      Returns:
      The tlsContext.
    • getTlsContextOrBuilder

       If specified, the client tls context will be matched against the defined
       match options.
      
       [#next-major-version: unify with RBAC]
       
      .envoy.api.v2.route.RouteMatch.TlsContextMatchOptions tls_context = 11;
    • getPathSpecifierCase

      RouteMatch.PathSpecifierCase getPathSpecifierCase()