Interface RateLimitOrBuilder

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

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

    • getDomain

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

      com.google.protobuf.ByteString getDomainBytes()
       The rate limit domain to use when calling the rate limit service.
       
      string domain = 1 [(.validate.rules) = { ... }
      Returns:
      The bytes for domain.
    • getStage

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

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

      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) = { ... }
      Returns:
      The bytes for requestType.
    • hasTimeout

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

      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;
      Returns:
      The timeout.
    • getTimeoutOrBuilder

      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;
    • getFailureModeDeny

      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;
      Returns:
      The failureModeDeny.
    • getRateLimitedAsResourceExhausted

      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;
      Returns:
      The rateLimitedAsResourceExhausted.
    • hasRateLimitService

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

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

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

      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) = { ... }
      Returns:
      The enum numeric value on the wire for enableXRatelimitHeaders.
    • getEnableXRatelimitHeaders

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

      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;
      Returns:
      The disableXEnvoyRatelimitedHeader.
    • hasRateLimitedStatus

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

      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;
      Returns:
      The rateLimitedStatus.
    • getRateLimitedStatusOrBuilder

      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;
    • getResponseHeadersToAddList

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

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

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

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

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

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

      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;
      Returns:
      The statusOnError.
    • getStatusOnErrorOrBuilder

      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;
    • getStatPrefix

      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;
      Returns:
      The statPrefix.
    • getStatPrefixBytes

      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;
      Returns:
      The bytes for statPrefix.
    • hasFilterEnabled

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

      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;
      Returns:
      The filterEnabled.
    • getFilterEnabledOrBuilder

      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;
    • hasFilterEnforced

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

      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;
      Returns:
      The filterEnforced.
    • getFilterEnforcedOrBuilder

      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;
    • hasFailureModeDenyPercent

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

      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;
      Returns:
      The failureModeDenyPercent.
    • getFailureModeDenyPercentOrBuilder

      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;
    • getRateLimitsList

      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;
    • getRateLimits

      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;
    • getRateLimitsCount

      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;
    • getRateLimitsOrBuilderList

      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;
    • getRateLimitsOrBuilder

      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;