
io.envoyproxy.envoy.config.route.v3.RouteActionOrBuilder Maven / Gradle / Ivy
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/config/route/v3/route_components.proto
package io.envoyproxy.envoy.config.route.v3;
public interface RouteActionOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.route.v3.RouteAction)
com.google.protobuf.MessageOrBuilder {
/**
*
* Indicates the upstream cluster to which the request should be routed
* to.
*
*
* string cluster = 1 [(.validate.rules) = { ... }
*/
java.lang.String getCluster();
/**
*
* Indicates the upstream cluster to which the request should be routed
* to.
*
*
* string cluster = 1 [(.validate.rules) = { ... }
*/
com.google.protobuf.ByteString
getClusterBytes();
/**
*
* Envoy will determine the cluster to route to by reading the value of the
* HTTP header named by cluster_header from the request headers. If the
* header is not found or the referenced cluster does not exist, Envoy will
* return a 404 response.
* .. attention::
* Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1
* *Host* header. Thus, if attempting to match on *Host*, match on *:authority* instead.
*
*
* string cluster_header = 2 [(.validate.rules) = { ... }
*/
java.lang.String getClusterHeader();
/**
*
* Envoy will determine the cluster to route to by reading the value of the
* HTTP header named by cluster_header from the request headers. If the
* header is not found or the referenced cluster does not exist, Envoy will
* return a 404 response.
* .. attention::
* Internally, Envoy always uses the HTTP/2 *:authority* header to represent the HTTP/1
* *Host* header. Thus, if attempting to match on *Host*, match on *:authority* instead.
*
*
* string cluster_header = 2 [(.validate.rules) = { ... }
*/
com.google.protobuf.ByteString
getClusterHeaderBytes();
/**
*
* Multiple upstream clusters can be specified for a given route. The
* request is routed to one of the upstream clusters based on weights
* assigned to each cluster. See
* :ref:`traffic splitting <config_http_conn_man_route_table_traffic_splitting_split>`
* for additional documentation.
*
*
* .envoy.config.route.v3.WeightedCluster weighted_clusters = 3;
*/
boolean hasWeightedClusters();
/**
*
* Multiple upstream clusters can be specified for a given route. The
* request is routed to one of the upstream clusters based on weights
* assigned to each cluster. See
* :ref:`traffic splitting <config_http_conn_man_route_table_traffic_splitting_split>`
* for additional documentation.
*
*
* .envoy.config.route.v3.WeightedCluster weighted_clusters = 3;
*/
io.envoyproxy.envoy.config.route.v3.WeightedCluster getWeightedClusters();
/**
*
* Multiple upstream clusters can be specified for a given route. The
* request is routed to one of the upstream clusters based on weights
* assigned to each cluster. See
* :ref:`traffic splitting <config_http_conn_man_route_table_traffic_splitting_split>`
* for additional documentation.
*
*
* .envoy.config.route.v3.WeightedCluster weighted_clusters = 3;
*/
io.envoyproxy.envoy.config.route.v3.WeightedClusterOrBuilder getWeightedClustersOrBuilder();
/**
*
* The HTTP status code to use when configured cluster is not found.
* The default response code is 503 Service Unavailable.
*
*
* .envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode cluster_not_found_response_code = 20 [(.validate.rules) = { ... }
*/
int getClusterNotFoundResponseCodeValue();
/**
*
* The HTTP status code to use when configured cluster is not found.
* The default response code is 503 Service Unavailable.
*
*
* .envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode cluster_not_found_response_code = 20 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.ClusterNotFoundResponseCode getClusterNotFoundResponseCode();
/**
*
* Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
* in the upstream cluster with metadata matching what's set in this field will be considered
* for load balancing. If using :ref:`weighted_clusters
* <envoy_api_field_config.route.v3.RouteAction.weighted_clusters>`, metadata will be merged, with values
* provided there taking precedence. The filter name should be specified as *envoy.lb*.
*
*
* .envoy.config.core.v3.Metadata metadata_match = 4;
*/
boolean hasMetadataMatch();
/**
*
* Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
* in the upstream cluster with metadata matching what's set in this field will be considered
* for load balancing. If using :ref:`weighted_clusters
* <envoy_api_field_config.route.v3.RouteAction.weighted_clusters>`, metadata will be merged, with values
* provided there taking precedence. The filter name should be specified as *envoy.lb*.
*
*
* .envoy.config.core.v3.Metadata metadata_match = 4;
*/
io.envoyproxy.envoy.config.core.v3.Metadata getMetadataMatch();
/**
*
* Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints
* in the upstream cluster with metadata matching what's set in this field will be considered
* for load balancing. If using :ref:`weighted_clusters
* <envoy_api_field_config.route.v3.RouteAction.weighted_clusters>`, metadata will be merged, with values
* provided there taking precedence. The filter name should be specified as *envoy.lb*.
*
*
* .envoy.config.core.v3.Metadata metadata_match = 4;
*/
io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataMatchOrBuilder();
/**
*
* Indicates that during forwarding, the matched prefix (or path) should be
* swapped with this value. This option allows application URLs to be rooted
* at a different path from those exposed at the reverse proxy layer. The router filter will
* place the original path before rewrite into the :ref:`x-envoy-original-path
* <config_http_filters_router_x-envoy-original-path>` header.
* .. attention::
* Pay careful attention to the use of trailing slashes in the
* :ref:`route's match <envoy_api_field_config.route.v3.Route.match>` prefix value.
* Stripping a prefix from a path requires multiple Routes to handle all cases. For example,
* rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single
* :ref:`Route <envoy_api_msg_config.route.v3.Route>`, as shown by the below config entries:
* .. code-block:: yaml
* - match:
* prefix: "/prefix/"
* route:
* prefix_rewrite: "/"
* - match:
* prefix: "/prefix"
* route:
* prefix_rewrite: "/"
* Having above entries in the config, requests to */prefix* will be stripped to */*, while
* requests to */prefix/etc* will be stripped to */etc*.
*
*
* string prefix_rewrite = 5;
*/
java.lang.String getPrefixRewrite();
/**
*
* Indicates that during forwarding, the matched prefix (or path) should be
* swapped with this value. This option allows application URLs to be rooted
* at a different path from those exposed at the reverse proxy layer. The router filter will
* place the original path before rewrite into the :ref:`x-envoy-original-path
* <config_http_filters_router_x-envoy-original-path>` header.
* .. attention::
* Pay careful attention to the use of trailing slashes in the
* :ref:`route's match <envoy_api_field_config.route.v3.Route.match>` prefix value.
* Stripping a prefix from a path requires multiple Routes to handle all cases. For example,
* rewriting */prefix* to */* and */prefix/etc* to */etc* cannot be done in a single
* :ref:`Route <envoy_api_msg_config.route.v3.Route>`, as shown by the below config entries:
* .. code-block:: yaml
* - match:
* prefix: "/prefix/"
* route:
* prefix_rewrite: "/"
* - match:
* prefix: "/prefix"
* route:
* prefix_rewrite: "/"
* Having above entries in the config, requests to */prefix* will be stripped to */*, while
* requests to */prefix/etc* will be stripped to */etc*.
*
*
* string prefix_rewrite = 5;
*/
com.google.protobuf.ByteString
getPrefixRewriteBytes();
/**
*
* Indicates that during forwarding, the host header will be swapped with
* this value.
*
*
* string host_rewrite_literal = 6;
*/
java.lang.String getHostRewriteLiteral();
/**
*
* Indicates that during forwarding, the host header will be swapped with
* this value.
*
*
* string host_rewrite_literal = 6;
*/
com.google.protobuf.ByteString
getHostRewriteLiteralBytes();
/**
*
* Indicates that during forwarding, the host header will be swapped with
* the hostname of the upstream host chosen by the cluster manager. This
* option is applicable only when the destination cluster for a route is of
* type *strict_dns* or *logical_dns*. Setting this to true with other cluster
* types has no effect.
*
*
* .google.protobuf.BoolValue auto_host_rewrite = 7;
*/
boolean hasAutoHostRewrite();
/**
*
* Indicates that during forwarding, the host header will be swapped with
* the hostname of the upstream host chosen by the cluster manager. This
* option is applicable only when the destination cluster for a route is of
* type *strict_dns* or *logical_dns*. Setting this to true with other cluster
* types has no effect.
*
*
* .google.protobuf.BoolValue auto_host_rewrite = 7;
*/
com.google.protobuf.BoolValue getAutoHostRewrite();
/**
*
* Indicates that during forwarding, the host header will be swapped with
* the hostname of the upstream host chosen by the cluster manager. This
* option is applicable only when the destination cluster for a route is of
* type *strict_dns* or *logical_dns*. Setting this to true with other cluster
* types has no effect.
*
*
* .google.protobuf.BoolValue auto_host_rewrite = 7;
*/
com.google.protobuf.BoolValueOrBuilder getAutoHostRewriteOrBuilder();
/**
*
* Indicates that during forwarding, the host header will be swapped with the content of given
* downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header.
* If header value is empty, host header is left intact.
* .. attention::
* Pay attention to the potential security implications of using this option. Provided header
* must come from trusted source.
*
*
* string host_rewrite_header = 29;
*/
java.lang.String getHostRewriteHeader();
/**
*
* Indicates that during forwarding, the host header will be swapped with the content of given
* downstream or :ref:`custom <config_http_conn_man_headers_custom_request_headers>` header.
* If header value is empty, host header is left intact.
* .. attention::
* Pay attention to the potential security implications of using this option. Provided header
* must come from trusted source.
*
*
* string host_rewrite_header = 29;
*/
com.google.protobuf.ByteString
getHostRewriteHeaderBytes();
/**
*
* Specifies the upstream timeout for the route. If not specified, the default is 15s. This
* spans between the point at which the entire downstream request (i.e. end-of-stream) has been
* processed and when the upstream response has been completely processed. A value of 0 will
* disable the route's timeout.
* .. note::
* This timeout includes all retries. See also
* :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
* :ref:`retry overview <arch_overview_http_routing_retry>`.
*
*
* .google.protobuf.Duration timeout = 8;
*/
boolean hasTimeout();
/**
*
* Specifies the upstream timeout for the route. If not specified, the default is 15s. This
* spans between the point at which the entire downstream request (i.e. end-of-stream) has been
* processed and when the upstream response has been completely processed. A value of 0 will
* disable the route's timeout.
* .. note::
* This timeout includes all retries. See also
* :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
* :ref:`retry overview <arch_overview_http_routing_retry>`.
*
*
* .google.protobuf.Duration timeout = 8;
*/
com.google.protobuf.Duration getTimeout();
/**
*
* Specifies the upstream timeout for the route. If not specified, the default is 15s. This
* spans between the point at which the entire downstream request (i.e. end-of-stream) has been
* processed and when the upstream response has been completely processed. A value of 0 will
* disable the route's timeout.
* .. note::
* This timeout includes all retries. See also
* :ref:`config_http_filters_router_x-envoy-upstream-rq-timeout-ms`,
* :ref:`config_http_filters_router_x-envoy-upstream-rq-per-try-timeout-ms`, and the
* :ref:`retry overview <arch_overview_http_routing_retry>`.
*
*
* .google.protobuf.Duration timeout = 8;
*/
com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder();
/**
*
* Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout,
* although the connection manager wide :ref:`stream_idle_timeout
* <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* will still apply. A value of 0 will completely disable the route's idle timeout, even if a
* connection manager stream idle timeout is configured.
* The idle timeout is distinct to :ref:`timeout
* <envoy_api_field_config.route.v3.RouteAction.timeout>`, which provides an upper bound
* on the upstream response time; :ref:`idle_timeout
* <envoy_api_field_config.route.v3.RouteAction.idle_timeout>` instead bounds the amount
* of time the request's stream may be idle.
* After header decoding, the idle timeout will apply on downstream and
* upstream request events. Each time an encode/decode event for headers or
* data is processed for the stream, the timer will be reset. If the timeout
* fires, the stream is terminated with a 408 Request Timeout error code if no
* upstream response header has been received, otherwise a stream reset
* occurs.
*
*
* .google.protobuf.Duration idle_timeout = 24;
*/
boolean hasIdleTimeout();
/**
*
* Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout,
* although the connection manager wide :ref:`stream_idle_timeout
* <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* will still apply. A value of 0 will completely disable the route's idle timeout, even if a
* connection manager stream idle timeout is configured.
* The idle timeout is distinct to :ref:`timeout
* <envoy_api_field_config.route.v3.RouteAction.timeout>`, which provides an upper bound
* on the upstream response time; :ref:`idle_timeout
* <envoy_api_field_config.route.v3.RouteAction.idle_timeout>` instead bounds the amount
* of time the request's stream may be idle.
* After header decoding, the idle timeout will apply on downstream and
* upstream request events. Each time an encode/decode event for headers or
* data is processed for the stream, the timer will be reset. If the timeout
* fires, the stream is terminated with a 408 Request Timeout error code if no
* upstream response header has been received, otherwise a stream reset
* occurs.
*
*
* .google.protobuf.Duration idle_timeout = 24;
*/
com.google.protobuf.Duration getIdleTimeout();
/**
*
* Specifies the idle timeout for the route. If not specified, there is no per-route idle timeout,
* although the connection manager wide :ref:`stream_idle_timeout
* <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
* will still apply. A value of 0 will completely disable the route's idle timeout, even if a
* connection manager stream idle timeout is configured.
* The idle timeout is distinct to :ref:`timeout
* <envoy_api_field_config.route.v3.RouteAction.timeout>`, which provides an upper bound
* on the upstream response time; :ref:`idle_timeout
* <envoy_api_field_config.route.v3.RouteAction.idle_timeout>` instead bounds the amount
* of time the request's stream may be idle.
* After header decoding, the idle timeout will apply on downstream and
* upstream request events. Each time an encode/decode event for headers or
* data is processed for the stream, the timer will be reset. If the timeout
* fires, the stream is terminated with a 408 Request Timeout error code if no
* upstream response header has been received, otherwise a stream reset
* occurs.
*
*
* .google.protobuf.Duration idle_timeout = 24;
*/
com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder();
/**
*
* Indicates that the route has a retry policy. Note that if this is set,
* it'll take precedence over the virtual host level retry policy entirely
* (e.g.: policies are not merged, most internal one becomes the enforced policy).
*
*
* .envoy.config.route.v3.RetryPolicy retry_policy = 9;
*/
boolean hasRetryPolicy();
/**
*
* Indicates that the route has a retry policy. Note that if this is set,
* it'll take precedence over the virtual host level retry policy entirely
* (e.g.: policies are not merged, most internal one becomes the enforced policy).
*
*
* .envoy.config.route.v3.RetryPolicy retry_policy = 9;
*/
io.envoyproxy.envoy.config.route.v3.RetryPolicy getRetryPolicy();
/**
*
* Indicates that the route has a retry policy. Note that if this is set,
* it'll take precedence over the virtual host level retry policy entirely
* (e.g.: policies are not merged, most internal one becomes the enforced policy).
*
*
* .envoy.config.route.v3.RetryPolicy retry_policy = 9;
*/
io.envoyproxy.envoy.config.route.v3.RetryPolicyOrBuilder getRetryPolicyOrBuilder();
/**
*
* Indicates that the route has request mirroring policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
java.util.List
getRequestMirrorPoliciesList();
/**
*
* Indicates that the route has request mirroring policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicy getRequestMirrorPolicies(int index);
/**
*
* Indicates that the route has request mirroring policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
int getRequestMirrorPoliciesCount();
/**
*
* Indicates that the route has request mirroring policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
java.util.List extends io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder>
getRequestMirrorPoliciesOrBuilderList();
/**
*
* Indicates that the route has request mirroring policies.
*
*
* repeated .envoy.config.route.v3.RouteAction.RequestMirrorPolicy request_mirror_policies = 30;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.RequestMirrorPolicyOrBuilder getRequestMirrorPoliciesOrBuilder(
int index);
/**
*
* Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
*
*
* .envoy.config.core.v3.RoutingPriority priority = 11 [(.validate.rules) = { ... }
*/
int getPriorityValue();
/**
*
* Optionally specifies the :ref:`routing priority <arch_overview_http_routing_priority>`.
*
*
* .envoy.config.core.v3.RoutingPriority priority = 11 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.core.v3.RoutingPriority getPriority();
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
java.util.List
getRateLimitsList();
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
io.envoyproxy.envoy.config.route.v3.RateLimit getRateLimits(int index);
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
int getRateLimitsCount();
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
java.util.List extends io.envoyproxy.envoy.config.route.v3.RateLimitOrBuilder>
getRateLimitsOrBuilderList();
/**
*
* Specifies a set of rate limit configurations that could be applied to the
* route.
*
*
* repeated .envoy.config.route.v3.RateLimit rate_limits = 13;
*/
io.envoyproxy.envoy.config.route.v3.RateLimitOrBuilder getRateLimitsOrBuilder(
int index);
/**
*
* Specifies if the rate limit filter should include the virtual host rate
* limits. By default, if the route configured rate limits, the virtual host
* :ref:`rate_limits <envoy_api_field_config.route.v3.VirtualHost.rate_limits>` are not applied to the
* request.
*
*
* .google.protobuf.BoolValue include_vh_rate_limits = 14;
*/
boolean hasIncludeVhRateLimits();
/**
*
* Specifies if the rate limit filter should include the virtual host rate
* limits. By default, if the route configured rate limits, the virtual host
* :ref:`rate_limits <envoy_api_field_config.route.v3.VirtualHost.rate_limits>` are not applied to the
* request.
*
*
* .google.protobuf.BoolValue include_vh_rate_limits = 14;
*/
com.google.protobuf.BoolValue getIncludeVhRateLimits();
/**
*
* Specifies if the rate limit filter should include the virtual host rate
* limits. By default, if the route configured rate limits, the virtual host
* :ref:`rate_limits <envoy_api_field_config.route.v3.VirtualHost.rate_limits>` are not applied to the
* request.
*
*
* .google.protobuf.BoolValue include_vh_rate_limits = 14;
*/
com.google.protobuf.BoolValueOrBuilder getIncludeVhRateLimitsOrBuilder();
/**
*
* Specifies a list of hash policies to use for ring hash load balancing. Each
* hash policy is evaluated individually and the combined result is used to
* route the request. The method of combination is deterministic such that
* identical lists of hash policies will produce the same hash. Since a hash
* policy examines specific parts of a request, it can fail to produce a hash
* (i.e. if the hashed header is not present). If (and only if) all configured
* hash policies fail to generate a hash, no hash will be produced for
* the route. In this case, the behavior is the same as if no hash policies
* were specified (i.e. the ring hash load balancer will choose a random
* backend). If a hash policy has the "terminal" attribute set to true, and
* there is already a hash generated, the hash is returned immediately,
* ignoring the rest of the hash policy list.
*
*
* repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 15;
*/
java.util.List
getHashPolicyList();
/**
*
* Specifies a list of hash policies to use for ring hash load balancing. Each
* hash policy is evaluated individually and the combined result is used to
* route the request. The method of combination is deterministic such that
* identical lists of hash policies will produce the same hash. Since a hash
* policy examines specific parts of a request, it can fail to produce a hash
* (i.e. if the hashed header is not present). If (and only if) all configured
* hash policies fail to generate a hash, no hash will be produced for
* the route. In this case, the behavior is the same as if no hash policies
* were specified (i.e. the ring hash load balancer will choose a random
* backend). If a hash policy has the "terminal" attribute set to true, and
* there is already a hash generated, the hash is returned immediately,
* ignoring the rest of the hash policy list.
*
*
* repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 15;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.HashPolicy getHashPolicy(int index);
/**
*
* Specifies a list of hash policies to use for ring hash load balancing. Each
* hash policy is evaluated individually and the combined result is used to
* route the request. The method of combination is deterministic such that
* identical lists of hash policies will produce the same hash. Since a hash
* policy examines specific parts of a request, it can fail to produce a hash
* (i.e. if the hashed header is not present). If (and only if) all configured
* hash policies fail to generate a hash, no hash will be produced for
* the route. In this case, the behavior is the same as if no hash policies
* were specified (i.e. the ring hash load balancer will choose a random
* backend). If a hash policy has the "terminal" attribute set to true, and
* there is already a hash generated, the hash is returned immediately,
* ignoring the rest of the hash policy list.
*
*
* repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 15;
*/
int getHashPolicyCount();
/**
*
* Specifies a list of hash policies to use for ring hash load balancing. Each
* hash policy is evaluated individually and the combined result is used to
* route the request. The method of combination is deterministic such that
* identical lists of hash policies will produce the same hash. Since a hash
* policy examines specific parts of a request, it can fail to produce a hash
* (i.e. if the hashed header is not present). If (and only if) all configured
* hash policies fail to generate a hash, no hash will be produced for
* the route. In this case, the behavior is the same as if no hash policies
* were specified (i.e. the ring hash load balancer will choose a random
* backend). If a hash policy has the "terminal" attribute set to true, and
* there is already a hash generated, the hash is returned immediately,
* ignoring the rest of the hash policy list.
*
*
* repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 15;
*/
java.util.List extends io.envoyproxy.envoy.config.route.v3.RouteAction.HashPolicyOrBuilder>
getHashPolicyOrBuilderList();
/**
*
* Specifies a list of hash policies to use for ring hash load balancing. Each
* hash policy is evaluated individually and the combined result is used to
* route the request. The method of combination is deterministic such that
* identical lists of hash policies will produce the same hash. Since a hash
* policy examines specific parts of a request, it can fail to produce a hash
* (i.e. if the hashed header is not present). If (and only if) all configured
* hash policies fail to generate a hash, no hash will be produced for
* the route. In this case, the behavior is the same as if no hash policies
* were specified (i.e. the ring hash load balancer will choose a random
* backend). If a hash policy has the "terminal" attribute set to true, and
* there is already a hash generated, the hash is returned immediately,
* ignoring the rest of the hash policy list.
*
*
* repeated .envoy.config.route.v3.RouteAction.HashPolicy hash_policy = 15;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.HashPolicyOrBuilder getHashPolicyOrBuilder(
int index);
/**
*
* Indicates that the route has a CORS policy.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 17;
*/
boolean hasCors();
/**
*
* Indicates that the route has a CORS policy.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 17;
*/
io.envoyproxy.envoy.config.route.v3.CorsPolicy getCors();
/**
*
* Indicates that the route has a CORS policy.
*
*
* .envoy.config.route.v3.CorsPolicy cors = 17;
*/
io.envoyproxy.envoy.config.route.v3.CorsPolicyOrBuilder getCorsOrBuilder();
/**
*
* If present, and the request is a gRPC request, use the
* `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
* or its default value (infinity) instead of
* :ref:`timeout <envoy_api_field_config.route.v3.RouteAction.timeout>`, but limit the applied timeout
* to the maximum value specified here. If configured as 0, the maximum allowed timeout for
* gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used
* and gRPC requests time out like any other requests using
* :ref:`timeout <envoy_api_field_config.route.v3.RouteAction.timeout>` or its default.
* This can be used to prevent unexpected upstream request timeouts due to potentially long
* time gaps between gRPC request and response in gRPC streaming mode.
*
*
* .google.protobuf.Duration max_grpc_timeout = 23;
*/
boolean hasMaxGrpcTimeout();
/**
*
* If present, and the request is a gRPC request, use the
* `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
* or its default value (infinity) instead of
* :ref:`timeout <envoy_api_field_config.route.v3.RouteAction.timeout>`, but limit the applied timeout
* to the maximum value specified here. If configured as 0, the maximum allowed timeout for
* gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used
* and gRPC requests time out like any other requests using
* :ref:`timeout <envoy_api_field_config.route.v3.RouteAction.timeout>` or its default.
* This can be used to prevent unexpected upstream request timeouts due to potentially long
* time gaps between gRPC request and response in gRPC streaming mode.
*
*
* .google.protobuf.Duration max_grpc_timeout = 23;
*/
com.google.protobuf.Duration getMaxGrpcTimeout();
/**
*
* If present, and the request is a gRPC request, use the
* `grpc-timeout header <https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md>`_,
* or its default value (infinity) instead of
* :ref:`timeout <envoy_api_field_config.route.v3.RouteAction.timeout>`, but limit the applied timeout
* to the maximum value specified here. If configured as 0, the maximum allowed timeout for
* gRPC requests is infinity. If not configured at all, the `grpc-timeout` header is not used
* and gRPC requests time out like any other requests using
* :ref:`timeout <envoy_api_field_config.route.v3.RouteAction.timeout>` or its default.
* This can be used to prevent unexpected upstream request timeouts due to potentially long
* time gaps between gRPC request and response in gRPC streaming mode.
*
*
* .google.protobuf.Duration max_grpc_timeout = 23;
*/
com.google.protobuf.DurationOrBuilder getMaxGrpcTimeoutOrBuilder();
/**
*
* If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting
* the provided duration from the header. This is useful in allowing Envoy to set its global
* timeout to be less than that of the deadline imposed by the calling client, which makes it more
* likely that Envoy will handle the timeout instead of having the call canceled by the client.
* The offset will only be applied if the provided grpc_timeout is greater than the offset. This
* ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning
* infinity).
*
*
* .google.protobuf.Duration grpc_timeout_offset = 28;
*/
boolean hasGrpcTimeoutOffset();
/**
*
* If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting
* the provided duration from the header. This is useful in allowing Envoy to set its global
* timeout to be less than that of the deadline imposed by the calling client, which makes it more
* likely that Envoy will handle the timeout instead of having the call canceled by the client.
* The offset will only be applied if the provided grpc_timeout is greater than the offset. This
* ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning
* infinity).
*
*
* .google.protobuf.Duration grpc_timeout_offset = 28;
*/
com.google.protobuf.Duration getGrpcTimeoutOffset();
/**
*
* If present, Envoy will adjust the timeout provided by the `grpc-timeout` header by subtracting
* the provided duration from the header. This is useful in allowing Envoy to set its global
* timeout to be less than that of the deadline imposed by the calling client, which makes it more
* likely that Envoy will handle the timeout instead of having the call canceled by the client.
* The offset will only be applied if the provided grpc_timeout is greater than the offset. This
* ensures that the offset will only ever decrease the timeout and never set it to 0 (meaning
* infinity).
*
*
* .google.protobuf.Duration grpc_timeout_offset = 28;
*/
com.google.protobuf.DurationOrBuilder getGrpcTimeoutOffsetOrBuilder();
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
java.util.List
getUpgradeConfigsList();
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.UpgradeConfig getUpgradeConfigs(int index);
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
int getUpgradeConfigsCount();
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
java.util.List extends io.envoyproxy.envoy.config.route.v3.RouteAction.UpgradeConfigOrBuilder>
getUpgradeConfigsOrBuilderList();
/**
* repeated .envoy.config.route.v3.RouteAction.UpgradeConfig upgrade_configs = 25;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.UpgradeConfigOrBuilder getUpgradeConfigsOrBuilder(
int index);
/**
* .envoy.config.route.v3.RouteAction.InternalRedirectAction internal_redirect_action = 26;
*/
int getInternalRedirectActionValue();
/**
* .envoy.config.route.v3.RouteAction.InternalRedirectAction internal_redirect_action = 26;
*/
io.envoyproxy.envoy.config.route.v3.RouteAction.InternalRedirectAction getInternalRedirectAction();
/**
*
* An internal redirect is handled, iff the number of previous internal redirects that a
* downstream request has encountered is lower than this value, and
* :ref:`internal_redirect_action <envoy_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* is set to :ref:`HANDLE_INTERNAL_REDIRECT
* <envoy_api_enum_value_config.route.v3.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>`
* In the case where a downstream request is bounced among multiple routes by internal redirect,
* the first route that hits this threshold, or has
* :ref:`internal_redirect_action <envoy_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* set to
* :ref:`PASS_THROUGH_INTERNAL_REDIRECT
* <envoy_api_enum_value_config.route.v3.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>`
* will pass the redirect back to downstream.
* If not specified, at most one redirect will be followed.
*
*
* .google.protobuf.UInt32Value max_internal_redirects = 31;
*/
boolean hasMaxInternalRedirects();
/**
*
* An internal redirect is handled, iff the number of previous internal redirects that a
* downstream request has encountered is lower than this value, and
* :ref:`internal_redirect_action <envoy_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* is set to :ref:`HANDLE_INTERNAL_REDIRECT
* <envoy_api_enum_value_config.route.v3.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>`
* In the case where a downstream request is bounced among multiple routes by internal redirect,
* the first route that hits this threshold, or has
* :ref:`internal_redirect_action <envoy_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* set to
* :ref:`PASS_THROUGH_INTERNAL_REDIRECT
* <envoy_api_enum_value_config.route.v3.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>`
* will pass the redirect back to downstream.
* If not specified, at most one redirect will be followed.
*
*
* .google.protobuf.UInt32Value max_internal_redirects = 31;
*/
com.google.protobuf.UInt32Value getMaxInternalRedirects();
/**
*
* An internal redirect is handled, iff the number of previous internal redirects that a
* downstream request has encountered is lower than this value, and
* :ref:`internal_redirect_action <envoy_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* is set to :ref:`HANDLE_INTERNAL_REDIRECT
* <envoy_api_enum_value_config.route.v3.RouteAction.InternalRedirectAction.HANDLE_INTERNAL_REDIRECT>`
* In the case where a downstream request is bounced among multiple routes by internal redirect,
* the first route that hits this threshold, or has
* :ref:`internal_redirect_action <envoy_api_field_config.route.v3.RouteAction.internal_redirect_action>`
* set to
* :ref:`PASS_THROUGH_INTERNAL_REDIRECT
* <envoy_api_enum_value_config.route.v3.RouteAction.InternalRedirectAction.PASS_THROUGH_INTERNAL_REDIRECT>`
* will pass the redirect back to downstream.
* If not specified, at most one redirect will be followed.
*
*
* .google.protobuf.UInt32Value max_internal_redirects = 31;
*/
com.google.protobuf.UInt32ValueOrBuilder getMaxInternalRedirectsOrBuilder();
/**
*
* Indicates that the route has a hedge policy. Note that if this is set,
* it'll take precedence over the virtual host level hedge policy entirely
* (e.g.: policies are not merged, most internal one becomes the enforced policy).
*
*
* .envoy.config.route.v3.HedgePolicy hedge_policy = 27;
*/
boolean hasHedgePolicy();
/**
*
* Indicates that the route has a hedge policy. Note that if this is set,
* it'll take precedence over the virtual host level hedge policy entirely
* (e.g.: policies are not merged, most internal one becomes the enforced policy).
*
*
* .envoy.config.route.v3.HedgePolicy hedge_policy = 27;
*/
io.envoyproxy.envoy.config.route.v3.HedgePolicy getHedgePolicy();
/**
*
* Indicates that the route has a hedge policy. Note that if this is set,
* it'll take precedence over the virtual host level hedge policy entirely
* (e.g.: policies are not merged, most internal one becomes the enforced policy).
*
*
* .envoy.config.route.v3.HedgePolicy hedge_policy = 27;
*/
io.envoyproxy.envoy.config.route.v3.HedgePolicyOrBuilder getHedgePolicyOrBuilder();
public io.envoyproxy.envoy.config.route.v3.RouteAction.ClusterSpecifierCase getClusterSpecifierCase();
public io.envoyproxy.envoy.config.route.v3.RouteAction.HostRewriteSpecifierCase getHostRewriteSpecifierCase();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy