Interface LocalRateLimitOrBuilder
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
LocalRateLimit,LocalRateLimit.Builder
public interface LocalRateLimitOrBuilder
extends com.google.protobuf.MessageOrBuilder
-
Method Summary
Modifier and TypeMethodDescriptioncom.google.protobuf.BoolValueSpecifies if default token bucket should be always consumed.com.google.protobuf.BoolValueOrBuilderSpecifies if default token bucket should be always consumed.getDescriptors(int index) The rate limit descriptor list to use in the local rate limit to override on.intThe rate limit descriptor list to use in the local rate limit to override on.The rate limit descriptor list to use in the local rate limit to override on.getDescriptorsOrBuilder(int index) The rate limit descriptor list to use in the local rate limit to override on.List<? extends LocalRateLimitDescriptorOrBuilder>The rate limit descriptor list to use in the local rate limit to override on.Defines the standard version to use for X-RateLimit headers emitted by the filterintDefines the standard version to use for X-RateLimit headers emitted by the filterIf set, this will enable -- but not necessarily enforce -- the rate limit for the given fraction of requests.If set, this will enable -- but not necessarily enforce -- the rate limit for the given fraction of requests.If set, this will enforce the rate limit decisions for the given fraction of requests.If set, this will enforce the rate limit decisions for the given fraction of requests.Enables the local cluster level rate limiting, iff this is set explicitly.Enables the local cluster level rate limiting, iff this is set explicitly.booleanSpecifies the scope of the rate limiter's token bucket.com.google.protobuf.UInt32ValueSpecifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.com.google.protobuf.UInt32ValueOrBuilderSpecifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.booleanSpecifies whether a ``RESOURCE_EXHAUSTED`` gRPC code must be returned instead of the default ``UNAVAILABLE`` gRPC code for a rate limited gRPC call.getRateLimits(int index) Rate limit configuration that is used to generate a list of descriptor entries based on the request context.intRate limit configuration that is used to generate a list of descriptor entries based on the request context.Rate limit configuration that is used to generate a list of descriptor entries based on the request context.getRateLimitsOrBuilder(int index) Rate limit configuration that is used to generate a list of descriptor entries based on the request context.List<? extends RateLimitOrBuilder>Rate limit configuration that is used to generate a list of descriptor entries based on the request context.getRequestHeadersToAddWhenNotEnforced(int index) Specifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream.intSpecifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream.Specifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream.Specifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream.List<? extends HeaderValueOptionOrBuilder>Specifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream.getResponseHeadersToAdd(int index) Specifies a list of HTTP headers that should be added to each response for requests that have been rate limited.intSpecifies a list of HTTP headers that should be added to each response for requests that have been rate limited.Specifies a list of HTTP headers that should be added to each response for requests that have been rate limited.getResponseHeadersToAddOrBuilder(int index) Specifies a list of HTTP headers that should be added to each response for requests that have been rate limited.List<? extends HeaderValueOptionOrBuilder>Specifies a list of HTTP headers that should be added to each response for requests that have been rate limited.intgetStage()Specifies the rate limit configurations to be applied with the same stage number.The human readable prefix to use when emitting stats.com.google.protobuf.ByteStringThe human readable prefix to use when emitting stats.This field allows for a custom HTTP response status code to the downstream client when the request has been rate limited.This field allows for a custom HTTP response status code to the downstream client when the request has been rate limited.The token bucket configuration to use for rate limiting requests that are processed by this filter.The token bucket configuration to use for rate limiting requests that are processed by this filter.Specifies if the local rate limit filter should include the virtual host rate limits.intSpecifies if the local rate limit filter should include the virtual host rate limits.booleanSpecifies if default token bucket should be always consumed.booleanIf set, this will enable -- but not necessarily enforce -- the rate limit for the given fraction of requests.booleanIf set, this will enforce the rate limit decisions for the given fraction of requests.booleanEnables the local cluster level rate limiting, iff this is set explicitly.booleanSpecifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`.booleanThis field allows for a custom HTTP response status code to the downstream client when the request has been rate limited.booleanThe token bucket configuration to use for rate limiting requests that are processed by this filter.Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder
isInitializedMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getStatPrefix
String getStatPrefix()The human readable prefix to use when emitting stats.
string stat_prefix = 1 [(.validate.rules) = { ... }- Returns:
- The statPrefix.
-
getStatPrefixBytes
com.google.protobuf.ByteString getStatPrefixBytes()The human readable prefix to use when emitting stats.
string stat_prefix = 1 [(.validate.rules) = { ... }- Returns:
- The bytes for statPrefix.
-
hasStatus
boolean hasStatus()This field allows for a custom HTTP response status code to the downstream client when the request has been rate limited. Defaults to 429 (TooManyRequests). .. note:: If this is set to < 400, 429 will be used instead.
.envoy.type.v3.HttpStatus status = 2;- Returns:
- Whether the status field is set.
-
getStatus
HttpStatus getStatus()This field allows for a custom HTTP response status code to the downstream client when the request has been rate limited. Defaults to 429 (TooManyRequests). .. note:: If this is set to < 400, 429 will be used instead.
.envoy.type.v3.HttpStatus status = 2;- Returns:
- The status.
-
getStatusOrBuilder
HttpStatusOrBuilder getStatusOrBuilder()This field allows for a custom HTTP response status code to the downstream client when the request has been rate limited. Defaults to 429 (TooManyRequests). .. note:: If this is set to < 400, 429 will be used instead.
.envoy.type.v3.HttpStatus status = 2; -
hasTokenBucket
boolean hasTokenBucket()The token bucket configuration to use for rate limiting requests that are processed by this filter. Each request processed by the filter consumes a single token. If the token is available, the request will be allowed. If no tokens are available, the request will receive the configured rate limit status. .. note:: It's fine for the token bucket to be unset for the global configuration since the rate limit can be applied at a the virtual host or route level. Thus, the token bucket must be set for the per route configuration otherwise the config will be rejected. .. note:: When using per route configuration, the bucket becomes unique to that route. .. note:: In the current implementation the token bucket's :ref:`fill_interval <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive refills.
.envoy.type.v3.TokenBucket token_bucket = 3;- Returns:
- Whether the tokenBucket field is set.
-
getTokenBucket
TokenBucket getTokenBucket()The token bucket configuration to use for rate limiting requests that are processed by this filter. Each request processed by the filter consumes a single token. If the token is available, the request will be allowed. If no tokens are available, the request will receive the configured rate limit status. .. note:: It's fine for the token bucket to be unset for the global configuration since the rate limit can be applied at a the virtual host or route level. Thus, the token bucket must be set for the per route configuration otherwise the config will be rejected. .. note:: When using per route configuration, the bucket becomes unique to that route. .. note:: In the current implementation the token bucket's :ref:`fill_interval <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive refills.
.envoy.type.v3.TokenBucket token_bucket = 3;- Returns:
- The tokenBucket.
-
getTokenBucketOrBuilder
TokenBucketOrBuilder getTokenBucketOrBuilder()The token bucket configuration to use for rate limiting requests that are processed by this filter. Each request processed by the filter consumes a single token. If the token is available, the request will be allowed. If no tokens are available, the request will receive the configured rate limit status. .. note:: It's fine for the token bucket to be unset for the global configuration since the rate limit can be applied at a the virtual host or route level. Thus, the token bucket must be set for the per route configuration otherwise the config will be rejected. .. note:: When using per route configuration, the bucket becomes unique to that route. .. note:: In the current implementation the token bucket's :ref:`fill_interval <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be >= 50ms to avoid too aggressive refills.
.envoy.type.v3.TokenBucket token_bucket = 3; -
hasFilterEnabled
boolean hasFilterEnabled()If set, this will enable -- but not necessarily enforce -- the rate limit for the given fraction of requests. Defaults to 0% of requests for safety.
.envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;- 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. Defaults to 0% of requests for safety.
.envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4;- Returns:
- The filterEnabled.
-
getFilterEnabledOrBuilder
RuntimeFractionalPercentOrBuilder getFilterEnabledOrBuilder()If set, this will enable -- but not necessarily enforce -- the rate limit for the given fraction of requests. Defaults to 0% of requests for safety.
.envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 4; -
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. Defaults to 0% of requests for safety.
.envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;- 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. Defaults to 0% of requests for safety.
.envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5;- 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. Defaults to 0% of requests for safety.
.envoy.config.core.v3.RuntimeFractionalPercent filter_enforced = 5; -
getRequestHeadersToAddWhenNotEnforcedList
List<HeaderValueOption> getRequestHeadersToAddWhenNotEnforcedList()Specifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream. This can only occur when the filter is enabled but not enforced.
repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... } -
getRequestHeadersToAddWhenNotEnforced
Specifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream. This can only occur when the filter is enabled but not enforced.
repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... } -
getRequestHeadersToAddWhenNotEnforcedCount
int getRequestHeadersToAddWhenNotEnforcedCount()Specifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream. This can only occur when the filter is enabled but not enforced.
repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... } -
getRequestHeadersToAddWhenNotEnforcedOrBuilderList
List<? extends HeaderValueOptionOrBuilder> getRequestHeadersToAddWhenNotEnforcedOrBuilderList()Specifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream. This can only occur when the filter is enabled but not enforced.
repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... } -
getRequestHeadersToAddWhenNotEnforcedOrBuilder
Specifies a list of HTTP headers that should be added to each request that has been rate limited and is also forwarded upstream. This can only occur when the filter is enabled but not enforced.
repeated .envoy.config.core.v3.HeaderValueOption request_headers_to_add_when_not_enforced = 10 [(.validate.rules) = { ... } -
getResponseHeadersToAddList
List<HeaderValueOption> getResponseHeadersToAddList()Specifies a list of HTTP headers that should be added to each response for requests that have been rate limited. This occurs when the filter is enabled and fully enforced.
repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... } -
getResponseHeadersToAdd
Specifies a list of HTTP headers that should be added to each response for requests that have been rate limited. This occurs when the filter is enabled and fully enforced.
repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... } -
getResponseHeadersToAddCount
int getResponseHeadersToAddCount()Specifies a list of HTTP headers that should be added to each response for requests that have been rate limited. This occurs when the filter is enabled and fully enforced.
repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... } -
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. This occurs when the filter is enabled and fully enforced.
repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... } -
getResponseHeadersToAddOrBuilder
Specifies a list of HTTP headers that should be added to each response for requests that have been rate limited. This occurs when the filter is enabled and fully enforced.
repeated .envoy.config.core.v3.HeaderValueOption response_headers_to_add = 6 [(.validate.rules) = { ... } -
getDescriptorsList
List<LocalRateLimitDescriptor> getDescriptorsList()The rate limit descriptor list to use in the local rate limit to override on. The rate limit descriptor is selected by the first full match from the request descriptors. Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`. .. note:: In the current implementation the descriptor's token bucket :ref:`fill_interval <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval. The descriptors must match verbatim for rate limiting to apply. There is no partial match by a subset of descriptor entries in the current implementation.
repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8; -
getDescriptors
The rate limit descriptor list to use in the local rate limit to override on. The rate limit descriptor is selected by the first full match from the request descriptors. Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`. .. note:: In the current implementation the descriptor's token bucket :ref:`fill_interval <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval. The descriptors must match verbatim for rate limiting to apply. There is no partial match by a subset of descriptor entries in the current implementation.
repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8; -
getDescriptorsCount
int getDescriptorsCount()The rate limit descriptor list to use in the local rate limit to override on. The rate limit descriptor is selected by the first full match from the request descriptors. Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`. .. note:: In the current implementation the descriptor's token bucket :ref:`fill_interval <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval. The descriptors must match verbatim for rate limiting to apply. There is no partial match by a subset of descriptor entries in the current implementation.
repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8; -
getDescriptorsOrBuilderList
List<? extends LocalRateLimitDescriptorOrBuilder> getDescriptorsOrBuilderList()The rate limit descriptor list to use in the local rate limit to override on. The rate limit descriptor is selected by the first full match from the request descriptors. Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`. .. note:: In the current implementation the descriptor's token bucket :ref:`fill_interval <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval. The descriptors must match verbatim for rate limiting to apply. There is no partial match by a subset of descriptor entries in the current implementation.
repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8; -
getDescriptorsOrBuilder
The rate limit descriptor list to use in the local rate limit to override on. The rate limit descriptor is selected by the first full match from the request descriptors. Example on how to use :ref:`this <config_http_filters_local_rate_limit_descriptors>`. .. note:: In the current implementation the descriptor's token bucket :ref:`fill_interval <envoy_v3_api_field_type.v3.TokenBucket.fill_interval>` must be a multiple global :ref:`token bucket's<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.token_bucket>` fill interval. The descriptors must match verbatim for rate limiting to apply. There is no partial match by a subset of descriptor entries in the current implementation.
repeated .envoy.extensions.common.ratelimit.v3.LocalRateLimitDescriptor descriptors = 8; -
getStage
int getStage()Specifies the rate limit configurations to be applied with the same stage number. If not set, the default stage number is 0. .. note:: The filter supports a range of 0 - 10 inclusively for stage numbers.
uint32 stage = 9 [(.validate.rules) = { ... }- Returns:
- The stage.
-
getLocalRateLimitPerDownstreamConnection
boolean getLocalRateLimitPerDownstreamConnection()Specifies the scope of the rate limiter's token bucket. If set to false, the token bucket is shared across all worker threads, thus the rate limits are applied per Envoy process. If set to true, a token bucket is allocated for each connection. Thus the rate limits are applied per connection thereby allowing one to rate limit requests on a per connection basis. If unspecified, the default value is false.
bool local_rate_limit_per_downstream_connection = 11;- Returns:
- The localRateLimitPerDownstreamConnection.
-
hasLocalClusterRateLimit
boolean hasLocalClusterRateLimit()Enables the local cluster level rate limiting, iff this is set explicitly. For example, given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens per second. If this is set, the total rate limit of whole gateway will always be X tokens per second regardless of how N changes. If this is not set, the total rate limit of whole gateway will be N * X tokens per second. .. note:: This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to true. Because if per connection rate limiting is enabled, we assume that the token buckets should never be shared across Envoy instances. .. note:: This only works when the :ref:`local cluster name <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and the related cluster is defined in the bootstrap configuration.
.envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;- Returns:
- Whether the localClusterRateLimit field is set.
-
getLocalClusterRateLimit
LocalClusterRateLimit getLocalClusterRateLimit()Enables the local cluster level rate limiting, iff this is set explicitly. For example, given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens per second. If this is set, the total rate limit of whole gateway will always be X tokens per second regardless of how N changes. If this is not set, the total rate limit of whole gateway will be N * X tokens per second. .. note:: This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to true. Because if per connection rate limiting is enabled, we assume that the token buckets should never be shared across Envoy instances. .. note:: This only works when the :ref:`local cluster name <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and the related cluster is defined in the bootstrap configuration.
.envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16;- Returns:
- The localClusterRateLimit.
-
getLocalClusterRateLimitOrBuilder
LocalClusterRateLimitOrBuilder getLocalClusterRateLimitOrBuilder()Enables the local cluster level rate limiting, iff this is set explicitly. For example, given an Envoy gateway that contains N Envoy instances and a rate limit rule X tokens per second. If this is set, the total rate limit of whole gateway will always be X tokens per second regardless of how N changes. If this is not set, the total rate limit of whole gateway will be N * X tokens per second. .. note:: This should never be set if the ``local_rate_limit_per_downstream_connection`` is set to true. Because if per connection rate limiting is enabled, we assume that the token buckets should never be shared across Envoy instances. .. note:: This only works when the :ref:`local cluster name <envoy_v3_api_field_config.bootstrap.v3.ClusterManager.local_cluster_name>` is set and the related cluster is defined in the bootstrap configuration.
.envoy.extensions.common.ratelimit.v3.LocalClusterRateLimit local_cluster_rate_limit = 16; -
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. * ``X-RateLimit-Remaining`` - indicates the remaining requests in the current time-window. * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of the current time-window. In case rate limiting policy specifies more then one time window, the values above represent the window that is closest to reaching its limit. For more information about the headers specification see selected version of the `draft RFC <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_. Disabled by default.
.envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 12 [(.validate.rules) = { ... }- Returns:
- The enum numeric value on the wire for enableXRatelimitHeaders.
-
getEnableXRatelimitHeaders
XRateLimitHeadersRFCVersion getEnableXRatelimitHeaders()Defines the standard version to use for X-RateLimit headers emitted by the filter. * ``X-RateLimit-Limit`` - indicates the request-quota associated to the client in the current time-window followed by the description of the quota policy. * ``X-RateLimit-Remaining`` - indicates the remaining requests in the current time-window. * ``X-RateLimit-Reset`` - indicates the number of seconds until reset of the current time-window. In case rate limiting policy specifies more then one time window, the values above represent the window that is closest to reaching its limit. For more information about the headers specification see selected version of the `draft RFC <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_. Disabled by default.
.envoy.extensions.common.ratelimit.v3.XRateLimitHeadersRFCVersion enable_x_ratelimit_headers = 12 [(.validate.rules) = { ... }- Returns:
- The enableXRatelimitHeaders.
-
getVhRateLimitsValue
int getVhRateLimitsValue()Specifies if the local rate limit filter should include the virtual host rate limits.
.envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions vh_rate_limits = 13 [(.validate.rules) = { ... }- Returns:
- The enum numeric value on the wire for vhRateLimits.
-
getVhRateLimits
VhRateLimitsOptions getVhRateLimits()Specifies if the local rate limit filter should include the virtual host rate limits.
.envoy.extensions.common.ratelimit.v3.VhRateLimitsOptions vh_rate_limits = 13 [(.validate.rules) = { ... }- Returns:
- The vhRateLimits.
-
hasAlwaysConsumeDefaultTokenBucket
boolean hasAlwaysConsumeDefaultTokenBucket()Specifies if default token bucket should be always consumed. If set to false, default token bucket will only be consumed when there is no matching descriptor. If set to true, default token bucket will always be consumed. Default is true.
.google.protobuf.BoolValue always_consume_default_token_bucket = 14;- Returns:
- Whether the alwaysConsumeDefaultTokenBucket field is set.
-
getAlwaysConsumeDefaultTokenBucket
com.google.protobuf.BoolValue getAlwaysConsumeDefaultTokenBucket()Specifies if default token bucket should be always consumed. If set to false, default token bucket will only be consumed when there is no matching descriptor. If set to true, default token bucket will always be consumed. Default is true.
.google.protobuf.BoolValue always_consume_default_token_bucket = 14;- Returns:
- The alwaysConsumeDefaultTokenBucket.
-
getAlwaysConsumeDefaultTokenBucketOrBuilder
com.google.protobuf.BoolValueOrBuilder getAlwaysConsumeDefaultTokenBucketOrBuilder()Specifies if default token bucket should be always consumed. If set to false, default token bucket will only be consumed when there is no matching descriptor. If set to true, default token bucket will always be consumed. Default is true.
.google.protobuf.BoolValue always_consume_default_token_bucket = 14; -
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 = 15;- Returns:
- The rateLimitedAsResourceExhausted.
-
getRateLimitsList
Rate limit configuration that is used to generate a list of descriptor entries based on the request context. The generated entries will be used to find one or multiple matched rate limit rule from the ``descriptors``. If this is set, then :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields will be ignored. .. note:: Not all configuration fields of :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here. Following fields are not supported: 1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`. 2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`. 3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`. 4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
repeated .envoy.config.route.v3.RateLimit rate_limits = 17; -
getRateLimits
Rate limit configuration that is used to generate a list of descriptor entries based on the request context. The generated entries will be used to find one or multiple matched rate limit rule from the ``descriptors``. If this is set, then :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields will be ignored. .. note:: Not all configuration fields of :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here. Following fields are not supported: 1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`. 2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`. 3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`. 4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
repeated .envoy.config.route.v3.RateLimit rate_limits = 17; -
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 used to find one or multiple matched rate limit rule from the ``descriptors``. If this is set, then :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields will be ignored. .. note:: Not all configuration fields of :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here. Following fields are not supported: 1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`. 2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`. 3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`. 4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
repeated .envoy.config.route.v3.RateLimit rate_limits = 17; -
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 used to find one or multiple matched rate limit rule from the ``descriptors``. If this is set, then :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields will be ignored. .. note:: Not all configuration fields of :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here. Following fields are not supported: 1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`. 2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`. 3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`. 4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
repeated .envoy.config.route.v3.RateLimit rate_limits = 17; -
getRateLimitsOrBuilder
Rate limit configuration that is used to generate a list of descriptor entries based on the request context. The generated entries will be used to find one or multiple matched rate limit rule from the ``descriptors``. If this is set, then :ref:`VirtualHost.rate_limits<envoy_v3_api_field_config.route.v3.VirtualHost.rate_limits>` or :ref:`RouteAction.rate_limits<envoy_v3_api_field_config.route.v3.RouteAction.rate_limits>` fields will be ignored. .. note:: Not all configuration fields of :ref:`rate limit config <envoy_v3_api_msg_config.route.v3.RateLimit>` is supported at here. Following fields are not supported: 1. :ref:`rate limit stage <envoy_v3_api_field_config.route.v3.RateLimit.stage>`. 2. :ref:`dynamic metadata <envoy_v3_api_field_config.route.v3.RateLimit.Action.dynamic_metadata>`. 3. :ref:`disable_key <envoy_v3_api_field_config.route.v3.RateLimit.disable_key>`. 4. :ref:`override limit <envoy_v3_api_field_config.route.v3.RateLimit.limit>`.
repeated .envoy.config.route.v3.RateLimit rate_limits = 17; -
hasMaxDynamicDescriptors
boolean hasMaxDynamicDescriptors()Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`. Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors. Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted values. Minimum is 1. Default is 20.
.google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }- Returns:
- Whether the maxDynamicDescriptors field is set.
-
getMaxDynamicDescriptors
com.google.protobuf.UInt32Value getMaxDynamicDescriptors()Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`. Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors. Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted values. Minimum is 1. Default is 20.
.google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }- Returns:
- The maxDynamicDescriptors.
-
getMaxDynamicDescriptorsOrBuilder
com.google.protobuf.UInt32ValueOrBuilder getMaxDynamicDescriptorsOrBuilder()Specifies the max dynamic descriptors kept in the cache for a particular wildcard descriptor configured in the global :ref:`descriptors<envoy_v3_api_field_extensions.filters.http.local_ratelimit.v3.LocalRateLimit.descriptors>`. Wildcard descriptor means descriptor has one or more entries with just key and value omitted. For example if user has configured two descriptors with blank value entries, then max dynamic descriptors stored in the LRU cache will be 2 * max_dynamic_descriptors. Actual number of dynamic descriptors will depend on the cardinality of unique values received from the http request for the omitted values. Minimum is 1. Default is 20.
.google.protobuf.UInt32Value max_dynamic_descriptors = 18 [(.validate.rules) = { ... }
-