// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/api/v2/route/route.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;
*/
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;
*/
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;
*/
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;
*/
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
* <http://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*
*
*
* string regex = 3 [(.validate.rules) = { ... }
*/
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
* <http://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*
*
*
* string regex = 3 [(.validate.rules) = { ... }
*/
com.google.protobuf.ByteString
getRegexBytes();
/**
*
* Indicates that prefix/path matching should be case insensitive. The default
* is true.
*
*
* .google.protobuf.BoolValue case_sensitive = 4;
*/
boolean hasCaseSensitive();
/**
*
* Indicates that prefix/path matching should be case insensitive. The default
* is true.
*
*
* .google.protobuf.BoolValue case_sensitive = 4;
*/
com.google.protobuf.BoolValue getCaseSensitive();
/**
*
* Indicates that prefix/path matching should be case insensitive. 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;
*/
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;
*/
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 extends io.envoyproxy.envoy.api.v2.route.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;
*/
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 extends io.envoyproxy.envoy.api.v2.route.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;
*/
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;
*/
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;
*/
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();
public io.envoyproxy.envoy.api.v2.route.RouteMatch.PathSpecifierCase getPathSpecifierCase();
}