Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
[#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient to distinguish HTTP1 and HTTP2 traffic.
Specifies the double start and end of the range using half-open interval semantics [start, end).
Used in:
start of the range (inclusive)
end of the range (exclusive)
A fractional percentage is used in cases in which for performance reasons performing floating point to integer conversions during randomness calculations is undesirable. The message includes both a numerator and denominator that together determine the final fractional value. * **Example**: 1/100 = 1%. * **Example**: 3/10000 = 0.03%.
Used in:
, , , , , , , ,Specifies the numerator. Defaults to 0.
Specifies the denominator. If the denominator specified is less than the numerator, the final fractional percentage is capped at 1 (100%).
Fraction percentages support several fixed denominator values.
Used in:
100. **Example**: 1/100 = 1%.
10,000. **Example**: 1/10000 = 0.01%.
1,000,000. **Example**: 1/1000000 = 0.0001%.
Specifies the hash policy
Used in:
An Object in the :ref:`filterState <arch_overview_data_sharing_between_filters>` will be used to compute the hash used by hash-based load balancing algorithms.
Used in:
The name of the Object in the filterState, which is an Envoy::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Hashable, no hash will be produced.
The source IP will be used to compute the hash used by hash-based load balancing algorithms.
Used in:
(message has no fields)
HTTP status.
Used in:
, , , , , , ,Supplies HTTP response code.
Specifies the int32 start and end of the range using half-open interval semantics [start, end).
Used in:
, , ,start of the range (inclusive)
end of the range (exclusive)
Specifies the int64 start and end of the range using half-open interval semantics [start, end).
Used in:
, , ,start of the range (inclusive)
end of the range (exclusive)
Identifies a percentage, in the range [0.0, 100.0].
Used in:
, , , , , , , , , , , , , , ,Used in:
, ,Allow or Deny the requests. If unset, allow all.
Best-effort limit of the number of requests per time unit, f.e. requests per second. Does not prescribe any specific rate limiting algorithm, see :ref:`RequestsPerTimeUnit <envoy_v3_api_msg_type.v3.RateLimitStrategy.RequestsPerTimeUnit>` for details.
Limit the requests by consuming tokens from the Token Bucket. Allow the same number of requests as the number of tokens available in the token bucket.
Choose between allow all and deny all.
Used in:
Best-effort limit of the number of requests per time unit. Allows to specify the desired requests per second (RPS, QPS), requests per minute (QPM, RPM), etc., without specifying a rate limiting algorithm implementation. ``RequestsPerTimeUnit`` strategy does not demand any specific rate limiting algorithm to be used (in contrast to the :ref:`TokenBucket <envoy_v3_api_msg_type.v3.TokenBucket>`, for example). It implies that the implementation details of rate limiting algorithm are irrelevant as long as the configured number of "requests per time unit" is achieved. Note that the ``TokenBucket`` is still a valid implementation of the ``RequestsPerTimeUnit`` strategy, and may be chosen to enforce the rate limit. However, there's no guarantee it will be the ``TokenBucket`` in particular, and not the Leaky Bucket, the Sliding Window, or any other rate limiting algorithm that fulfills the requirements.
Used in:
The desired number of requests per :ref:`time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.time_unit>` to allow. If set to ``0``, deny all (equivalent to ``BlanketRule.DENY_ALL``). .. note:: Note that the algorithm implementation determines the course of action for the requests over the limit. As long as the ``requests_per_time_unit`` converges on the desired value, it's allowed to treat this field as a soft-limit: allow bursts, redistribute the allowance over time, etc.
The unit of time. Ignored when :ref:`requests_per_time_unit <envoy_v3_api_field_type.v3.RateLimitStrategy.RequestsPerTimeUnit.requests_per_time_unit>` is ``0`` (deny all).
Identifies the unit of of time for rate limit.
Used in:
,The time unit is not known.
The time unit representing a second.
The time unit representing a minute.
The time unit representing an hour.
The time unit representing a day.
The time unit representing a month.
The time unit representing a year.
Envoy uses SemVer (https://semver.org/). Major/minor versions indicate expected behaviors and APIs, the patch version field is used only for security fixes and can be generally ignored.
Used in:
HTTP response codes supported in Envoy. For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
Used in:
Empty - This code not part of the HTTP status code specification, but it is needed for proto `enum` type.
Continue - ``100`` status code.
OK - ``200`` status code.
Created - ``201`` status code.
Accepted - ``202`` status code.
NonAuthoritativeInformation - ``203`` status code.
NoContent - ``204`` status code.
ResetContent - ``205`` status code.
PartialContent - ``206`` status code.
MultiStatus - ``207`` status code.
AlreadyReported - ``208`` status code.
IMUsed - ``226`` status code.
MultipleChoices - ``300`` status code.
MovedPermanently - ``301`` status code.
Found - ``302`` status code.
SeeOther - ``303`` status code.
NotModified - ``304`` status code.
UseProxy - ``305`` status code.
TemporaryRedirect - ``307`` status code.
PermanentRedirect - ``308`` status code.
BadRequest - ``400`` status code.
Unauthorized - ``401`` status code.
PaymentRequired - ``402`` status code.
Forbidden - ``403`` status code.
NotFound - ``404`` status code.
MethodNotAllowed - ``405`` status code.
NotAcceptable - ``406`` status code.
ProxyAuthenticationRequired - ``407`` status code.
RequestTimeout - ``408`` status code.
Conflict - ``409`` status code.
Gone - ``410`` status code.
LengthRequired - ``411`` status code.
PreconditionFailed - ``412`` status code.
PayloadTooLarge - ``413`` status code.
URITooLong - ``414`` status code.
UnsupportedMediaType - ``415`` status code.
RangeNotSatisfiable - ``416`` status code.
ExpectationFailed - ``417`` status code.
MisdirectedRequest - ``421`` status code.
UnprocessableEntity - ``422`` status code.
Locked - ``423`` status code.
FailedDependency - ``424`` status code.
UpgradeRequired - ``426`` status code.
PreconditionRequired - ``428`` status code.
TooManyRequests - ``429`` status code.
RequestHeaderFieldsTooLarge - ``431`` status code.
InternalServerError - ``500`` status code.
NotImplemented - ``501`` status code.
BadGateway - ``502`` status code.
ServiceUnavailable - ``503`` status code.
GatewayTimeout - ``504`` status code.
HTTPVersionNotSupported - ``505`` status code.
VariantAlsoNegotiates - ``506`` status code.
InsufficientStorage - ``507`` status code.
LoopDetected - ``508`` status code.
NotExtended - ``510`` status code.
NetworkAuthenticationRequired - ``511`` status code.
Configures a token bucket, typically used for rate limiting.
Used in:
, , , ,The maximum tokens that the bucket can hold. This is also the number of tokens that the bucket initially contains.
The number of tokens added to the bucket during each fill interval. If not specified, defaults to a single token.
The fill interval that tokens are added to the bucket. During each fill interval ``tokens_per_fill`` are added to the bucket. The bucket will never contain more than ``max_tokens`` tokens.