Class RateLimit.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
io.envoyproxy.envoy.config.route.v3.RateLimit.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RateLimitOrBuilder, Cloneable
Enclosing class:
RateLimit

public static final class RateLimit.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder> implements RateLimitOrBuilder
 Global rate limiting :ref:`architecture overview <arch_overview_global_rate_limit>`.
 Also applies to Local rate limiting :ref:`using descriptors <config_http_filters_local_rate_limit_descriptors>`.
 [#next-free-field: 7]
 
Protobuf type envoy.config.route.v3.RateLimit
  • Method Summary

    Modifier and Type
    Method
    Description
    addActions(int index, RateLimit.Action value)
    A list of actions that are to be applied for this rate limit configuration.
    addActions(int index, RateLimit.Action.Builder builderForValue)
    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.
    addActionsBuilder(int index)
    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.
    addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
     
     
     
     
    A list of actions that are to be applied for this rate limit configuration.
    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.
    clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
     
    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.
    clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
     
    Refers to the stage set in the filter.
     
    getActions(int index)
    A list of actions that are to be applied for this rate limit configuration.
    getActionsBuilder(int index)
    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.
    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.
     
    static final com.google.protobuf.Descriptors.Descriptor
     
    com.google.protobuf.Descriptors.Descriptor
     
    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 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.
    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.UInt32Value.Builder
    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.
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
     
    final boolean
     
    mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
     
    mergeFrom(com.google.protobuf.Message other)
     
     
    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.
    mergeStage(com.google.protobuf.UInt32Value value)
    Refers to the stage set in the filter.
    mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
     
    removeActions(int index)
    A list of actions that are to be applied for this rate limit configuration.
    setActions(int index, RateLimit.Action value)
    A list of actions that are to be applied for this rate limit configuration.
    setActions(int index, RateLimit.Action.Builder builderForValue)
    A list of actions that are to be applied for this rate limit configuration.
    setApplyOnStreamDone(boolean value)
    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.
    setDisableKeyBytes(com.google.protobuf.ByteString value)
    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.
    setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
     
    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.
    setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
     
    setStage(com.google.protobuf.UInt32Value value)
    Refers to the stage set in the filter.
    setStage(com.google.protobuf.UInt32Value.Builder builderForValue)
    Refers to the stage set in the filter.
    setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
     

    Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder

    getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3

    Methods inherited from class com.google.protobuf.AbstractMessage.Builder

    findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toString

    Methods inherited from class com.google.protobuf.AbstractMessageLite.Builder

    addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageException

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface com.google.protobuf.Message.Builder

    mergeDelimitedFrom, mergeDelimitedFrom

    Methods inherited from interface com.google.protobuf.MessageLite.Builder

    mergeFrom

    Methods inherited from interface com.google.protobuf.MessageOrBuilder

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

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • clear

      public RateLimit.Builder clear()
      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • getDefaultInstanceForType

      public RateLimit getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      public RateLimit build()
      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public RateLimit buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • clone

      public RateLimit.Builder clone()
      Specified by:
      clone in interface com.google.protobuf.Message.Builder
      Specified by:
      clone in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clone in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • setField

      public RateLimit.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      setField in interface com.google.protobuf.Message.Builder
      Overrides:
      setField in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • clearField

      public RateLimit.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field)
      Specified by:
      clearField in interface com.google.protobuf.Message.Builder
      Overrides:
      clearField in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • clearOneof

      public RateLimit.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)
      Specified by:
      clearOneof in interface com.google.protobuf.Message.Builder
      Overrides:
      clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • setRepeatedField

      public RateLimit.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value)
      Specified by:
      setRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • addRepeatedField

      public RateLimit.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value)
      Specified by:
      addRepeatedField in interface com.google.protobuf.Message.Builder
      Overrides:
      addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • mergeFrom

      public RateLimit.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<RateLimit.Builder>
    • mergeFrom

      public RateLimit.Builder mergeFrom(RateLimit other)
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • mergeFrom

      public RateLimit.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<RateLimit.Builder>
      Throws:
      IOException
    • hasStage

      public 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) = { ... }
      Specified by:
      hasStage in interface RateLimitOrBuilder
      Returns:
      Whether the stage field is set.
    • getStage

      public 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) = { ... }
      Specified by:
      getStage in interface RateLimitOrBuilder
      Returns:
      The stage.
    • setStage

      public RateLimit.Builder setStage(com.google.protobuf.UInt32Value value)
       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) = { ... }
    • setStage

      public RateLimit.Builder setStage(com.google.protobuf.UInt32Value.Builder builderForValue)
       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) = { ... }
    • mergeStage

      public RateLimit.Builder mergeStage(com.google.protobuf.UInt32Value value)
       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) = { ... }
    • clearStage

      public RateLimit.Builder clearStage()
       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) = { ... }
    • getStageBuilder

      public com.google.protobuf.UInt32Value.Builder getStageBuilder()
       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) = { ... }
    • getStageOrBuilder

      public 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) = { ... }
      Specified by:
      getStageOrBuilder in interface RateLimitOrBuilder
    • getDisableKey

      public 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;
      Specified by:
      getDisableKey in interface RateLimitOrBuilder
      Returns:
      The disableKey.
    • getDisableKeyBytes

      public 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;
      Specified by:
      getDisableKeyBytes in interface RateLimitOrBuilder
      Returns:
      The bytes for disableKey.
    • setDisableKey

      public RateLimit.Builder setDisableKey(String value)
       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;
      Parameters:
      value - The disableKey to set.
      Returns:
      This builder for chaining.
    • clearDisableKey

      public RateLimit.Builder clearDisableKey()
       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:
      This builder for chaining.
    • setDisableKeyBytes

      public RateLimit.Builder setDisableKeyBytes(com.google.protobuf.ByteString value)
       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;
      Parameters:
      value - The bytes for disableKey to set.
      Returns:
      This builder for chaining.
    • getActionsList

      public 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) = { ... }
      Specified by:
      getActionsList in interface RateLimitOrBuilder
    • getActionsCount

      public 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) = { ... }
      Specified by:
      getActionsCount in interface RateLimitOrBuilder
    • getActions

      public 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) = { ... }
      Specified by:
      getActions in interface RateLimitOrBuilder
    • setActions

      public RateLimit.Builder setActions(int index, RateLimit.Action value)
       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) = { ... }
    • setActions

      public RateLimit.Builder setActions(int index, RateLimit.Action.Builder builderForValue)
       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) = { ... }
    • addActions

      public RateLimit.Builder addActions(RateLimit.Action value)
       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) = { ... }
    • addActions

      public RateLimit.Builder addActions(int index, RateLimit.Action value)
       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) = { ... }
    • addActions

      public RateLimit.Builder addActions(RateLimit.Action.Builder builderForValue)
       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) = { ... }
    • addActions

      public RateLimit.Builder addActions(int index, RateLimit.Action.Builder builderForValue)
       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) = { ... }
    • addAllActions

      public RateLimit.Builder addAllActions(Iterable<? extends RateLimit.Action> values)
       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) = { ... }
    • clearActions

      public RateLimit.Builder clearActions()
       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) = { ... }
    • removeActions

      public RateLimit.Builder removeActions(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) = { ... }
    • getActionsBuilder

      public RateLimit.Action.Builder getActionsBuilder(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) = { ... }
    • getActionsOrBuilder

      public 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) = { ... }
      Specified by:
      getActionsOrBuilder in interface RateLimitOrBuilder
    • getActionsOrBuilderList

      public 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) = { ... }
      Specified by:
      getActionsOrBuilderList in interface RateLimitOrBuilder
    • addActionsBuilder

      public RateLimit.Action.Builder addActionsBuilder()
       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) = { ... }
    • addActionsBuilder

      public RateLimit.Action.Builder addActionsBuilder(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) = { ... }
    • getActionsBuilderList

      public List<RateLimit.Action.Builder> getActionsBuilderList()
       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

      public 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;
      Specified by:
      hasLimit in interface RateLimitOrBuilder
      Returns:
      Whether the limit field is set.
    • getLimit

      public 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;
      Specified by:
      getLimit in interface RateLimitOrBuilder
      Returns:
      The limit.
    • setLimit

      public RateLimit.Builder setLimit(RateLimit.Override value)
       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;
    • setLimit

      public RateLimit.Builder setLimit(RateLimit.Override.Builder builderForValue)
       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;
    • mergeLimit

      public RateLimit.Builder mergeLimit(RateLimit.Override value)
       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;
    • clearLimit

      public RateLimit.Builder clearLimit()
       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;
    • getLimitBuilder

      public RateLimit.Override.Builder getLimitBuilder()
       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;
    • getLimitOrBuilder

      public 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;
      Specified by:
      getLimitOrBuilder in interface RateLimitOrBuilder
    • hasHitsAddend

      public 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;
      Specified by:
      hasHitsAddend in interface RateLimitOrBuilder
      Returns:
      Whether the hitsAddend field is set.
    • getHitsAddend

      public 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;
      Specified by:
      getHitsAddend in interface RateLimitOrBuilder
      Returns:
      The hitsAddend.
    • setHitsAddend

      public RateLimit.Builder setHitsAddend(RateLimit.HitsAddend value)
       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;
    • setHitsAddend

      public RateLimit.Builder setHitsAddend(RateLimit.HitsAddend.Builder builderForValue)
       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;
    • mergeHitsAddend

      public RateLimit.Builder mergeHitsAddend(RateLimit.HitsAddend value)
       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;
    • clearHitsAddend

      public RateLimit.Builder clearHitsAddend()
       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;
    • getHitsAddendBuilder

      public RateLimit.HitsAddend.Builder getHitsAddendBuilder()
       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;
    • getHitsAddendOrBuilder

      public 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;
      Specified by:
      getHitsAddendOrBuilder in interface RateLimitOrBuilder
    • getApplyOnStreamDone

      public 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;
      Specified by:
      getApplyOnStreamDone in interface RateLimitOrBuilder
      Returns:
      The applyOnStreamDone.
    • setApplyOnStreamDone

      public RateLimit.Builder setApplyOnStreamDone(boolean value)
       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;
      Parameters:
      value - The applyOnStreamDone to set.
      Returns:
      This builder for chaining.
    • clearApplyOnStreamDone

      public RateLimit.Builder clearApplyOnStreamDone()
       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:
      This builder for chaining.
    • setUnknownFields

      public final RateLimit.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      setUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>
    • mergeUnknownFields

      public final RateLimit.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields)
      Specified by:
      mergeUnknownFields in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder>