
io.envoyproxy.envoy.config.route.v3.RateLimitOrBuilder Maven / Gradle / Ivy
The newest version!
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: envoy/config/route/v3/route_components.proto
// Protobuf Java Version: 3.25.1
package io.envoyproxy.envoy.config.route.v3;
public interface RateLimitOrBuilder extends
// @@protoc_insertion_point(interface_extends:envoy.config.route.v3.RateLimit)
com.google.protobuf.MessageOrBuilder {
/**
*
* Refers to the stage set in the filter. The rate limit configuration only
* applies to filters with the same stage number. The default stage number is
* 0.
*
* .. note::
*
* The filter supports a range of 0 - 10 inclusively for stage numbers.
*
* .. note::
* This is not supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* .google.protobuf.UInt32Value stage = 1 [(.validate.rules) = { ... }
* @return Whether the stage field is set.
*/
boolean hasStage();
/**
*
* Refers to the stage set in the filter. The rate limit configuration only
* applies to filters with the same stage number. The default stage number is
* 0.
*
* .. note::
*
* The filter supports a range of 0 - 10 inclusively for stage numbers.
*
* .. note::
* This is not supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* .google.protobuf.UInt32Value stage = 1 [(.validate.rules) = { ... }
* @return The stage.
*/
com.google.protobuf.UInt32Value getStage();
/**
*
* Refers to the stage set in the filter. The rate limit configuration only
* applies to filters with the same stage number. The default stage number is
* 0.
*
* .. note::
*
* The filter supports a range of 0 - 10 inclusively for stage numbers.
*
* .. note::
* This is not supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* .google.protobuf.UInt32Value stage = 1 [(.validate.rules) = { ... }
*/
com.google.protobuf.UInt32ValueOrBuilder getStageOrBuilder();
/**
*
* The key to be set in runtime to disable this rate limit configuration.
*
* .. note::
* This is not supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* string disable_key = 2;
* @return The disableKey.
*/
java.lang.String getDisableKey();
/**
*
* The key to be set in runtime to disable this rate limit configuration.
*
* .. note::
* This is not supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* string disable_key = 2;
* @return The bytes for disableKey.
*/
com.google.protobuf.ByteString
getDisableKeyBytes();
/**
*
* A list of actions that are to be applied for this rate limit configuration.
* Order matters as the actions are processed sequentially and the descriptor
* is composed by appending descriptor entries in that sequence. If an action
* cannot append a descriptor entry, no descriptor is generated for the
* configuration. See :ref:`composing actions
* <config_http_filters_rate_limit_composing_actions>` for additional documentation.
*
*
* repeated .envoy.config.route.v3.RateLimit.Action actions = 3 [(.validate.rules) = { ... }
*/
java.util.List
getActionsList();
/**
*
* A list of actions that are to be applied for this rate limit configuration.
* Order matters as the actions are processed sequentially and the descriptor
* is composed by appending descriptor entries in that sequence. If an action
* cannot append a descriptor entry, no descriptor is generated for the
* configuration. See :ref:`composing actions
* <config_http_filters_rate_limit_composing_actions>` for additional documentation.
*
*
* repeated .envoy.config.route.v3.RateLimit.Action actions = 3 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.route.v3.RateLimit.Action getActions(int index);
/**
*
* A list of actions that are to be applied for this rate limit configuration.
* Order matters as the actions are processed sequentially and the descriptor
* is composed by appending descriptor entries in that sequence. If an action
* cannot append a descriptor entry, no descriptor is generated for the
* configuration. See :ref:`composing actions
* <config_http_filters_rate_limit_composing_actions>` for additional documentation.
*
*
* repeated .envoy.config.route.v3.RateLimit.Action actions = 3 [(.validate.rules) = { ... }
*/
int getActionsCount();
/**
*
* A list of actions that are to be applied for this rate limit configuration.
* Order matters as the actions are processed sequentially and the descriptor
* is composed by appending descriptor entries in that sequence. If an action
* cannot append a descriptor entry, no descriptor is generated for the
* configuration. See :ref:`composing actions
* <config_http_filters_rate_limit_composing_actions>` for additional documentation.
*
*
* repeated .envoy.config.route.v3.RateLimit.Action actions = 3 [(.validate.rules) = { ... }
*/
java.util.List extends io.envoyproxy.envoy.config.route.v3.RateLimit.ActionOrBuilder>
getActionsOrBuilderList();
/**
*
* A list of actions that are to be applied for this rate limit configuration.
* Order matters as the actions are processed sequentially and the descriptor
* is composed by appending descriptor entries in that sequence. If an action
* cannot append a descriptor entry, no descriptor is generated for the
* configuration. See :ref:`composing actions
* <config_http_filters_rate_limit_composing_actions>` for additional documentation.
*
*
* repeated .envoy.config.route.v3.RateLimit.Action actions = 3 [(.validate.rules) = { ... }
*/
io.envoyproxy.envoy.config.route.v3.RateLimit.ActionOrBuilder getActionsOrBuilder(
int index);
/**
*
* An optional limit override to be appended to the descriptor produced by this
* rate limit configuration. If the override value is invalid or cannot be resolved
* from metadata, no override is provided. See :ref:`rate limit override
* <config_http_filters_rate_limit_rate_limit_override>` for more information.
*
* .. note::
* This is not supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* .envoy.config.route.v3.RateLimit.Override limit = 4;
* @return Whether the limit field is set.
*/
boolean hasLimit();
/**
*
* An optional limit override to be appended to the descriptor produced by this
* rate limit configuration. If the override value is invalid or cannot be resolved
* from metadata, no override is provided. See :ref:`rate limit override
* <config_http_filters_rate_limit_rate_limit_override>` for more information.
*
* .. note::
* This is not supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* .envoy.config.route.v3.RateLimit.Override limit = 4;
* @return The limit.
*/
io.envoyproxy.envoy.config.route.v3.RateLimit.Override getLimit();
/**
*
* An optional limit override to be appended to the descriptor produced by this
* rate limit configuration. If the override value is invalid or cannot be resolved
* from metadata, no override is provided. See :ref:`rate limit override
* <config_http_filters_rate_limit_rate_limit_override>` for more information.
*
* .. note::
* This is not supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* .envoy.config.route.v3.RateLimit.Override limit = 4;
*/
io.envoyproxy.envoy.config.route.v3.RateLimit.OverrideOrBuilder getLimitOrBuilder();
/**
*
* An optional hits addend to be appended to the descriptor produced by this rate limit
* configuration.
*
* .. note::
* This is only supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* .envoy.config.route.v3.RateLimit.HitsAddend hits_addend = 5;
* @return Whether the hitsAddend field is set.
*/
boolean hasHitsAddend();
/**
*
* An optional hits addend to be appended to the descriptor produced by this rate limit
* configuration.
*
* .. note::
* This is only supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* .envoy.config.route.v3.RateLimit.HitsAddend hits_addend = 5;
* @return The hitsAddend.
*/
io.envoyproxy.envoy.config.route.v3.RateLimit.HitsAddend getHitsAddend();
/**
*
* An optional hits addend to be appended to the descriptor produced by this rate limit
* configuration.
*
* .. note::
* This is only supported if the rate limit action is configured in the ``typed_per_filter_config`` like
* :ref:`VirtualHost.typed_per_filter_config<envoy_v3_api_field_config.route.v3.VirtualHost.typed_per_filter_config>` or
* :ref:`Route.typed_per_filter_config<envoy_v3_api_field_config.route.v3.Route.typed_per_filter_config>`, etc.
*
*
* .envoy.config.route.v3.RateLimit.HitsAddend hits_addend = 5;
*/
io.envoyproxy.envoy.config.route.v3.RateLimit.HitsAddendOrBuilder getHitsAddendOrBuilder();
/**
*
* If true, the rate limit request will be applied when the stream completes. The default value is false.
* This is useful when the rate limit budget needs to reflect the response context that is not available
* on the request path.
*
* For example, let's say the upstream service calculates the usage statistics and returns them in the response body
* and we want to utilize these numbers to apply the rate limit action for the subsequent requests.
* Combined with another filter that can set the desired addend based on the response (e.g. Lua filter),
* this can be used to subtract the usage statistics from the rate limit budget.
*
* A rate limit applied on the stream completion is "fire-and-forget" by nature, and rate limit is not enforced by this config.
* In other words, the current request won't be blocked when this is true, but the budget will be updated for the subsequent
* requests based on the action with this field set to true. Users should ensure that the rate limit is enforced by the actions
* applied on the request path, i.e. the ones with this field set to false.
*
* Currently, this is only supported by the HTTP global rate filter.
*
*
* bool apply_on_stream_done = 6;
* @return The applyOnStreamDone.
*/
boolean getApplyOnStreamDone();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy