java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder>
io.envoyproxy.envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, LocalRateLimitOrBuilder, Cloneable
Enclosing class:
LocalRateLimit

public static final class LocalRateLimit.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<LocalRateLimit.Builder> implements LocalRateLimitOrBuilder
 [#next-free-field: 19]
 
Protobuf type envoy.extensions.filters.http.local_ratelimit.v3.LocalRateLimit
  • 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<LocalRateLimit.Builder>
    • clear

      public LocalRateLimit.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<LocalRateLimit.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<LocalRateLimit.Builder>
    • getDefaultInstanceForType

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

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

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

      public LocalRateLimit.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<LocalRateLimit.Builder>
    • setField

      public LocalRateLimit.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<LocalRateLimit.Builder>
    • clearField

      public LocalRateLimit.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<LocalRateLimit.Builder>
    • clearOneof

      public LocalRateLimit.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<LocalRateLimit.Builder>
    • setRepeatedField

      public LocalRateLimit.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<LocalRateLimit.Builder>
    • addRepeatedField

      public LocalRateLimit.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<LocalRateLimit.Builder>
    • mergeFrom

      public LocalRateLimit.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<LocalRateLimit.Builder>
    • mergeFrom

      public LocalRateLimit.Builder mergeFrom(LocalRateLimit other)
    • isInitialized

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

      public LocalRateLimit.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<LocalRateLimit.Builder>
      Throws:
      IOException
    • getStatPrefix

      public String getStatPrefix()
       The human readable prefix to use when emitting stats.
       
      string stat_prefix = 1 [(.validate.rules) = { ... }
      Specified by:
      getStatPrefix in interface LocalRateLimitOrBuilder
      Returns:
      The statPrefix.
    • getStatPrefixBytes

      public com.google.protobuf.ByteString getStatPrefixBytes()
       The human readable prefix to use when emitting stats.
       
      string stat_prefix = 1 [(.validate.rules) = { ... }
      Specified by:
      getStatPrefixBytes in interface LocalRateLimitOrBuilder
      Returns:
      The bytes for statPrefix.
    • setStatPrefix

      public LocalRateLimit.Builder setStatPrefix(String value)
       The human readable prefix to use when emitting stats.
       
      string stat_prefix = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The statPrefix to set.
      Returns:
      This builder for chaining.
    • clearStatPrefix

      public LocalRateLimit.Builder clearStatPrefix()
       The human readable prefix to use when emitting stats.
       
      string stat_prefix = 1 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • setStatPrefixBytes

      public LocalRateLimit.Builder setStatPrefixBytes(com.google.protobuf.ByteString value)
       The human readable prefix to use when emitting stats.
       
      string stat_prefix = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The bytes for statPrefix to set.
      Returns:
      This builder for chaining.
    • hasStatus

      public boolean hasStatus()
       This field allows for a custom HTTP response status code to the downstream client when
       the request has been rate limited.
       Defaults to 429 (TooManyRequests).
      
       .. note::
         If this is set to < 400, 429 will be used instead.
       
      .envoy.type.v3.HttpStatus status = 2;
      Specified by:
      hasStatus in interface LocalRateLimitOrBuilder
      Returns:
      Whether the status field is set.
    • getStatus

      public HttpStatus getStatus()
       This field allows for a custom HTTP response status code to the downstream client when
       the request has been rate limited.
       Defaults to 429 (TooManyRequests).
      
       .. note::
         If this is set to < 400, 429 will be used instead.
       
      .envoy.type.v3.HttpStatus status = 2;
      Specified by:
      getStatus in interface LocalRateLimitOrBuilder
      Returns:
      The status.
    • setStatus

      public LocalRateLimit.Builder setStatus(HttpStatus value)
       This field allows for a custom HTTP response status code to the downstream client when
       the request has been rate limited.
       Defaults to 429 (TooManyRequests).
      
       .. note::
         If this is set to < 400, 429 will be used instead.
       
      .envoy.type.v3.HttpStatus status = 2;
    • setStatus

      public LocalRateLimit.Builder setStatus(HttpStatus.Builder builderForValue)
       This field allows for a custom HTTP response status code to the downstream client when
       the request has been rate limited.
       Defaults to 429 (TooManyRequests).
      
       .. note::
         If this is set to < 400, 429 will be used instead.
       
      .envoy.type.v3.HttpStatus status = 2;
    • mergeStatus

      public LocalRateLimit.Builder mergeStatus(HttpStatus value)
       This field allows for a custom HTTP response status code to the downstream client when
       the request has been rate limited.
       Defaults to 429 (TooManyRequests).
      
       .. note::
         If this is set to < 400, 429 will be used instead.
       
      .envoy.type.v3.HttpStatus status = 2;
    • clearStatus

      public LocalRateLimit.Builder clearStatus()
       This field allows for a custom HTTP response status code to the downstream client when
       the request has been rate limited.
       Defaults to 429 (TooManyRequests).
      
       .. note::
         If this is set to < 400, 429 will be used instead.
       
      .envoy.type.v3.HttpStatus status = 2;
    • getStatusBuilder

      public HttpStatus.Builder getStatusBuilder()
       This field allows for a custom HTTP response status code to the downstream client when
       the request has been rate limited.
       Defaults to 429 (TooManyRequests).
      
       .. note::
         If this is set to < 400, 429 will be used instead.
       
      .envoy.type.v3.HttpStatus status = 2;
    • getStatusOrBuilder

      public HttpStatusOrBuilder getStatusOrBuilder()
       This field allows for a custom HTTP response status code to the downstream client when
       the request has been rate limited.
       Defaults to 429 (TooManyRequests).
      
       .. note::
         If this is set to < 400, 429 will be used instead.
       
      .envoy.type.v3.HttpStatus status = 2;
      Specified by:
      getStatusOrBuilder in interface LocalRateLimitOrBuilder
    • hasTokenBucket

      public boolean hasTokenBucket()
       The token bucket configuration to use for rate limiting requests that are processed by this
       filter. Each request processed by the filter consumes a single token. If the token is available,
       the request will be allowed. If no tokens are available, the request will receive the configured
       rate limit status.
      
       .. note::
         It's fine for the token bucket to be unset for the global configuration since the rate limit
         can be applied at a the virtual host or route level. Thus, the token bucket must be set
         for the per route configuration otherwise the config will be rejected.
      
       .. note::
         When using per route configuration, the bucket becomes unique to that route.
      
       .. note::
         In the current implementation the token bucket's :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
         refills.
       
      .envoy.type.v3.TokenBucket token_bucket = 3;
      Specified by:
      hasTokenBucket in interface LocalRateLimitOrBuilder
      Returns:
      Whether the tokenBucket field is set.
    • getTokenBucket

      public TokenBucket getTokenBucket()
       The token bucket configuration to use for rate limiting requests that are processed by this
       filter. Each request processed by the filter consumes a single token. If the token is available,
       the request will be allowed. If no tokens are available, the request will receive the configured
       rate limit status.
      
       .. note::
         It's fine for the token bucket to be unset for the global configuration since the rate limit
         can be applied at a the virtual host or route level. Thus, the token bucket must be set
         for the per route configuration otherwise the config will be rejected.
      
       .. note::
         When using per route configuration, the bucket becomes unique to that route.
      
       .. note::
         In the current implementation the token bucket's :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
         refills.
       
      .envoy.type.v3.TokenBucket token_bucket = 3;
      Specified by:
      getTokenBucket in interface LocalRateLimitOrBuilder
      Returns:
      The tokenBucket.
    • setTokenBucket

      public LocalRateLimit.Builder setTokenBucket(TokenBucket value)
       The token bucket configuration to use for rate limiting requests that are processed by this
       filter. Each request processed by the filter consumes a single token. If the token is available,
       the request will be allowed. If no tokens are available, the request will receive the configured
       rate limit status.
      
       .. note::
         It's fine for the token bucket to be unset for the global configuration since the rate limit
         can be applied at a the virtual host or route level. Thus, the token bucket must be set
         for the per route configuration otherwise the config will be rejected.
      
       .. note::
         When using per route configuration, the bucket becomes unique to that route.
      
       .. note::
         In the current implementation the token bucket's :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
         refills.
       
      .envoy.type.v3.TokenBucket token_bucket = 3;
    • setTokenBucket

      public LocalRateLimit.Builder setTokenBucket(TokenBucket.Builder builderForValue)
       The token bucket configuration to use for rate limiting requests that are processed by this
       filter. Each request processed by the filter consumes a single token. If the token is available,
       the request will be allowed. If no tokens are available, the request will receive the configured
       rate limit status.
      
       .. note::
         It's fine for the token bucket to be unset for the global configuration since the rate limit
         can be applied at a the virtual host or route level. Thus, the token bucket must be set
         for the per route configuration otherwise the config will be rejected.
      
       .. note::
         When using per route configuration, the bucket becomes unique to that route.
      
       .. note::
         In the current implementation the token bucket's :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
         refills.
       
      .envoy.type.v3.TokenBucket token_bucket = 3;
    • mergeTokenBucket

      public LocalRateLimit.Builder mergeTokenBucket(TokenBucket value)
       The token bucket configuration to use for rate limiting requests that are processed by this
       filter. Each request processed by the filter consumes a single token. If the token is available,
       the request will be allowed. If no tokens are available, the request will receive the configured
       rate limit status.
      
       .. note::
         It's fine for the token bucket to be unset for the global configuration since the rate limit
         can be applied at a the virtual host or route level. Thus, the token bucket must be set
         for the per route configuration otherwise the config will be rejected.
      
       .. note::
         When using per route configuration, the bucket becomes unique to that route.
      
       .. note::
         In the current implementation the token bucket's :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
         refills.
       
      .envoy.type.v3.TokenBucket token_bucket = 3;
    • clearTokenBucket

      public LocalRateLimit.Builder clearTokenBucket()
       The token bucket configuration to use for rate limiting requests that are processed by this
       filter. Each request processed by the filter consumes a single token. If the token is available,
       the request will be allowed. If no tokens are available, the request will receive the configured
       rate limit status.
      
       .. note::
         It's fine for the token bucket to be unset for the global configuration since the rate limit
         can be applied at a the virtual host or route level. Thus, the token bucket must be set
         for the per route configuration otherwise the config will be rejected.
      
       .. note::
         When using per route configuration, the bucket becomes unique to that route.
      
       .. note::
         In the current implementation the token bucket's :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
         refills.
       
      .envoy.type.v3.TokenBucket token_bucket = 3;
    • getTokenBucketBuilder

      public TokenBucket.Builder getTokenBucketBuilder()
       The token bucket configuration to use for rate limiting requests that are processed by this
       filter. Each request processed by the filter consumes a single token. If the token is available,
       the request will be allowed. If no tokens are available, the request will receive the configured
       rate limit status.
      
       .. note::
         It's fine for the token bucket to be unset for the global configuration since the rate limit
         can be applied at a the virtual host or route level. Thus, the token bucket must be set
         for the per route configuration otherwise the config will be rejected.
      
       .. note::
         When using per route configuration, the bucket becomes unique to that route.
      
       .. note::
         In the current implementation the token bucket's :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
         refills.
       
      .envoy.type.v3.TokenBucket token_bucket = 3;
    • getTokenBucketOrBuilder

      public TokenBucketOrBuilder getTokenBucketOrBuilder()
       The token bucket configuration to use for rate limiting requests that are processed by this
       filter. Each request processed by the filter consumes a single token. If the token is available,
       the request will be allowed. If no tokens are available, the request will receive the configured
       rate limit status.
      
       .. note::
         It's fine for the token bucket to be unset for the global configuration since the rate limit
         can be applied at a the virtual host or route level. Thus, the token bucket must be set
         for the per route configuration otherwise the config will be rejected.
      
       .. note::
         When using per route configuration, the bucket becomes unique to that route.
      
       .. note::
         In the current implementation the token bucket's :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive
         refills.
       
      .envoy.type.v3.TokenBucket token_bucket = 3;
      Specified by:
      getTokenBucketOrBuilder in interface LocalRateLimitOrBuilder
    • hasFilterEnabled

      public boolean hasFilterEnabled()
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;
      Specified by:
      hasFilterEnabled in interface LocalRateLimitOrBuilder
      Returns:
      Whether the filterEnabled field is set.
    • getFilterEnabled

      public RuntimeFractionalPercent getFilterEnabled()
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;
      Specified by:
      getFilterEnabled in interface LocalRateLimitOrBuilder
      Returns:
      The filterEnabled.
    • setFilterEnabled

      public LocalRateLimit.Builder setFilterEnabled(RuntimeFractionalPercent value)
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;
    • setFilterEnabled

      public LocalRateLimit.Builder setFilterEnabled(RuntimeFractionalPercent.Builder builderForValue)
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;
    • mergeFilterEnabled

      public LocalRateLimit.Builder mergeFilterEnabled(RuntimeFractionalPercent value)
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;
    • clearFilterEnabled

      public LocalRateLimit.Builder clearFilterEnabled()
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;
    • getFilterEnabledBuilder

      public RuntimeFractionalPercent.Builder getFilterEnabledBuilder()
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;
    • getFilterEnabledOrBuilder

      public RuntimeFractionalPercentOrBuilder getFilterEnabledOrBuilder()
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;
      Specified by:
      getFilterEnabledOrBuilder in interface LocalRateLimitOrBuilder
    • hasFilterEnforced

      public boolean hasFilterEnforced()
       If set, this will enforce the rate limit decisions for the given fraction of requests.
      
       Note: this only applies to the fraction of enabled requests.
      
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;
      Specified by:
      hasFilterEnforced in interface LocalRateLimitOrBuilder
      Returns:
      Whether the filterEnforced field is set.
    • getFilterEnforced

      public RuntimeFractionalPercent getFilterEnforced()
       If set, this will enforce the rate limit decisions for the given fraction of requests.
      
       Note: this only applies to the fraction of enabled requests.
      
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;
      Specified by:
      getFilterEnforced in interface LocalRateLimitOrBuilder
      Returns:
      The filterEnforced.
    • setFilterEnforced

      public LocalRateLimit.Builder setFilterEnforced(RuntimeFractionalPercent value)
       If set, this will enforce the rate limit decisions for the given fraction of requests.
      
       Note: this only applies to the fraction of enabled requests.
      
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;
    • setFilterEnforced

      public LocalRateLimit.Builder setFilterEnforced(RuntimeFractionalPercent.Builder builderForValue)
       If set, this will enforce the rate limit decisions for the given fraction of requests.
      
       Note: this only applies to the fraction of enabled requests.
      
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;
    • mergeFilterEnforced

      public LocalRateLimit.Builder mergeFilterEnforced(RuntimeFractionalPercent value)
       If set, this will enforce the rate limit decisions for the given fraction of requests.
      
       Note: this only applies to the fraction of enabled requests.
      
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;
    • clearFilterEnforced

      public LocalRateLimit.Builder clearFilterEnforced()
       If set, this will enforce the rate limit decisions for the given fraction of requests.
      
       Note: this only applies to the fraction of enabled requests.
      
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;
    • getFilterEnforcedBuilder

      public RuntimeFractionalPercent.Builder getFilterEnforcedBuilder()
       If set, this will enforce the rate limit decisions for the given fraction of requests.
      
       Note: this only applies to the fraction of enabled requests.
      
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;
    • getFilterEnforcedOrBuilder

      public RuntimeFractionalPercentOrBuilder getFilterEnforcedOrBuilder()
       If set, this will enforce the rate limit decisions for the given fraction of requests.
      
       Note: this only applies to the fraction of enabled requests.
      
       Defaults to 0% of requests for safety.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;
      Specified by:
      getFilterEnforcedOrBuilder in interface LocalRateLimitOrBuilder
    • getRequestHeadersToAddWhenNotEnforcedList

      public List<HeaderValueOption> getRequestHeadersToAddWhenNotEnforcedList()
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
      Specified by:
      getRequestHeadersToAddWhenNotEnforcedList in interface LocalRateLimitOrBuilder
    • getRequestHeadersToAddWhenNotEnforcedCount

      public int getRequestHeadersToAddWhenNotEnforcedCount()
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
      Specified by:
      getRequestHeadersToAddWhenNotEnforcedCount in interface LocalRateLimitOrBuilder
    • getRequestHeadersToAddWhenNotEnforced

      public HeaderValueOption getRequestHeadersToAddWhenNotEnforced(int index)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
      Specified by:
      getRequestHeadersToAddWhenNotEnforced in interface LocalRateLimitOrBuilder
    • setRequestHeadersToAddWhenNotEnforced

      public LocalRateLimit.Builder setRequestHeadersToAddWhenNotEnforced(int index, HeaderValueOption value)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • setRequestHeadersToAddWhenNotEnforced

      public LocalRateLimit.Builder setRequestHeadersToAddWhenNotEnforced(int index, HeaderValueOption.Builder builderForValue)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • addRequestHeadersToAddWhenNotEnforced

      public LocalRateLimit.Builder addRequestHeadersToAddWhenNotEnforced(HeaderValueOption value)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • addRequestHeadersToAddWhenNotEnforced

      public LocalRateLimit.Builder addRequestHeadersToAddWhenNotEnforced(int index, HeaderValueOption value)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • addRequestHeadersToAddWhenNotEnforced

      public LocalRateLimit.Builder addRequestHeadersToAddWhenNotEnforced(HeaderValueOption.Builder builderForValue)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • addRequestHeadersToAddWhenNotEnforced

      public LocalRateLimit.Builder addRequestHeadersToAddWhenNotEnforced(int index, HeaderValueOption.Builder builderForValue)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • addAllRequestHeadersToAddWhenNotEnforced

      public LocalRateLimit.Builder addAllRequestHeadersToAddWhenNotEnforced(Iterable<? extends HeaderValueOption> values)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • clearRequestHeadersToAddWhenNotEnforced

      public LocalRateLimit.Builder clearRequestHeadersToAddWhenNotEnforced()
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • removeRequestHeadersToAddWhenNotEnforced

      public LocalRateLimit.Builder removeRequestHeadersToAddWhenNotEnforced(int index)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • getRequestHeadersToAddWhenNotEnforcedBuilder

      public HeaderValueOption.Builder getRequestHeadersToAddWhenNotEnforcedBuilder(int index)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • getRequestHeadersToAddWhenNotEnforcedOrBuilder

      public HeaderValueOptionOrBuilder getRequestHeadersToAddWhenNotEnforcedOrBuilder(int index)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
      Specified by:
      getRequestHeadersToAddWhenNotEnforcedOrBuilder in interface LocalRateLimitOrBuilder
    • getRequestHeadersToAddWhenNotEnforcedOrBuilderList

      public List<? extends HeaderValueOptionOrBuilder> getRequestHeadersToAddWhenNotEnforcedOrBuilderList()
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
      Specified by:
      getRequestHeadersToAddWhenNotEnforcedOrBuilderList in interface LocalRateLimitOrBuilder
    • addRequestHeadersToAddWhenNotEnforcedBuilder

      public HeaderValueOption.Builder addRequestHeadersToAddWhenNotEnforcedBuilder()
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • addRequestHeadersToAddWhenNotEnforcedBuilder

      public HeaderValueOption.Builder addRequestHeadersToAddWhenNotEnforcedBuilder(int index)
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • getRequestHeadersToAddWhenNotEnforcedBuilderList

      public List<HeaderValueOption.Builder> getRequestHeadersToAddWhenNotEnforcedBuilderList()
       Specifies a list of HTTP headers that should be added to each request that
       has been rate limited and is also forwarded upstream. This can only occur when the
       filter is enabled but not enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... }
    • getResponseHeadersToAddList

      public List<HeaderValueOption> getResponseHeadersToAddList()
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAddList in interface LocalRateLimitOrBuilder
    • getResponseHeadersToAddCount

      public int getResponseHeadersToAddCount()
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAddCount in interface LocalRateLimitOrBuilder
    • getResponseHeadersToAdd

      public HeaderValueOption getResponseHeadersToAdd(int index)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAdd in interface LocalRateLimitOrBuilder
    • setResponseHeadersToAdd

      public LocalRateLimit.Builder setResponseHeadersToAdd(int index, HeaderValueOption value)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • setResponseHeadersToAdd

      public LocalRateLimit.Builder setResponseHeadersToAdd(int index, HeaderValueOption.Builder builderForValue)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • addResponseHeadersToAdd

      public LocalRateLimit.Builder addResponseHeadersToAdd(HeaderValueOption value)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • addResponseHeadersToAdd

      public LocalRateLimit.Builder addResponseHeadersToAdd(int index, HeaderValueOption value)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • addResponseHeadersToAdd

      public LocalRateLimit.Builder addResponseHeadersToAdd(HeaderValueOption.Builder builderForValue)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • addResponseHeadersToAdd

      public LocalRateLimit.Builder addResponseHeadersToAdd(int index, HeaderValueOption.Builder builderForValue)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • addAllResponseHeadersToAdd

      public LocalRateLimit.Builder addAllResponseHeadersToAdd(Iterable<? extends HeaderValueOption> values)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • clearResponseHeadersToAdd

      public LocalRateLimit.Builder clearResponseHeadersToAdd()
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • removeResponseHeadersToAdd

      public LocalRateLimit.Builder removeResponseHeadersToAdd(int index)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • getResponseHeadersToAddBuilder

      public HeaderValueOption.Builder getResponseHeadersToAddBuilder(int index)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • getResponseHeadersToAddOrBuilder

      public HeaderValueOptionOrBuilder getResponseHeadersToAddOrBuilder(int index)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAddOrBuilder in interface LocalRateLimitOrBuilder
    • getResponseHeadersToAddOrBuilderList

      public List<? extends HeaderValueOptionOrBuilder> getResponseHeadersToAddOrBuilderList()
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAddOrBuilderList in interface LocalRateLimitOrBuilder
    • addResponseHeadersToAddBuilder

      public HeaderValueOption.Builder addResponseHeadersToAddBuilder()
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • addResponseHeadersToAddBuilder

      public HeaderValueOption.Builder addResponseHeadersToAddBuilder(int index)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • getResponseHeadersToAddBuilderList

      public List<HeaderValueOption.Builder> getResponseHeadersToAddBuilderList()
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited. This occurs when the filter is enabled and fully enforced.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... }
    • getDescriptorsList

      public List<LocalRateLimitDescriptor> getDescriptorsList()
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
      Specified by:
      getDescriptorsList in interface LocalRateLimitOrBuilder
    • getDescriptorsCount

      public int getDescriptorsCount()
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
      Specified by:
      getDescriptorsCount in interface LocalRateLimitOrBuilder
    • getDescriptors

      public LocalRateLimitDescriptor getDescriptors(int index)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
      Specified by:
      getDescriptors in interface LocalRateLimitOrBuilder
    • setDescriptors

      public LocalRateLimit.Builder setDescriptors(int index, LocalRateLimitDescriptor value)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • setDescriptors

      public LocalRateLimit.Builder setDescriptors(int index, LocalRateLimitDescriptor.Builder builderForValue)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • addDescriptors

      public LocalRateLimit.Builder addDescriptors(LocalRateLimitDescriptor value)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • addDescriptors

      public LocalRateLimit.Builder addDescriptors(int index, LocalRateLimitDescriptor value)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • addDescriptors

      public LocalRateLimit.Builder addDescriptors(LocalRateLimitDescriptor.Builder builderForValue)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • addDescriptors

      public LocalRateLimit.Builder addDescriptors(int index, LocalRateLimitDescriptor.Builder builderForValue)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • addAllDescriptors

      public LocalRateLimit.Builder addAllDescriptors(Iterable<? extends LocalRateLimitDescriptor> values)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • clearDescriptors

      public LocalRateLimit.Builder clearDescriptors()
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • removeDescriptors

      public LocalRateLimit.Builder removeDescriptors(int index)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • getDescriptorsBuilder

      public LocalRateLimitDescriptor.Builder getDescriptorsBuilder(int index)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • getDescriptorsOrBuilder

      public LocalRateLimitDescriptorOrBuilder getDescriptorsOrBuilder(int index)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
      Specified by:
      getDescriptorsOrBuilder in interface LocalRateLimitOrBuilder
    • getDescriptorsOrBuilderList

      public List<? extends LocalRateLimitDescriptorOrBuilder> getDescriptorsOrBuilderList()
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
      Specified by:
      getDescriptorsOrBuilderList in interface LocalRateLimitOrBuilder
    • addDescriptorsBuilder

      public LocalRateLimitDescriptor.Builder addDescriptorsBuilder()
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • addDescriptorsBuilder

      public LocalRateLimitDescriptor.Builder addDescriptorsBuilder(int index)
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • getDescriptorsBuilderList

      public List<LocalRateLimitDescriptor.Builder> getDescriptorsBuilderList()
       The rate limit descriptor list to use in the local rate limit to override
       on. The rate limit descriptor is selected by the first full match from the
       request descriptors.
      
       Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`.
      
       .. note::
      
         In the current implementation the descriptor's token bucket :ref:`fill_interval
         <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple
         global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval.
      
         The descriptors must match verbatim for rate limiting to apply. There is no partial
         match by a subset of descriptor entries in the current implementation.
       
      repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8;
    • getStage

      public int getStage()
       Specifies the rate limit configurations to be applied with the same
       stage number. If not set, the default stage number is 0.
      
       .. note::
      
        The filter supports a range of 0 - 10 inclusively for stage numbers.
       
      uint32 stage = 9 [(.validate.rules) = { ... }
      Specified by:
      getStage in interface LocalRateLimitOrBuilder
      Returns:
      The stage.
    • setStage

      public LocalRateLimit.Builder setStage(int value)
       Specifies the rate limit configurations to be applied with the same
       stage number. If not set, the default stage number is 0.
      
       .. note::
      
        The filter supports a range of 0 - 10 inclusively for stage numbers.
       
      uint32 stage = 9 [(.validate.rules) = { ... }
      Parameters:
      value - The stage to set.
      Returns:
      This builder for chaining.
    • clearStage

      public LocalRateLimit.Builder clearStage()
       Specifies the rate limit configurations to be applied with the same
       stage number. If not set, the default stage number is 0.
      
       .. note::
      
        The filter supports a range of 0 - 10 inclusively for stage numbers.
       
      uint32 stage = 9 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • getLocalRateLimitPerDownstreamConnection

      public boolean getLocalRateLimitPerDownstreamConnection()
       Specifies the scope of the rate limiter's token bucket.
       If set to false, the token bucket is shared across all worker threads,
       thus the rate limits are applied per Envoy process.
       If set to true, a token bucket is allocated for each connection.
       Thus the rate limits are applied per connection thereby allowing
       one to rate limit requests on a per connection basis.
       If unspecified, the default value is false.
       
      bool local_rate_limit_per_downstream_connection = 11;
      Specified by:
      getLocalRateLimitPerDownstreamConnection in interface LocalRateLimitOrBuilder
      Returns:
      The localRateLimitPerDownstreamConnection.
    • setLocalRateLimitPerDownstreamConnection

      public LocalRateLimit.Builder setLocalRateLimitPerDownstreamConnection(boolean value)
       Specifies the scope of the rate limiter's token bucket.
       If set to false, the token bucket is shared across all worker threads,
       thus the rate limits are applied per Envoy process.
       If set to true, a token bucket is allocated for each connection.
       Thus the rate limits are applied per connection thereby allowing
       one to rate limit requests on a per connection basis.
       If unspecified, the default value is false.
       
      bool local_rate_limit_per_downstream_connection = 11;
      Parameters:
      value - The localRateLimitPerDownstreamConnection to set.
      Returns:
      This builder for chaining.
    • clearLocalRateLimitPerDownstreamConnection

      public LocalRateLimit.Builder clearLocalRateLimitPerDownstreamConnection()
       Specifies the scope of the rate limiter's token bucket.
       If set to false, the token bucket is shared across all worker threads,
       thus the rate limits are applied per Envoy process.
       If set to true, a token bucket is allocated for each connection.
       Thus the rate limits are applied per connection thereby allowing
       one to rate limit requests on a per connection basis.
       If unspecified, the default value is false.
       
      bool local_rate_limit_per_downstream_connection = 11;
      Returns:
      This builder for chaining.
    • hasLocalClusterRateLimit

      public boolean hasLocalClusterRateLimit()
       Enables the local cluster level rate limiting, iff this is set explicitly. For example,
       given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens
       per second. If this is set, the total rate limit of whole gateway will always be X tokens
       per second regardless of how N changes. If this is not set, the total rate limit of whole
       gateway will be N * X tokens per second.
      
       .. note::
         This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to
         true. Because if per connection rate limiting is enabled, we assume that the token buckets
         should never be shared across Envoy instances.
      
       .. note::
         This only works when the :ref:`local cluster name
         <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and
         the related cluster is defined in the bootstrap configuration.
       
      .envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;
      Specified by:
      hasLocalClusterRateLimit in interface LocalRateLimitOrBuilder
      Returns:
      Whether the localClusterRateLimit field is set.
    • getLocalClusterRateLimit

      public LocalClusterRateLimit getLocalClusterRateLimit()
       Enables the local cluster level rate limiting, iff this is set explicitly. For example,
       given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens
       per second. If this is set, the total rate limit of whole gateway will always be X tokens
       per second regardless of how N changes. If this is not set, the total rate limit of whole
       gateway will be N * X tokens per second.
      
       .. note::
         This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to
         true. Because if per connection rate limiting is enabled, we assume that the token buckets
         should never be shared across Envoy instances.
      
       .. note::
         This only works when the :ref:`local cluster name
         <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and
         the related cluster is defined in the bootstrap configuration.
       
      .envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;
      Specified by:
      getLocalClusterRateLimit in interface LocalRateLimitOrBuilder
      Returns:
      The localClusterRateLimit.
    • setLocalClusterRateLimit

      public LocalRateLimit.Builder setLocalClusterRateLimit(LocalClusterRateLimit value)
       Enables the local cluster level rate limiting, iff this is set explicitly. For example,
       given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens
       per second. If this is set, the total rate limit of whole gateway will always be X tokens
       per second regardless of how N changes. If this is not set, the total rate limit of whole
       gateway will be N * X tokens per second.
      
       .. note::
         This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to
         true. Because if per connection rate limiting is enabled, we assume that the token buckets
         should never be shared across Envoy instances.
      
       .. note::
         This only works when the :ref:`local cluster name
         <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and
         the related cluster is defined in the bootstrap configuration.
       
      .envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;
    • setLocalClusterRateLimit

      public LocalRateLimit.Builder setLocalClusterRateLimit(LocalClusterRateLimit.Builder builderForValue)
       Enables the local cluster level rate limiting, iff this is set explicitly. For example,
       given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens
       per second. If this is set, the total rate limit of whole gateway will always be X tokens
       per second regardless of how N changes. If this is not set, the total rate limit of whole
       gateway will be N * X tokens per second.
      
       .. note::
         This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to
         true. Because if per connection rate limiting is enabled, we assume that the token buckets
         should never be shared across Envoy instances.
      
       .. note::
         This only works when the :ref:`local cluster name
         <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and
         the related cluster is defined in the bootstrap configuration.
       
      .envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;
    • mergeLocalClusterRateLimit

      public LocalRateLimit.Builder mergeLocalClusterRateLimit(LocalClusterRateLimit value)
       Enables the local cluster level rate limiting, iff this is set explicitly. For example,
       given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens
       per second. If this is set, the total rate limit of whole gateway will always be X tokens
       per second regardless of how N changes. If this is not set, the total rate limit of whole
       gateway will be N * X tokens per second.
      
       .. note::
         This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to
         true. Because if per connection rate limiting is enabled, we assume that the token buckets
         should never be shared across Envoy instances.
      
       .. note::
         This only works when the :ref:`local cluster name
         <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and
         the related cluster is defined in the bootstrap configuration.
       
      .envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;
    • clearLocalClusterRateLimit

      public LocalRateLimit.Builder clearLocalClusterRateLimit()
       Enables the local cluster level rate limiting, iff this is set explicitly. For example,
       given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens
       per second. If this is set, the total rate limit of whole gateway will always be X tokens
       per second regardless of how N changes. If this is not set, the total rate limit of whole
       gateway will be N * X tokens per second.
      
       .. note::
         This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to
         true. Because if per connection rate limiting is enabled, we assume that the token buckets
         should never be shared across Envoy instances.
      
       .. note::
         This only works when the :ref:`local cluster name
         <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and
         the related cluster is defined in the bootstrap configuration.
       
      .envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;
    • getLocalClusterRateLimitBuilder

      public LocalClusterRateLimit.Builder getLocalClusterRateLimitBuilder()
       Enables the local cluster level rate limiting, iff this is set explicitly. For example,
       given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens
       per second. If this is set, the total rate limit of whole gateway will always be X tokens
       per second regardless of how N changes. If this is not set, the total rate limit of whole
       gateway will be N * X tokens per second.
      
       .. note::
         This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to
         true. Because if per connection rate limiting is enabled, we assume that the token buckets
         should never be shared across Envoy instances.
      
       .. note::
         This only works when the :ref:`local cluster name
         <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and
         the related cluster is defined in the bootstrap configuration.
       
      .envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;
    • getLocalClusterRateLimitOrBuilder

      public LocalClusterRateLimitOrBuilder getLocalClusterRateLimitOrBuilder()
       Enables the local cluster level rate limiting, iff this is set explicitly. For example,
       given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens
       per second. If this is set, the total rate limit of whole gateway will always be X tokens
       per second regardless of how N changes. If this is not set, the total rate limit of whole
       gateway will be N * X tokens per second.
      
       .. note::
         This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to
         true. Because if per connection rate limiting is enabled, we assume that the token buckets
         should never be shared across Envoy instances.
      
       .. note::
         This only works when the :ref:`local cluster name
         <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and
         the related cluster is defined in the bootstrap configuration.
       
      .envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;
      Specified by:
      getLocalClusterRateLimitOrBuilder in interface LocalRateLimitOrBuilder
    • getEnableXRatelimitHeadersValue

      public int getEnableXRatelimitHeadersValue()
       Defines the standard version to use for X-RateLimit headers emitted by the filter.
      
       * ``X-RateLimit-Limit`` - indicates the request-quota associated to the
         client in the current time-window followed by the description of the
         quota policy.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window.
      
       In case rate limiting policy specifies more then one time window, the values
       above represent the window that is closest to reaching its limit.
      
       For more information about the headers specification see selected version of
       the `draft RFC <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_.
      
       Disabled by default.
       
      .envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 12 [(.validate.rules) = { ... }
      Specified by:
      getEnableXRatelimitHeadersValue in interface LocalRateLimitOrBuilder
      Returns:
      The enum numeric value on the wire for enableXRatelimitHeaders.
    • setEnableXRatelimitHeadersValue

      public LocalRateLimit.Builder setEnableXRatelimitHeadersValue(int value)
       Defines the standard version to use for X-RateLimit headers emitted by the filter.
      
       * ``X-RateLimit-Limit`` - indicates the request-quota associated to the
         client in the current time-window followed by the description of the
         quota policy.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window.
      
       In case rate limiting policy specifies more then one time window, the values
       above represent the window that is closest to reaching its limit.
      
       For more information about the headers specification see selected version of
       the `draft RFC <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_.
      
       Disabled by default.
       
      .envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 12 [(.validate.rules) = { ... }
      Parameters:
      value - The enum numeric value on the wire for enableXRatelimitHeaders to set.
      Returns:
      This builder for chaining.
    • getEnableXRatelimitHeaders

      public XRateLimitHeadersRFCVersion getEnableXRatelimitHeaders()
       Defines the standard version to use for X-RateLimit headers emitted by the filter.
      
       * ``X-RateLimit-Limit`` - indicates the request-quota associated to the
         client in the current time-window followed by the description of the
         quota policy.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window.
      
       In case rate limiting policy specifies more then one time window, the values
       above represent the window that is closest to reaching its limit.
      
       For more information about the headers specification see selected version of
       the `draft RFC <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_.
      
       Disabled by default.
       
      .envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 12 [(.validate.rules) = { ... }
      Specified by:
      getEnableXRatelimitHeaders in interface LocalRateLimitOrBuilder
      Returns:
      The enableXRatelimitHeaders.
    • setEnableXRatelimitHeaders

      public LocalRateLimit.Builder setEnableXRatelimitHeaders(XRateLimitHeadersRFCVersion value)
       Defines the standard version to use for X-RateLimit headers emitted by the filter.
      
       * ``X-RateLimit-Limit`` - indicates the request-quota associated to the
         client in the current time-window followed by the description of the
         quota policy.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window.
      
       In case rate limiting policy specifies more then one time window, the values
       above represent the window that is closest to reaching its limit.
      
       For more information about the headers specification see selected version of
       the `draft RFC <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_.
      
       Disabled by default.
       
      .envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 12 [(.validate.rules) = { ... }
      Parameters:
      value - The enableXRatelimitHeaders to set.
      Returns:
      This builder for chaining.
    • clearEnableXRatelimitHeaders

      public LocalRateLimit.Builder clearEnableXRatelimitHeaders()
       Defines the standard version to use for X-RateLimit headers emitted by the filter.
      
       * ``X-RateLimit-Limit`` - indicates the request-quota associated to the
         client in the current time-window followed by the description of the
         quota policy.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window.
      
       In case rate limiting policy specifies more then one time window, the values
       above represent the window that is closest to reaching its limit.
      
       For more information about the headers specification see selected version of
       the `draft RFC <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_.
      
       Disabled by default.
       
      .envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 12 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • getVhRateLimitsValue

      public int getVhRateLimitsValue()
       Specifies if the local rate limit filter should include the virtual host rate limits.
       
      .envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions vh_rate_limits = 13 [(.validate.rules) = { ... }
      Specified by:
      getVhRateLimitsValue in interface LocalRateLimitOrBuilder
      Returns:
      The enum numeric value on the wire for vhRateLimits.
    • setVhRateLimitsValue

      public LocalRateLimit.Builder setVhRateLimitsValue(int value)
       Specifies if the local rate limit filter should include the virtual host rate limits.
       
      .envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions vh_rate_limits = 13 [(.validate.rules) = { ... }
      Parameters:
      value - The enum numeric value on the wire for vhRateLimits to set.
      Returns:
      This builder for chaining.
    • getVhRateLimits

      public VhRateLimitsOptions getVhRateLimits()
       Specifies if the local rate limit filter should include the virtual host rate limits.
       
      .envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions vh_rate_limits = 13 [(.validate.rules) = { ... }
      Specified by:
      getVhRateLimits in interface LocalRateLimitOrBuilder
      Returns:
      The vhRateLimits.
    • setVhRateLimits

      public LocalRateLimit.Builder setVhRateLimits(VhRateLimitsOptions value)
       Specifies if the local rate limit filter should include the virtual host rate limits.
       
      .envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions vh_rate_limits = 13 [(.validate.rules) = { ... }
      Parameters:
      value - The vhRateLimits to set.
      Returns:
      This builder for chaining.
    • clearVhRateLimits

      public LocalRateLimit.Builder clearVhRateLimits()
       Specifies if the local rate limit filter should include the virtual host rate limits.
       
      .envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions vh_rate_limits = 13 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • hasAlwaysConsumeDefaultTokenBucket

      public boolean hasAlwaysConsumeDefaultTokenBucket()
       Specifies if default token bucket should be always consumed.
       If set to false, default token bucket will only be consumed when there is
       no matching descriptor. If set to true, default token bucket will always
       be consumed. Default is true.
       
      .google.protobuf.BoolValue always_consume_default_token_bucket = 14;
      Specified by:
      hasAlwaysConsumeDefaultTokenBucket in interface LocalRateLimitOrBuilder
      Returns:
      Whether the alwaysConsumeDefaultTokenBucket field is set.
    • getAlwaysConsumeDefaultTokenBucket

      public com.google.protobuf.BoolValue getAlwaysConsumeDefaultTokenBucket()
       Specifies if default token bucket should be always consumed.
       If set to false, default token bucket will only be consumed when there is
       no matching descriptor. If set to true, default token bucket will always
       be consumed. Default is true.
       
      .google.protobuf.BoolValue always_consume_default_token_bucket = 14;
      Specified by:
      getAlwaysConsumeDefaultTokenBucket in interface LocalRateLimitOrBuilder
      Returns:
      The alwaysConsumeDefaultTokenBucket.
    • setAlwaysConsumeDefaultTokenBucket

      public LocalRateLimit.Builder setAlwaysConsumeDefaultTokenBucket(com.google.protobuf.BoolValue value)
       Specifies if default token bucket should be always consumed.
       If set to false, default token bucket will only be consumed when there is
       no matching descriptor. If set to true, default token bucket will always
       be consumed. Default is true.
       
      .google.protobuf.BoolValue always_consume_default_token_bucket = 14;
    • setAlwaysConsumeDefaultTokenBucket

      public LocalRateLimit.Builder setAlwaysConsumeDefaultTokenBucket(com.google.protobuf.BoolValue.Builder builderForValue)
       Specifies if default token bucket should be always consumed.
       If set to false, default token bucket will only be consumed when there is
       no matching descriptor. If set to true, default token bucket will always
       be consumed. Default is true.
       
      .google.protobuf.BoolValue always_consume_default_token_bucket = 14;
    • mergeAlwaysConsumeDefaultTokenBucket

      public LocalRateLimit.Builder mergeAlwaysConsumeDefaultTokenBucket(com.google.protobuf.BoolValue value)
       Specifies if default token bucket should be always consumed.
       If set to false, default token bucket will only be consumed when there is
       no matching descriptor. If set to true, default token bucket will always
       be consumed. Default is true.
       
      .google.protobuf.BoolValue always_consume_default_token_bucket = 14;
    • clearAlwaysConsumeDefaultTokenBucket

      public LocalRateLimit.Builder clearAlwaysConsumeDefaultTokenBucket()
       Specifies if default token bucket should be always consumed.
       If set to false, default token bucket will only be consumed when there is
       no matching descriptor. If set to true, default token bucket will always
       be consumed. Default is true.
       
      .google.protobuf.BoolValue always_consume_default_token_bucket = 14;
    • getAlwaysConsumeDefaultTokenBucketBuilder

      public com.google.protobuf.BoolValue.Builder getAlwaysConsumeDefaultTokenBucketBuilder()
       Specifies if default token bucket should be always consumed.
       If set to false, default token bucket will only be consumed when there is
       no matching descriptor. If set to true, default token bucket will always
       be consumed. Default is true.
       
      .google.protobuf.BoolValue always_consume_default_token_bucket = 14;
    • getAlwaysConsumeDefaultTokenBucketOrBuilder

      public com.google.protobuf.BoolValueOrBuilder getAlwaysConsumeDefaultTokenBucketOrBuilder()
       Specifies if default token bucket should be always consumed.
       If set to false, default token bucket will only be consumed when there is
       no matching descriptor. If set to true, default token bucket will always
       be consumed. Default is true.
       
      .google.protobuf.BoolValue always_consume_default_token_bucket = 14;
      Specified by:
      getAlwaysConsumeDefaultTokenBucketOrBuilder in interface LocalRateLimitOrBuilder
    • getRateLimitedAsResourceExhausted

      public boolean getRateLimitedAsResourceExhausted()
       Specifies whether a ``RESOURCE_EXHAUSTED`` gRPC code must be returned instead
       of the default ``UNAVAILABLE`` gRPC code for a rate limited gRPC call. The
       HTTP code will be 200 for a gRPC response.
       
      bool rate_limited_as_resource_exhausted = 15;
      Specified by:
      getRateLimitedAsResourceExhausted in interface LocalRateLimitOrBuilder
      Returns:
      The rateLimitedAsResourceExhausted.
    • setRateLimitedAsResourceExhausted

      public LocalRateLimit.Builder setRateLimitedAsResourceExhausted(boolean value)
       Specifies whether a ``RESOURCE_EXHAUSTED`` gRPC code must be returned instead
       of the default ``UNAVAILABLE`` gRPC code for a rate limited gRPC call. The
       HTTP code will be 200 for a gRPC response.
       
      bool rate_limited_as_resource_exhausted = 15;
      Parameters:
      value - The rateLimitedAsResourceExhausted to set.
      Returns:
      This builder for chaining.
    • clearRateLimitedAsResourceExhausted

      public LocalRateLimit.Builder clearRateLimitedAsResourceExhausted()
       Specifies whether a ``RESOURCE_EXHAUSTED`` gRPC code must be returned instead
       of the default ``UNAVAILABLE`` gRPC code for a rate limited gRPC call. The
       HTTP code will be 200 for a gRPC response.
       
      bool rate_limited_as_resource_exhausted = 15;
      Returns:
      This builder for chaining.
    • getRateLimitsList

      public List<RateLimit> getRateLimitsList()
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
      Specified by:
      getRateLimitsList in interface LocalRateLimitOrBuilder
    • getRateLimitsCount

      public int getRateLimitsCount()
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
      Specified by:
      getRateLimitsCount in interface LocalRateLimitOrBuilder
    • getRateLimits

      public RateLimit getRateLimits(int index)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
      Specified by:
      getRateLimits in interface LocalRateLimitOrBuilder
    • setRateLimits

      public LocalRateLimit.Builder setRateLimits(int index, RateLimit value)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • setRateLimits

      public LocalRateLimit.Builder setRateLimits(int index, RateLimit.Builder builderForValue)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • addRateLimits

      public LocalRateLimit.Builder addRateLimits(RateLimit value)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • addRateLimits

      public LocalRateLimit.Builder addRateLimits(int index, RateLimit value)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • addRateLimits

      public LocalRateLimit.Builder addRateLimits(RateLimit.Builder builderForValue)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • addRateLimits

      public LocalRateLimit.Builder addRateLimits(int index, RateLimit.Builder builderForValue)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • addAllRateLimits

      public LocalRateLimit.Builder addAllRateLimits(Iterable<? extends RateLimit> values)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • clearRateLimits

      public LocalRateLimit.Builder clearRateLimits()
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • removeRateLimits

      public LocalRateLimit.Builder removeRateLimits(int index)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • getRateLimitsBuilder

      public RateLimit.Builder getRateLimitsBuilder(int index)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • getRateLimitsOrBuilder

      public RateLimitOrBuilder getRateLimitsOrBuilder(int index)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
      Specified by:
      getRateLimitsOrBuilder in interface LocalRateLimitOrBuilder
    • getRateLimitsOrBuilderList

      public List<? extends RateLimitOrBuilder> getRateLimitsOrBuilderList()
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
      Specified by:
      getRateLimitsOrBuilderList in interface LocalRateLimitOrBuilder
    • addRateLimitsBuilder

      public RateLimit.Builder addRateLimitsBuilder()
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • addRateLimitsBuilder

      public RateLimit.Builder addRateLimitsBuilder(int index)
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • getRateLimitsBuilderList

      public List<RateLimit.Builder> getRateLimitsBuilderList()
       Rate limit configuration that is used to generate a list of descriptor entries based on
       the request context. The generated entries will be used to find one or multiple matched rate
       limit rule from the ``descriptors``.
       If this is set, then
       :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or
       :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields
       will be ignored.
      
       .. note::
         Not all configuration fields of
         :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here.
         Following fields are not supported:
      
         1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`.
         2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`.
         3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`.
         4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
       
      repeated .envoy.config.route.v3.RateLimit rate_limits = 17;
    • hasMaxDynamicDescriptors

      public boolean hasMaxDynamicDescriptors()
       Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor
       configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.
       Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors
       with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors.
       Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted
       values.
       Minimum is 1. Default is 20.
       
      .google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }
      Specified by:
      hasMaxDynamicDescriptors in interface LocalRateLimitOrBuilder
      Returns:
      Whether the maxDynamicDescriptors field is set.
    • getMaxDynamicDescriptors

      public com.google.protobuf.UInt32Value getMaxDynamicDescriptors()
       Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor
       configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.
       Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors
       with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors.
       Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted
       values.
       Minimum is 1. Default is 20.
       
      .google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }
      Specified by:
      getMaxDynamicDescriptors in interface LocalRateLimitOrBuilder
      Returns:
      The maxDynamicDescriptors.
    • setMaxDynamicDescriptors

      public LocalRateLimit.Builder setMaxDynamicDescriptors(com.google.protobuf.UInt32Value value)
       Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor
       configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.
       Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors
       with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors.
       Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted
       values.
       Minimum is 1. Default is 20.
       
      .google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }
    • setMaxDynamicDescriptors

      public LocalRateLimit.Builder setMaxDynamicDescriptors(com.google.protobuf.UInt32Value.Builder builderForValue)
       Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor
       configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.
       Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors
       with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors.
       Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted
       values.
       Minimum is 1. Default is 20.
       
      .google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }
    • mergeMaxDynamicDescriptors

      public LocalRateLimit.Builder mergeMaxDynamicDescriptors(com.google.protobuf.UInt32Value value)
       Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor
       configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.
       Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors
       with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors.
       Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted
       values.
       Minimum is 1. Default is 20.
       
      .google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }
    • clearMaxDynamicDescriptors

      public LocalRateLimit.Builder clearMaxDynamicDescriptors()
       Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor
       configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.
       Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors
       with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors.
       Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted
       values.
       Minimum is 1. Default is 20.
       
      .google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }
    • getMaxDynamicDescriptorsBuilder

      public com.google.protobuf.UInt32Value.Builder getMaxDynamicDescriptorsBuilder()
       Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor
       configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.
       Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors
       with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors.
       Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted
       values.
       Minimum is 1. Default is 20.
       
      .google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }
    • getMaxDynamicDescriptorsOrBuilder

      public com.google.protobuf.UInt32ValueOrBuilder getMaxDynamicDescriptorsOrBuilder()
       Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor
       configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.
       Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors
       with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors.
       Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted
       values.
       Minimum is 1. Default is 20.
       
      .google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }
      Specified by:
      getMaxDynamicDescriptorsOrBuilder in interface LocalRateLimitOrBuilder
    • setUnknownFields

      public final LocalRateLimit.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<LocalRateLimit.Builder>
    • mergeUnknownFields

      public final LocalRateLimit.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<LocalRateLimit.Builder>