All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.envoyproxy.envoy.api.v2.route.RouteMatchOrBuilder Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: envoy/api/v2/route/route_components.proto

package io.envoyproxy.envoy.api.v2.route;

public interface RouteMatchOrBuilder extends
    // @@protoc_insertion_point(interface_extends:envoy.api.v2.route.RouteMatch)
    com.google.protobuf.MessageOrBuilder {

  /**
   * 
   * If specified, the route is a prefix rule meaning that the prefix must
   * match the beginning of the *:path* header.
   * 
* * string prefix = 1; * @return Whether the prefix field is set. */ 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; * @return The prefix. */ 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; * @return The bytes for prefix. */ com.google.protobuf.ByteString getPrefixBytes(); /** *
   * 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; * @return Whether the path field is set. */ 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; * @return The path. */ 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; * @return The bytes for path. */ com.google.protobuf.ByteString getPathBytes(); /** *
   * 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) = { ... } * @deprecated envoy.api.v2.route.RouteMatch.regex is deprecated. * See envoy/api/v2/route/route_components.proto;l=418 * @return Whether the regex field is set. */ @java.lang.Deprecated boolean hasRegex(); /** *
   * 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) = { ... } * @deprecated envoy.api.v2.route.RouteMatch.regex is deprecated. * See envoy/api/v2/route/route_components.proto;l=418 * @return The regex. */ @java.lang.Deprecated java.lang.String getRegex(); /** *
   * 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) = { ... } * @deprecated envoy.api.v2.route.RouteMatch.regex is deprecated. * See envoy/api/v2/route/route_components.proto;l=418 * @return The bytes for regex. */ @java.lang.Deprecated com.google.protobuf.ByteString getRegexBytes(); /** *
   * 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) = { ... } * @return Whether the safeRegex field is set. */ 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) = { ... } * @return The safeRegex. */ io.envoyproxy.envoy.type.matcher.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) = { ... } */ io.envoyproxy.envoy.type.matcher.RegexMatcherOrBuilder getSafeRegexOrBuilder(); /** *
   * Indicates that prefix/path matching should be case sensitive. The default
   * is true.
   * 
* * .google.protobuf.BoolValue case_sensitive = 4; * @return Whether the caseSensitive field is set. */ boolean hasCaseSensitive(); /** *
   * Indicates that prefix/path matching should be case sensitive. The default
   * is true.
   * 
* * .google.protobuf.BoolValue case_sensitive = 4; * @return The caseSensitive. */ com.google.protobuf.BoolValue getCaseSensitive(); /** *
   * Indicates that prefix/path matching should be case sensitive. The default
   * is true.
   * 
* * .google.protobuf.BoolValue case_sensitive = 4; */ com.google.protobuf.BoolValueOrBuilder getCaseSensitiveOrBuilder(); /** *
   * 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; * @return Whether the runtimeFraction field is set. */ 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; * @return The runtimeFraction. */ io.envoyproxy.envoy.api.v2.core.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; */ io.envoyproxy.envoy.api.v2.core.RuntimeFractionalPercentOrBuilder getRuntimeFractionOrBuilder(); /** *
   * 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; */ java.util.List 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; */ io.envoyproxy.envoy.api.v2.route.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; */ 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; */ java.util.List 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; */ io.envoyproxy.envoy.api.v2.route.HeaderMatcherOrBuilder getHeadersOrBuilder( 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; */ java.util.List 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; */ io.envoyproxy.envoy.api.v2.route.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; */ 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; */ java.util.List 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; */ io.envoyproxy.envoy.api.v2.route.QueryParameterMatcherOrBuilder getQueryParametersOrBuilder( int index); /** *
   * 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; * @return Whether the grpc field is set. */ 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; * @return The grpc. */ io.envoyproxy.envoy.api.v2.route.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.api.v2.route.RouteMatch.GrpcRouteMatchOptions grpc = 8; */ io.envoyproxy.envoy.api.v2.route.RouteMatch.GrpcRouteMatchOptionsOrBuilder getGrpcOrBuilder(); /** *
   * 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; * @return Whether the tlsContext field is set. */ 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; * @return The tlsContext. */ io.envoyproxy.envoy.api.v2.route.RouteMatch.TlsContextMatchOptions 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; */ io.envoyproxy.envoy.api.v2.route.RouteMatch.TlsContextMatchOptionsOrBuilder getTlsContextOrBuilder(); public io.envoyproxy.envoy.api.v2.route.RouteMatch.PathSpecifierCase getPathSpecifierCase(); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy