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

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 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