Interface RateLimitOrBuilder

All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
All Known Implementing Classes:
RateLimit, RateLimit.Builder

public interface RateLimitOrBuilder extends com.google.protobuf.MessageOrBuilder
  • Method Summary

    Modifier and Type
    Method
    Description
    getActions(int index)
    A list of actions that are to be applied for this rate limit configuration.
    int
    A list of actions that are to be applied for this rate limit configuration.
    A list of actions that are to be applied for this rate limit configuration.
    A list of actions that are to be applied for this rate limit configuration.
    A list of actions that are to be applied for this rate limit configuration.
    boolean
    If true, the rate limit request will be applied when the stream completes.
    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.
    com.google.protobuf.ByteString
    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.
    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.
    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.
    An optional limit override to be appended to the descriptor produced by this rate limit configuration.
    An optional limit override to be appended to the descriptor produced by this rate limit configuration.
    com.google.protobuf.UInt32Value
    Refers to the stage set in the filter.
    com.google.protobuf.UInt32ValueOrBuilder
    Refers to the stage set in the filter.
    boolean
    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.
    boolean
    An optional limit override to be appended to the descriptor produced by this rate limit configuration.
    boolean
    Refers to the stage set in the filter.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    isInitialized

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

    findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
  • Method Details

    • hasStage

      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) = { ... }
      Returns:
      Whether the stage field is set.
    • getStage

      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) = { ... }
      Returns:
      The stage.
    • getStageOrBuilder

      com.google.protobuf.UInt32ValueOrBuilder getStageOrBuilder()
       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) = { ... }
    • getDisableKey

      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;
      Returns:
      The disableKey.
    • getDisableKeyBytes

      com.google.protobuf.ByteString getDisableKeyBytes()
       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;
      Returns:
      The bytes for disableKey.
    • getActionsList

      List<RateLimit.Action> 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) = { ... }
    • getActions

      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) = { ... }
    • getActionsCount

      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) = { ... }
    • getActionsOrBuilderList

      List<? extends 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) = { ... }
    • getActionsOrBuilder

      RateLimit.ActionOrBuilder getActionsOrBuilder(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) = { ... }
    • hasLimit

      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;
      Returns:
      Whether the limit field is set.
    • getLimit

      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;
      Returns:
      The limit.
    • getLimitOrBuilder

      RateLimit.OverrideOrBuilder getLimitOrBuilder()
       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;
    • hasHitsAddend

      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;
      Returns:
      Whether the hitsAddend field is set.
    • getHitsAddend

      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;
      Returns:
      The hitsAddend.
    • getHitsAddendOrBuilder

      RateLimit.HitsAddendOrBuilder getHitsAddendOrBuilder()
       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;
    • getApplyOnStreamDone

      boolean getApplyOnStreamDone()
       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;
      Returns:
      The applyOnStreamDone.