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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleangetDisableXEnvoyRatelimitedHeader()Disables emitting the :ref:`x-envoy-ratelimited<config_http_filters_router_x-envoy-ratelimited>` header in case of rate limiting (i.e. 429 responses).StringgetDomain()The rate limit domain to use when calling the rate limit service.com.google.protobuf.ByteStringgetDomainBytes()The rate limit domain to use when calling the rate limit service.RateLimit.XRateLimitHeadersRFCVersiongetEnableXRatelimitHeaders()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.intgetEnableXRatelimitHeadersValue()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.booleangetFailureModeDeny()The filter's behaviour in case the rate limiting service does not respond back.booleangetRateLimitedAsResourceExhausted()Specifies whether a ``RESOURCE_EXHAUSTED`` gRPC code must be returned instead of the default ``UNAVAILABLE`` gRPC code for a rate limited gRPC call.HttpStatusgetRateLimitedStatus()This field allows for a custom HTTP response status code to the downstream client when the request has been rate limited.HttpStatusOrBuildergetRateLimitedStatusOrBuilder()This field allows for a custom HTTP response status code to the downstream client when the request has been rate limited.RateLimitServiceConfiggetRateLimitService()Configuration for an external rate limit service provider.RateLimitServiceConfigOrBuildergetRateLimitServiceOrBuilder()Configuration for an external rate limit service provider.StringgetRequestType()The type of requests the filter should apply to.com.google.protobuf.ByteStringgetRequestTypeBytes()The type of requests the filter should apply to.intgetStage()Specifies the rate limit configurations to be applied with the same stage number.com.google.protobuf.DurationgetTimeout()The timeout in milliseconds for the rate limit service RPC.com.google.protobuf.DurationOrBuildergetTimeoutOrBuilder()The timeout in milliseconds for the rate limit service RPC.booleanhasRateLimitedStatus()This field allows for a custom HTTP response status code to the downstream client when the request has been rate limited.booleanhasRateLimitService()Configuration for an external rate limit service provider.booleanhasTimeout()The timeout in milliseconds for the rate limit service RPC.-
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
-
-
-
Method Detail
-
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 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. [#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 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. [#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;
-
-