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

public static final class RateLimit.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<RateLimit.Builder> implements RateLimitOrBuilder
 [#next-free-field: 18]
 
Protobuf type envoy.extensions.filters.http.ratelimit.v3.RateLimit
  • Method Details

    • getDescriptor

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      public RateLimit.Builder mergeFrom(RateLimit other)
    • isInitialized

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

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

      public String getDomain()
       The rate limit domain to use when calling the rate limit service.
       
      string domain = 1 [(.validate.rules) = { ... }
      Specified by:
      getDomain in interface RateLimitOrBuilder
      Returns:
      The domain.
    • getDomainBytes

      public com.google.protobuf.ByteString getDomainBytes()
       The rate limit domain to use when calling the rate limit service.
       
      string domain = 1 [(.validate.rules) = { ... }
      Specified by:
      getDomainBytes in interface RateLimitOrBuilder
      Returns:
      The bytes for domain.
    • setDomain

      public RateLimit.Builder setDomain(String value)
       The rate limit domain to use when calling the rate limit service.
       
      string domain = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The domain to set.
      Returns:
      This builder for chaining.
    • clearDomain

      public RateLimit.Builder clearDomain()
       The rate limit domain to use when calling the rate limit service.
       
      string domain = 1 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • setDomainBytes

      public RateLimit.Builder setDomainBytes(com.google.protobuf.ByteString value)
       The rate limit domain to use when calling the rate limit service.
       
      string domain = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The bytes for domain to set.
      Returns:
      This builder for chaining.
    • 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 = 2 [(.validate.rules) = { ... }
      Specified by:
      getStage in interface RateLimitOrBuilder
      Returns:
      The stage.
    • setStage

      public RateLimit.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 = 2 [(.validate.rules) = { ... }
      Parameters:
      value - The stage to set.
      Returns:
      This builder for chaining.
    • clearStage

      public RateLimit.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 = 2 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • getRequestType

      public String getRequestType()
       The type of requests the filter should apply to. The supported
       types are ``internal``, ``external`` or ``both``. A request is considered internal if
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is set to true. If
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is not set or false, a
       request is considered external. The filter defaults to ``both``, and it will apply to all request
       types.
       
      string request_type = 3 [(.validate.rules) = { ... }
      Specified by:
      getRequestType in interface RateLimitOrBuilder
      Returns:
      The requestType.
    • getRequestTypeBytes

      public com.google.protobuf.ByteString getRequestTypeBytes()
       The type of requests the filter should apply to. The supported
       types are ``internal``, ``external`` or ``both``. A request is considered internal if
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is set to true. If
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is not set or false, a
       request is considered external. The filter defaults to ``both``, and it will apply to all request
       types.
       
      string request_type = 3 [(.validate.rules) = { ... }
      Specified by:
      getRequestTypeBytes in interface RateLimitOrBuilder
      Returns:
      The bytes for requestType.
    • setRequestType

      public RateLimit.Builder setRequestType(String value)
       The type of requests the filter should apply to. The supported
       types are ``internal``, ``external`` or ``both``. A request is considered internal if
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is set to true. If
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is not set or false, a
       request is considered external. The filter defaults to ``both``, and it will apply to all request
       types.
       
      string request_type = 3 [(.validate.rules) = { ... }
      Parameters:
      value - The requestType to set.
      Returns:
      This builder for chaining.
    • clearRequestType

      public RateLimit.Builder clearRequestType()
       The type of requests the filter should apply to. The supported
       types are ``internal``, ``external`` or ``both``. A request is considered internal if
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is set to true. If
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is not set or false, a
       request is considered external. The filter defaults to ``both``, and it will apply to all request
       types.
       
      string request_type = 3 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • setRequestTypeBytes

      public RateLimit.Builder setRequestTypeBytes(com.google.protobuf.ByteString value)
       The type of requests the filter should apply to. The supported
       types are ``internal``, ``external`` or ``both``. A request is considered internal if
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is set to true. If
       :ref:`x-envoy-internal<config_http_conn_man_headers_x-envoy-internal>` is not set or false, a
       request is considered external. The filter defaults to ``both``, and it will apply to all request
       types.
       
      string request_type = 3 [(.validate.rules) = { ... }
      Parameters:
      value - The bytes for requestType to set.
      Returns:
      This builder for chaining.
    • hasTimeout

      public boolean hasTimeout()
       The timeout in milliseconds for the rate limit service RPC. If not
       set, this defaults to 20ms.
       
      .google.protobuf.Duration timeout = 4;
      Specified by:
      hasTimeout in interface RateLimitOrBuilder
      Returns:
      Whether the timeout field is set.
    • getTimeout

      public com.google.protobuf.Duration getTimeout()
       The timeout in milliseconds for the rate limit service RPC. If not
       set, this defaults to 20ms.
       
      .google.protobuf.Duration timeout = 4;
      Specified by:
      getTimeout in interface RateLimitOrBuilder
      Returns:
      The timeout.
    • setTimeout

      public RateLimit.Builder setTimeout(com.google.protobuf.Duration value)
       The timeout in milliseconds for the rate limit service RPC. If not
       set, this defaults to 20ms.
       
      .google.protobuf.Duration timeout = 4;
    • setTimeout

      public RateLimit.Builder setTimeout(com.google.protobuf.Duration.Builder builderForValue)
       The timeout in milliseconds for the rate limit service RPC. If not
       set, this defaults to 20ms.
       
      .google.protobuf.Duration timeout = 4;
    • mergeTimeout

      public RateLimit.Builder mergeTimeout(com.google.protobuf.Duration value)
       The timeout in milliseconds for the rate limit service RPC. If not
       set, this defaults to 20ms.
       
      .google.protobuf.Duration timeout = 4;
    • clearTimeout

      public RateLimit.Builder clearTimeout()
       The timeout in milliseconds for the rate limit service RPC. If not
       set, this defaults to 20ms.
       
      .google.protobuf.Duration timeout = 4;
    • getTimeoutBuilder

      public com.google.protobuf.Duration.Builder getTimeoutBuilder()
       The timeout in milliseconds for the rate limit service RPC. If not
       set, this defaults to 20ms.
       
      .google.protobuf.Duration timeout = 4;
    • getTimeoutOrBuilder

      public com.google.protobuf.DurationOrBuilder getTimeoutOrBuilder()
       The timeout in milliseconds for the rate limit service RPC. If not
       set, this defaults to 20ms.
       
      .google.protobuf.Duration timeout = 4;
      Specified by:
      getTimeoutOrBuilder in interface RateLimitOrBuilder
    • getFailureModeDeny

      public boolean getFailureModeDeny()
       The filter's behaviour in case the rate limiting service does
       not respond back. When it is set to true, Envoy will not allow traffic in case of
       communication failure between rate limiting service and the proxy.
       
      bool failure_mode_deny = 5;
      Specified by:
      getFailureModeDeny in interface RateLimitOrBuilder
      Returns:
      The failureModeDeny.
    • setFailureModeDeny

      public RateLimit.Builder setFailureModeDeny(boolean value)
       The filter's behaviour in case the rate limiting service does
       not respond back. When it is set to true, Envoy will not allow traffic in case of
       communication failure between rate limiting service and the proxy.
       
      bool failure_mode_deny = 5;
      Parameters:
      value - The failureModeDeny to set.
      Returns:
      This builder for chaining.
    • clearFailureModeDeny

      public RateLimit.Builder clearFailureModeDeny()
       The filter's behaviour in case the rate limiting service does
       not respond back. When it is set to true, Envoy will not allow traffic in case of
       communication failure between rate limiting service and the proxy.
       
      bool failure_mode_deny = 5;
      Returns:
      This builder for chaining.
    • 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 = 6;
      Specified by:
      getRateLimitedAsResourceExhausted in interface RateLimitOrBuilder
      Returns:
      The rateLimitedAsResourceExhausted.
    • setRateLimitedAsResourceExhausted

      public RateLimit.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 = 6;
      Parameters:
      value - The rateLimitedAsResourceExhausted to set.
      Returns:
      This builder for chaining.
    • clearRateLimitedAsResourceExhausted

      public RateLimit.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 = 6;
      Returns:
      This builder for chaining.
    • hasRateLimitService

      public boolean hasRateLimitService()
       Configuration for an external rate limit service provider. If not
       specified, any calls to the rate limit service will immediately return
       success.
       
      .envoy.config.ratelimit.v3.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }
      Specified by:
      hasRateLimitService in interface RateLimitOrBuilder
      Returns:
      Whether the rateLimitService field is set.
    • getRateLimitService

      public RateLimitServiceConfig getRateLimitService()
       Configuration for an external rate limit service provider. If not
       specified, any calls to the rate limit service will immediately return
       success.
       
      .envoy.config.ratelimit.v3.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }
      Specified by:
      getRateLimitService in interface RateLimitOrBuilder
      Returns:
      The rateLimitService.
    • setRateLimitService

      public RateLimit.Builder setRateLimitService(RateLimitServiceConfig value)
       Configuration for an external rate limit service provider. If not
       specified, any calls to the rate limit service will immediately return
       success.
       
      .envoy.config.ratelimit.v3.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }
    • setRateLimitService

      public RateLimit.Builder setRateLimitService(RateLimitServiceConfig.Builder builderForValue)
       Configuration for an external rate limit service provider. If not
       specified, any calls to the rate limit service will immediately return
       success.
       
      .envoy.config.ratelimit.v3.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }
    • mergeRateLimitService

      public RateLimit.Builder mergeRateLimitService(RateLimitServiceConfig value)
       Configuration for an external rate limit service provider. If not
       specified, any calls to the rate limit service will immediately return
       success.
       
      .envoy.config.ratelimit.v3.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }
    • clearRateLimitService

      public RateLimit.Builder clearRateLimitService()
       Configuration for an external rate limit service provider. If not
       specified, any calls to the rate limit service will immediately return
       success.
       
      .envoy.config.ratelimit.v3.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }
    • getRateLimitServiceBuilder

      public RateLimitServiceConfig.Builder getRateLimitServiceBuilder()
       Configuration for an external rate limit service provider. If not
       specified, any calls to the rate limit service will immediately return
       success.
       
      .envoy.config.ratelimit.v3.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }
    • getRateLimitServiceOrBuilder

      public RateLimitServiceConfigOrBuilder getRateLimitServiceOrBuilder()
       Configuration for an external rate limit service provider. If not
       specified, any calls to the rate limit service will immediately return
       success.
       
      .envoy.config.ratelimit.v3.RateLimitServiceConfig rate_limit_service = 7 [(.validate.rules) = { ... }
      Specified by:
      getRateLimitServiceOrBuilder in interface RateLimitOrBuilder
    • 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. The values are returned by the rate limiting service in
         :ref:`current_limit<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.current_limit>`
         field. Example: ``10, 10;w=1;name="per-ip", 1000;w=3600``.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window. The values are returned by the rate limiting service
         in :ref:`limit_remaining<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.limit_remaining>`
         field.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window. The values are returned by the rate limiting service
         in :ref:`duration_until_reset<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.duration_until_reset>`
         field.
      
       In case rate limiting policy specifies more than 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.
      
       [#next-major-version: unify with local ratelimit, should use common.ratelimit.v3.XRateLimitHeadersRFCVersion instead.]
       
      .envoy.extensions.filters.http.ratelimit.v3.RateLimit.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 8 [(.validate.rules) = { ... }
      Specified by:
      getEnableXRatelimitHeadersValue in interface RateLimitOrBuilder
      Returns:
      The enum numeric value on the wire for enableXRatelimitHeaders.
    • setEnableXRatelimitHeadersValue

      public RateLimit.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. The values are returned by the rate limiting service in
         :ref:`current_limit<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.current_limit>`
         field. Example: ``10, 10;w=1;name="per-ip", 1000;w=3600``.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window. The values are returned by the rate limiting service
         in :ref:`limit_remaining<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.limit_remaining>`
         field.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window. The values are returned by the rate limiting service
         in :ref:`duration_until_reset<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.duration_until_reset>`
         field.
      
       In case rate limiting policy specifies more than 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.
      
       [#next-major-version: unify with local ratelimit, should use common.ratelimit.v3.XRateLimitHeadersRFCVersion instead.]
       
      .envoy.extensions.filters.http.ratelimit.v3.RateLimit.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 8 [(.validate.rules) = { ... }
      Parameters:
      value - The enum numeric value on the wire for enableXRatelimitHeaders to set.
      Returns:
      This builder for chaining.
    • getEnableXRatelimitHeaders

      public RateLimit.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. The values are returned by the rate limiting service in
         :ref:`current_limit<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.current_limit>`
         field. Example: ``10, 10;w=1;name="per-ip", 1000;w=3600``.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window. The values are returned by the rate limiting service
         in :ref:`limit_remaining<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.limit_remaining>`
         field.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window. The values are returned by the rate limiting service
         in :ref:`duration_until_reset<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.duration_until_reset>`
         field.
      
       In case rate limiting policy specifies more than 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.
      
       [#next-major-version: unify with local ratelimit, should use common.ratelimit.v3.XRateLimitHeadersRFCVersion instead.]
       
      .envoy.extensions.filters.http.ratelimit.v3.RateLimit.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 8 [(.validate.rules) = { ... }
      Specified by:
      getEnableXRatelimitHeaders in interface RateLimitOrBuilder
      Returns:
      The enableXRatelimitHeaders.
    • setEnableXRatelimitHeaders

      public RateLimit.Builder setEnableXRatelimitHeaders(RateLimit.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. The values are returned by the rate limiting service in
         :ref:`current_limit<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.current_limit>`
         field. Example: ``10, 10;w=1;name="per-ip", 1000;w=3600``.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window. The values are returned by the rate limiting service
         in :ref:`limit_remaining<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.limit_remaining>`
         field.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window. The values are returned by the rate limiting service
         in :ref:`duration_until_reset<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.duration_until_reset>`
         field.
      
       In case rate limiting policy specifies more than 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.
      
       [#next-major-version: unify with local ratelimit, should use common.ratelimit.v3.XRateLimitHeadersRFCVersion instead.]
       
      .envoy.extensions.filters.http.ratelimit.v3.RateLimit.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 8 [(.validate.rules) = { ... }
      Parameters:
      value - The enableXRatelimitHeaders to set.
      Returns:
      This builder for chaining.
    • clearEnableXRatelimitHeaders

      public RateLimit.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. The values are returned by the rate limiting service in
         :ref:`current_limit<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.current_limit>`
         field. Example: ``10, 10;w=1;name="per-ip", 1000;w=3600``.
       * ``X-RateLimit-Remaining`` - indicates the remaining requests in the
         current time-window. The values are returned by the rate limiting service
         in :ref:`limit_remaining<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.limit_remaining>`
         field.
       * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of
         the current time-window. The values are returned by the rate limiting service
         in :ref:`duration_until_reset<envoy_v3_api_field_service.ratelimit.v3.RateLimitResponse.DescriptorStatus.duration_until_reset>`
         field.
      
       In case rate limiting policy specifies more than 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.
      
       [#next-major-version: unify with local ratelimit, should use common.ratelimit.v3.XRateLimitHeadersRFCVersion instead.]
       
      .envoy.extensions.filters.http.ratelimit.v3.RateLimit.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 8 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • getDisableXEnvoyRatelimitedHeader

      public boolean getDisableXEnvoyRatelimitedHeader()
       Disables emitting the :ref:`x-envoy-ratelimited<config_http_filters_router_x-envoy-ratelimited>` header
       in case of rate limiting (i.e. 429 responses).
       Having this header not present potentially makes the request retriable.
       
      bool disable_x_envoy_ratelimited_header = 9;
      Specified by:
      getDisableXEnvoyRatelimitedHeader in interface RateLimitOrBuilder
      Returns:
      The disableXEnvoyRatelimitedHeader.
    • setDisableXEnvoyRatelimitedHeader

      public RateLimit.Builder setDisableXEnvoyRatelimitedHeader(boolean value)
       Disables emitting the :ref:`x-envoy-ratelimited<config_http_filters_router_x-envoy-ratelimited>` header
       in case of rate limiting (i.e. 429 responses).
       Having this header not present potentially makes the request retriable.
       
      bool disable_x_envoy_ratelimited_header = 9;
      Parameters:
      value - The disableXEnvoyRatelimitedHeader to set.
      Returns:
      This builder for chaining.
    • clearDisableXEnvoyRatelimitedHeader

      public RateLimit.Builder clearDisableXEnvoyRatelimitedHeader()
       Disables emitting the :ref:`x-envoy-ratelimited<config_http_filters_router_x-envoy-ratelimited>` header
       in case of rate limiting (i.e. 429 responses).
       Having this header not present potentially makes the request retriable.
       
      bool disable_x_envoy_ratelimited_header = 9;
      Returns:
      This builder for chaining.
    • hasRateLimitedStatus

      public boolean hasRateLimitedStatus()
       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 rate_limited_status = 10;
      Specified by:
      hasRateLimitedStatus in interface RateLimitOrBuilder
      Returns:
      Whether the rateLimitedStatus field is set.
    • getRateLimitedStatus

      public HttpStatus getRateLimitedStatus()
       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 rate_limited_status = 10;
      Specified by:
      getRateLimitedStatus in interface RateLimitOrBuilder
      Returns:
      The rateLimitedStatus.
    • setRateLimitedStatus

      public RateLimit.Builder setRateLimitedStatus(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 rate_limited_status = 10;
    • setRateLimitedStatus

      public RateLimit.Builder setRateLimitedStatus(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 rate_limited_status = 10;
    • mergeRateLimitedStatus

      public RateLimit.Builder mergeRateLimitedStatus(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 rate_limited_status = 10;
    • clearRateLimitedStatus

      public RateLimit.Builder clearRateLimitedStatus()
       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 rate_limited_status = 10;
    • getRateLimitedStatusBuilder

      public HttpStatus.Builder getRateLimitedStatusBuilder()
       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 rate_limited_status = 10;
    • getRateLimitedStatusOrBuilder

      public HttpStatusOrBuilder getRateLimitedStatusOrBuilder()
       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 rate_limited_status = 10;
      Specified by:
      getRateLimitedStatusOrBuilder in interface RateLimitOrBuilder
    • 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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAddList in interface RateLimitOrBuilder
    • getResponseHeadersToAddCount

      public int getResponseHeadersToAddCount()
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAddCount in interface RateLimitOrBuilder
    • 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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAdd in interface RateLimitOrBuilder
    • setResponseHeadersToAdd

      public RateLimit.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
    • setResponseHeadersToAdd

      public RateLimit.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
    • addResponseHeadersToAdd

      public RateLimit.Builder addResponseHeadersToAdd(HeaderValueOption value)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
    • addResponseHeadersToAdd

      public RateLimit.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
    • addResponseHeadersToAdd

      public RateLimit.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
    • addResponseHeadersToAdd

      public RateLimit.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
    • addAllResponseHeadersToAdd

      public RateLimit.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
    • clearResponseHeadersToAdd

      public RateLimit.Builder clearResponseHeadersToAdd()
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
    • removeResponseHeadersToAdd

      public RateLimit.Builder removeResponseHeadersToAdd(int index)
       Specifies a list of HTTP headers that should be added to each response for requests that
       have been rate limited.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAddOrBuilder in interface RateLimitOrBuilder
    • 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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
      Specified by:
      getResponseHeadersToAddOrBuilderList in interface RateLimitOrBuilder
    • 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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.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.
       
      repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 11 [(.validate.rules) = { ... }
    • hasStatusOnError

      public boolean hasStatusOnError()
       Sets the HTTP status that is returned to the client when the ratelimit server returns an error
       or cannot be reached. The default status is 500.
       
      .envoy.type.v3.HttpStatus status_on_error = 12;
      Specified by:
      hasStatusOnError in interface RateLimitOrBuilder
      Returns:
      Whether the statusOnError field is set.
    • getStatusOnError

      public HttpStatus getStatusOnError()
       Sets the HTTP status that is returned to the client when the ratelimit server returns an error
       or cannot be reached. The default status is 500.
       
      .envoy.type.v3.HttpStatus status_on_error = 12;
      Specified by:
      getStatusOnError in interface RateLimitOrBuilder
      Returns:
      The statusOnError.
    • setStatusOnError

      public RateLimit.Builder setStatusOnError(HttpStatus value)
       Sets the HTTP status that is returned to the client when the ratelimit server returns an error
       or cannot be reached. The default status is 500.
       
      .envoy.type.v3.HttpStatus status_on_error = 12;
    • setStatusOnError

      public RateLimit.Builder setStatusOnError(HttpStatus.Builder builderForValue)
       Sets the HTTP status that is returned to the client when the ratelimit server returns an error
       or cannot be reached. The default status is 500.
       
      .envoy.type.v3.HttpStatus status_on_error = 12;
    • mergeStatusOnError

      public RateLimit.Builder mergeStatusOnError(HttpStatus value)
       Sets the HTTP status that is returned to the client when the ratelimit server returns an error
       or cannot be reached. The default status is 500.
       
      .envoy.type.v3.HttpStatus status_on_error = 12;
    • clearStatusOnError

      public RateLimit.Builder clearStatusOnError()
       Sets the HTTP status that is returned to the client when the ratelimit server returns an error
       or cannot be reached. The default status is 500.
       
      .envoy.type.v3.HttpStatus status_on_error = 12;
    • getStatusOnErrorBuilder

      public HttpStatus.Builder getStatusOnErrorBuilder()
       Sets the HTTP status that is returned to the client when the ratelimit server returns an error
       or cannot be reached. The default status is 500.
       
      .envoy.type.v3.HttpStatus status_on_error = 12;
    • getStatusOnErrorOrBuilder

      public HttpStatusOrBuilder getStatusOnErrorOrBuilder()
       Sets the HTTP status that is returned to the client when the ratelimit server returns an error
       or cannot be reached. The default status is 500.
       
      .envoy.type.v3.HttpStatus status_on_error = 12;
      Specified by:
      getStatusOnErrorOrBuilder in interface RateLimitOrBuilder
    • getStatPrefix

      public String getStatPrefix()
       Optional additional prefix to use when emitting statistics. This allows to distinguish
       emitted statistics between configured ``ratelimit`` filters in an HTTP filter chain.
       
      string stat_prefix = 13;
      Specified by:
      getStatPrefix in interface RateLimitOrBuilder
      Returns:
      The statPrefix.
    • getStatPrefixBytes

      public com.google.protobuf.ByteString getStatPrefixBytes()
       Optional additional prefix to use when emitting statistics. This allows to distinguish
       emitted statistics between configured ``ratelimit`` filters in an HTTP filter chain.
       
      string stat_prefix = 13;
      Specified by:
      getStatPrefixBytes in interface RateLimitOrBuilder
      Returns:
      The bytes for statPrefix.
    • setStatPrefix

      public RateLimit.Builder setStatPrefix(String value)
       Optional additional prefix to use when emitting statistics. This allows to distinguish
       emitted statistics between configured ``ratelimit`` filters in an HTTP filter chain.
       
      string stat_prefix = 13;
      Parameters:
      value - The statPrefix to set.
      Returns:
      This builder for chaining.
    • clearStatPrefix

      public RateLimit.Builder clearStatPrefix()
       Optional additional prefix to use when emitting statistics. This allows to distinguish
       emitted statistics between configured ``ratelimit`` filters in an HTTP filter chain.
       
      string stat_prefix = 13;
      Returns:
      This builder for chaining.
    • setStatPrefixBytes

      public RateLimit.Builder setStatPrefixBytes(com.google.protobuf.ByteString value)
       Optional additional prefix to use when emitting statistics. This allows to distinguish
       emitted statistics between configured ``ratelimit`` filters in an HTTP filter chain.
       
      string stat_prefix = 13;
      Parameters:
      value - The bytes for statPrefix to set.
      Returns:
      This builder for chaining.
    • hasFilterEnabled

      public boolean hasFilterEnabled()
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
      
       If not set then ``ratelimit.http_filter_enabled`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 14;
      Specified by:
      hasFilterEnabled in interface RateLimitOrBuilder
      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.
      
       If not set then ``ratelimit.http_filter_enabled`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 14;
      Specified by:
      getFilterEnabled in interface RateLimitOrBuilder
      Returns:
      The filterEnabled.
    • setFilterEnabled

      public RateLimit.Builder setFilterEnabled(RuntimeFractionalPercent value)
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
      
       If not set then ``ratelimit.http_filter_enabled`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 14;
    • setFilterEnabled

      public RateLimit.Builder setFilterEnabled(RuntimeFractionalPercent.Builder builderForValue)
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
      
       If not set then ``ratelimit.http_filter_enabled`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 14;
    • mergeFilterEnabled

      public RateLimit.Builder mergeFilterEnabled(RuntimeFractionalPercent value)
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
      
       If not set then ``ratelimit.http_filter_enabled`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 14;
    • clearFilterEnabled

      public RateLimit.Builder clearFilterEnabled()
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
      
       If not set then ``ratelimit.http_filter_enabled`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 14;
    • getFilterEnabledBuilder

      public RuntimeFractionalPercent.Builder getFilterEnabledBuilder()
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
      
       If not set then ``ratelimit.http_filter_enabled`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 14;
    • getFilterEnabledOrBuilder

      public RuntimeFractionalPercentOrBuilder getFilterEnabledOrBuilder()
       If set, this will enable -- but not necessarily enforce -- the rate limit for the given
       fraction of requests.
      
       If not set then ``ratelimit.http_filter_enabled`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 14;
      Specified by:
      getFilterEnabledOrBuilder in interface RateLimitOrBuilder
    • 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.
      
       If not set then ``ratelimit.http_filter_enforcing`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 15;
      Specified by:
      hasFilterEnforced in interface RateLimitOrBuilder
      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.
      
       If not set then ``ratelimit.http_filter_enforcing`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 15;
      Specified by:
      getFilterEnforced in interface RateLimitOrBuilder
      Returns:
      The filterEnforced.
    • setFilterEnforced

      public RateLimit.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.
      
       If not set then ``ratelimit.http_filter_enforcing`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 15;
    • setFilterEnforced

      public RateLimit.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.
      
       If not set then ``ratelimit.http_filter_enforcing`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 15;
    • mergeFilterEnforced

      public RateLimit.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.
      
       If not set then ``ratelimit.http_filter_enforcing`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 15;
    • clearFilterEnforced

      public RateLimit.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.
      
       If not set then ``ratelimit.http_filter_enforcing`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 15;
    • 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.
      
       If not set then ``ratelimit.http_filter_enforcing`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 15;
    • 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.
      
       If not set then ``ratelimit.http_filter_enforcing`` runtime key will be used to determine
       the fraction of requests to enforce rate limits on. And the default percentage of the
       runtime key is 100% for backwards compatibility.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 15;
      Specified by:
      getFilterEnforcedOrBuilder in interface RateLimitOrBuilder
    • hasFailureModeDenyPercent

      public boolean hasFailureModeDenyPercent()
       If set, this will override the failure_mode_deny parameter with a runtime fraction.
       If the runtime key is not specified, the value of failure_mode_deny will be used.
      
       Example:
      
       .. code-block:: yaml
      
         failure_mode_deny: true
         failure_mode_deny_percent:
           default_value:
             numerator: 50
             denominator: HUNDRED
           runtime_key: ratelimit.failure_mode_deny_percent
      
       This means that when the rate limit service is unavailable, 50% of requests will be denied
       (fail closed) and 50% will be allowed (fail open).
       
      .envoy.config.core.v3.RuntimeFractionalPercent failure_mode_deny_percent = 16;
      Specified by:
      hasFailureModeDenyPercent in interface RateLimitOrBuilder
      Returns:
      Whether the failureModeDenyPercent field is set.
    • getFailureModeDenyPercent

      public RuntimeFractionalPercent getFailureModeDenyPercent()
       If set, this will override the failure_mode_deny parameter with a runtime fraction.
       If the runtime key is not specified, the value of failure_mode_deny will be used.
      
       Example:
      
       .. code-block:: yaml
      
         failure_mode_deny: true
         failure_mode_deny_percent:
           default_value:
             numerator: 50
             denominator: HUNDRED
           runtime_key: ratelimit.failure_mode_deny_percent
      
       This means that when the rate limit service is unavailable, 50% of requests will be denied
       (fail closed) and 50% will be allowed (fail open).
       
      .envoy.config.core.v3.RuntimeFractionalPercent failure_mode_deny_percent = 16;
      Specified by:
      getFailureModeDenyPercent in interface RateLimitOrBuilder
      Returns:
      The failureModeDenyPercent.
    • setFailureModeDenyPercent

      public RateLimit.Builder setFailureModeDenyPercent(RuntimeFractionalPercent value)
       If set, this will override the failure_mode_deny parameter with a runtime fraction.
       If the runtime key is not specified, the value of failure_mode_deny will be used.
      
       Example:
      
       .. code-block:: yaml
      
         failure_mode_deny: true
         failure_mode_deny_percent:
           default_value:
             numerator: 50
             denominator: HUNDRED
           runtime_key: ratelimit.failure_mode_deny_percent
      
       This means that when the rate limit service is unavailable, 50% of requests will be denied
       (fail closed) and 50% will be allowed (fail open).
       
      .envoy.config.core.v3.RuntimeFractionalPercent failure_mode_deny_percent = 16;
    • setFailureModeDenyPercent

      public RateLimit.Builder setFailureModeDenyPercent(RuntimeFractionalPercent.Builder builderForValue)
       If set, this will override the failure_mode_deny parameter with a runtime fraction.
       If the runtime key is not specified, the value of failure_mode_deny will be used.
      
       Example:
      
       .. code-block:: yaml
      
         failure_mode_deny: true
         failure_mode_deny_percent:
           default_value:
             numerator: 50
             denominator: HUNDRED
           runtime_key: ratelimit.failure_mode_deny_percent
      
       This means that when the rate limit service is unavailable, 50% of requests will be denied
       (fail closed) and 50% will be allowed (fail open).
       
      .envoy.config.core.v3.RuntimeFractionalPercent failure_mode_deny_percent = 16;
    • mergeFailureModeDenyPercent

      public RateLimit.Builder mergeFailureModeDenyPercent(RuntimeFractionalPercent value)
       If set, this will override the failure_mode_deny parameter with a runtime fraction.
       If the runtime key is not specified, the value of failure_mode_deny will be used.
      
       Example:
      
       .. code-block:: yaml
      
         failure_mode_deny: true
         failure_mode_deny_percent:
           default_value:
             numerator: 50
             denominator: HUNDRED
           runtime_key: ratelimit.failure_mode_deny_percent
      
       This means that when the rate limit service is unavailable, 50% of requests will be denied
       (fail closed) and 50% will be allowed (fail open).
       
      .envoy.config.core.v3.RuntimeFractionalPercent failure_mode_deny_percent = 16;
    • clearFailureModeDenyPercent

      public RateLimit.Builder clearFailureModeDenyPercent()
       If set, this will override the failure_mode_deny parameter with a runtime fraction.
       If the runtime key is not specified, the value of failure_mode_deny will be used.
      
       Example:
      
       .. code-block:: yaml
      
         failure_mode_deny: true
         failure_mode_deny_percent:
           default_value:
             numerator: 50
             denominator: HUNDRED
           runtime_key: ratelimit.failure_mode_deny_percent
      
       This means that when the rate limit service is unavailable, 50% of requests will be denied
       (fail closed) and 50% will be allowed (fail open).
       
      .envoy.config.core.v3.RuntimeFractionalPercent failure_mode_deny_percent = 16;
    • getFailureModeDenyPercentBuilder

      public RuntimeFractionalPercent.Builder getFailureModeDenyPercentBuilder()
       If set, this will override the failure_mode_deny parameter with a runtime fraction.
       If the runtime key is not specified, the value of failure_mode_deny will be used.
      
       Example:
      
       .. code-block:: yaml
      
         failure_mode_deny: true
         failure_mode_deny_percent:
           default_value:
             numerator: 50
             denominator: HUNDRED
           runtime_key: ratelimit.failure_mode_deny_percent
      
       This means that when the rate limit service is unavailable, 50% of requests will be denied
       (fail closed) and 50% will be allowed (fail open).
       
      .envoy.config.core.v3.RuntimeFractionalPercent failure_mode_deny_percent = 16;
    • getFailureModeDenyPercentOrBuilder

      public RuntimeFractionalPercentOrBuilder getFailureModeDenyPercentOrBuilder()
       If set, this will override the failure_mode_deny parameter with a runtime fraction.
       If the runtime key is not specified, the value of failure_mode_deny will be used.
      
       Example:
      
       .. code-block:: yaml
      
         failure_mode_deny: true
         failure_mode_deny_percent:
           default_value:
             numerator: 50
             denominator: HUNDRED
           runtime_key: ratelimit.failure_mode_deny_percent
      
       This means that when the rate limit service is unavailable, 50% of requests will be denied
       (fail closed) and 50% will be allowed (fail open).
       
      .envoy.config.core.v3.RuntimeFractionalPercent failure_mode_deny_percent = 16;
      Specified by:
      getFailureModeDenyPercentOrBuilder in interface RateLimitOrBuilder
    • 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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimitOrBuilder
    • 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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimitOrBuilder
    • 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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimitOrBuilder
    • setRateLimits

      public RateLimit.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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimit.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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimit.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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimit.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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimit.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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimit.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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimit.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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimit.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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimit.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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimitOrBuilder
    • 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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 RateLimitOrBuilder
    • 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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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 sent to the rate limit service.
       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. However, :ref:`RateLimitPerRoute.rate_limits<envoy_v3_api_field_extensions.filters.http.ratelimit.v3.RateLimitPerRoute.rate_limits>`
       will take precedence over this field.
      
       .. 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;
    • setUnknownFields

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

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