// 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 RouteOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.route.v3.Route)
com.google.protobuf.MessageOrBuilder {
/**
*
* Name for the route.
*
*
* string name = 14;
* @return The name.
*/
java.lang.String getName();
/**
*
* Name for the route.
*
*
* string name = 14;
* @return The bytes for name.
*/
com.google.protobuf.ByteString
getNameBytes();
/**
*
* Route matching parameters.
*
*
* .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... }
* @return Whether the match field is set.
*/
boolean hasMatch();
/**
*
* Route matching parameters.
*
*
* .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... }
* @return The match.
*/
io.envoyproxy.envoy.config.route.v3.RouteMatch getMatch();
/**
*
* Route matching parameters.
*
*
* .envoy.config.route.v3.RouteMatch match = 1 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.route.v3.RouteMatchOrBuilder getMatchOrBuilder();
/**
*
* Route request to some upstream cluster.
*
*
* .envoy.config.route.v3.RouteAction route = 2;
* @return Whether the route field is set.
*/
boolean hasRoute();
/**
*
* Route request to some upstream cluster.
*
*
* .envoy.config.route.v3.RouteAction route = 2;
* @return The route.
*/
io.envoyproxy.envoy.config.route.v3.RouteAction getRoute();
/**
*
* Route request to some upstream cluster.
*
*
* .envoy.config.route.v3.RouteAction route = 2;
*/
io.envoyproxy.envoy.config.route.v3.RouteActionOrBuilder getRouteOrBuilder();
/**
*
* Return a redirect.
*
*
* .envoy.config.route.v3.RedirectAction redirect = 3;
* @return Whether the redirect field is set.
*/
boolean hasRedirect();
/**
*
* Return a redirect.
*
*
* .envoy.config.route.v3.RedirectAction redirect = 3;
* @return The redirect.
*/
io.envoyproxy.envoy.config.route.v3.RedirectAction getRedirect();
/**
*
* Return a redirect.
*
*
* .envoy.config.route.v3.RedirectAction redirect = 3;
*/
io.envoyproxy.envoy.config.route.v3.RedirectActionOrBuilder getRedirectOrBuilder();
/**
*
* Return an arbitrary HTTP response directly, without proxying.
*
*
* .envoy.config.route.v3.DirectResponseAction direct_response = 7;
* @return Whether the directResponse field is set.
*/
boolean hasDirectResponse();
/**
*
* Return an arbitrary HTTP response directly, without proxying.
*
*
* .envoy.config.route.v3.DirectResponseAction direct_response = 7;
* @return The directResponse.
*/
io.envoyproxy.envoy.config.route.v3.DirectResponseAction getDirectResponse();
/**
*
* Return an arbitrary HTTP response directly, without proxying.
*
*
* .envoy.config.route.v3.DirectResponseAction direct_response = 7;
*/
io.envoyproxy.envoy.config.route.v3.DirectResponseActionOrBuilder getDirectResponseOrBuilder();
/**
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
*
* .envoy.config.route.v3.FilterAction filter_action = 17;
* @return Whether the filterAction field is set.
*/
boolean hasFilterAction();
/**
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
*
* .envoy.config.route.v3.FilterAction filter_action = 17;
* @return The filterAction.
*/
io.envoyproxy.envoy.config.route.v3.FilterAction getFilterAction();
/**
*
* [#not-implemented-hide:]
* A filter-defined action (e.g., it could dynamically generate the RouteAction).
* [#comment: TODO(samflattery): Remove cleanup in route_fuzz_test.cc when
* implemented]
*
*
* .envoy.config.route.v3.FilterAction filter_action = 17;
*/
io.envoyproxy.envoy.config.route.v3.FilterActionOrBuilder getFilterActionOrBuilder();
/**
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
*
* .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18;
* @return Whether the nonForwardingAction field is set.
*/
boolean hasNonForwardingAction();
/**
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
*
* .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18;
* @return The nonForwardingAction.
*/
io.envoyproxy.envoy.config.route.v3.NonForwardingAction getNonForwardingAction();
/**
*
* [#not-implemented-hide:]
* An action used when the route will generate a response directly,
* without forwarding to an upstream host. This will be used in non-proxy
* xDS clients like the gRPC server. It could also be used in the future
* in Envoy for a filter that directly generates responses for requests.
*
*
* .envoy.config.route.v3.NonForwardingAction non_forwarding_action = 18;
*/
io.envoyproxy.envoy.config.route.v3.NonForwardingActionOrBuilder getNonForwardingActionOrBuilder();
/**
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
*
* .envoy.config.core.v3.Metadata metadata = 4;
* @return Whether the metadata field is set.
*/
boolean hasMetadata();
/**
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
*
* .envoy.config.core.v3.Metadata metadata = 4;
* @return The metadata.
*/
io.envoyproxy.envoy.config.core.v3.Metadata getMetadata();
/**
*
* The Metadata field can be used to provide additional information
* about the route. It can be used for configuration, stats, and logging.
* The metadata should go under the filter namespace that will need it.
* For instance, if the metadata is intended for the Router filter,
* the filter name should be specified as ``envoy.filters.http.router``.
*
*
* .envoy.config.core.v3.Metadata metadata = 4;
*/
io.envoyproxy.envoy.config.core.v3.MetadataOrBuilder getMetadataOrBuilder();
/**
*
* Decorator for the matched route.
*
*
* .envoy.config.route.v3.Decorator decorator = 5;
* @return Whether the decorator field is set.
*/
boolean hasDecorator();
/**
*
* Decorator for the matched route.
*
*
* .envoy.config.route.v3.Decorator decorator = 5;
* @return The decorator.
*/
io.envoyproxy.envoy.config.route.v3.Decorator getDecorator();
/**
*
* Decorator for the matched route.
*
*
* .envoy.config.route.v3.Decorator decorator = 5;
*/
io.envoyproxy.envoy.config.route.v3.DecoratorOrBuilder getDecoratorOrBuilder();
/**
*
* This field can be used to provide route specific per filter config. The key should match the
* :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
* for details.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
int getTypedPerFilterConfigCount();
/**
*
* This field can be used to provide route specific per filter config. The key should match the
* :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
* for details.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
boolean containsTypedPerFilterConfig(
java.lang.String key);
/**
* Use {@link #getTypedPerFilterConfigMap()} instead.
*/
@java.lang.Deprecated
java.util.Map
getTypedPerFilterConfig();
/**
*
* This field can be used to provide route specific per filter config. The key should match the
* :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
* for details.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
java.util.Map
getTypedPerFilterConfigMap();
/**
*
* This field can be used to provide route specific per filter config. The key should match the
* :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
* for details.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
/* nullable */
com.google.protobuf.Any getTypedPerFilterConfigOrDefault(
java.lang.String key,
/* nullable */
com.google.protobuf.Any defaultValue);
/**
*
* This field can be used to provide route specific per filter config. The key should match the
* :ref:`filter config name
* <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpFilter.name>`.
* See :ref:`Http filter route specific config <arch_overview_http_filters_per_filter_config>`
* for details.
* [#comment: An entry's value may be wrapped in a
* :ref:`FilterConfig<envoy_v3_api_msg_config.route.v3.FilterConfig>`
* message to specify additional options.]
*
*
* map<string, .google.protobuf.Any> typed_per_filter_config = 13;
*/
com.google.protobuf.Any getTypedPerFilterConfigOrThrow(
java.lang.String key);
/**
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... }
*/
java.util.List
getRequestHeadersToAddList();
/**
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.core.v3.HeaderValueOption getRequestHeadersToAdd(int index);
/**
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... }
*/
int getRequestHeadersToAddCount();
/**
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... }
*/
java.util.List extends io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder>
getRequestHeadersToAddOrBuilderList();
/**
*
* Specifies a set of headers that will be added to requests matching this
* route. Headers specified at this level are applied before headers from the
* enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including details on
* header value syntax, see the documentation on :ref:`custom request headers
* <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add = 9 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder getRequestHeadersToAddOrBuilder(
int index);
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @return A list containing the requestHeadersToRemove.
*/
java.util.List
getRequestHeadersToRemoveList();
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @return The count of requestHeadersToRemove.
*/
int getRequestHeadersToRemoveCount();
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param index The index of the element to return.
* @return The requestHeadersToRemove at the given index.
*/
java.lang.String getRequestHeadersToRemove(int index);
/**
*
* Specifies a list of HTTP headers that should be removed from each request
* matching this route.
*
*
* repeated string request_headers_to_remove = 12 [(.validate.rules) = { ... }
* @param index The index of the value to return.
* @return The bytes of the requestHeadersToRemove at the given index.
*/
com.google.protobuf.ByteString
getRequestHeadersToRemoveBytes(int index);
/**
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... }
*/
java.util.List
getResponseHeadersToAddList();
/**
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.core.v3.HeaderValueOption getResponseHeadersToAdd(int index);
/**
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... }
*/
int getResponseHeadersToAddCount();
/**
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... }
*/
java.util.List extends io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder>
getResponseHeadersToAddOrBuilderList();
/**
*
* Specifies a set of headers that will be added to responses to requests
* matching this route. Headers specified at this level are applied before
* headers from the enclosing :ref:`envoy_v3_api_msg_config.route.v3.VirtualHost` and
* :ref:`envoy_v3_api_msg_config.route.v3.RouteConfiguration`. For more information, including
* details on header value syntax, see the documentation on
* :ref:`custom request headers <config_http_conn_man_headers_custom_request_headers>`.
*
*
* repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 10 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.core.v3.HeaderValueOptionOrBuilder getResponseHeadersToAddOrBuilder(
int index);
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @return A list containing the responseHeadersToRemove.
*/
java.util.List
getResponseHeadersToRemoveList();
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @return The count of responseHeadersToRemove.
*/
int getResponseHeadersToRemoveCount();
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @param index The index of the element to return.
* @return The responseHeadersToRemove at the given index.
*/
java.lang.String getResponseHeadersToRemove(int index);
/**
*
* Specifies a list of HTTP headers that should be removed from each response
* to requests matching this route.
*
*
* repeated string response_headers_to_remove = 11 [(.validate.rules) = { ... }
* @param index The index of the value to return.
* @return The bytes of the responseHeadersToRemove at the given index.
*/
com.google.protobuf.ByteString
getResponseHeadersToRemoveBytes(int index);
/**
*
* Presence of the object defines whether the connection manager's tracing configuration
* is overridden by this route specific instance.
*
*
* .envoy.config.route.v3.Tracing tracing = 15;
* @return Whether the tracing field is set.
*/
boolean hasTracing();
/**
*
* Presence of the object defines whether the connection manager's tracing configuration
* is overridden by this route specific instance.
*
*
* .envoy.config.route.v3.Tracing tracing = 15;
* @return The tracing.
*/
io.envoyproxy.envoy.config.route.v3.Tracing getTracing();
/**
*
* Presence of the object defines whether the connection manager's tracing configuration
* is overridden by this route specific instance.
*
*
* .envoy.config.route.v3.Tracing tracing = 15;
*/
io.envoyproxy.envoy.config.route.v3.TracingOrBuilder getTracingOrBuilder();
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16;
* @return Whether the perRequestBufferLimitBytes field is set.
*/
boolean hasPerRequestBufferLimitBytes();
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16;
* @return The perRequestBufferLimitBytes.
*/
com.google.protobuf.UInt32Value getPerRequestBufferLimitBytes();
/**
*
* The maximum bytes which will be buffered for retries and shadowing.
* If set, the bytes actually buffered will be the minimum value of this and the
* listener per_connection_buffer_limit_bytes.
*
*
* .google.protobuf.UInt32Value per_request_buffer_limit_bytes = 16;
*/
com.google.protobuf.UInt32ValueOrBuilder getPerRequestBufferLimitBytesOrBuilder();
/**
*
* The human readable prefix to use when emitting statistics for this endpoint.
* The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
* This should be set for highly critical
* endpoints that one wishes to get “per-route” statistics on.
* If not set, endpoint statistics are not generated.
* The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
* .. warning::
* We do not recommend setting up a stat prefix for
* every application endpoint. This is both not easily maintainable and
* statistics use a non-trivial amount of memory(approximately 1KiB per route).
*
*
* string stat_prefix = 19;
* @return The statPrefix.
*/
java.lang.String getStatPrefix();
/**
*
* The human readable prefix to use when emitting statistics for this endpoint.
* The statistics are rooted at vhost.<virtual host name>.route.<stat_prefix>.
* This should be set for highly critical
* endpoints that one wishes to get “per-route” statistics on.
* If not set, endpoint statistics are not generated.
* The emitted statistics are the same as those documented for :ref:`virtual clusters <config_http_filters_router_vcluster_stats>`.
* .. warning::
* We do not recommend setting up a stat prefix for
* every application endpoint. This is both not easily maintainable and
* statistics use a non-trivial amount of memory(approximately 1KiB per route).
*
*
* string stat_prefix = 19;
* @return The bytes for statPrefix.
*/
com.google.protobuf.ByteString
getStatPrefixBytes();
public io.envoyproxy.envoy.config.route.v3.Route.ActionCase getActionCase();
}