envoy_extensions_filters_http_ratelimit_v3

package
v1.14.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2022 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	RateLimit_XRateLimitHeadersRFCVersion_name = map[int32]string{
		0: "OFF",
		1: "DRAFT_VERSION_03",
	}
	RateLimit_XRateLimitHeadersRFCVersion_value = map[string]int32{
		"OFF":              0,
		"DRAFT_VERSION_03": 1,
	}
)

Enum value maps for RateLimit_XRateLimitHeadersRFCVersion.

View Source
var (
	RateLimitPerRoute_VhRateLimitsOptions_name = map[int32]string{
		0: "OVERRIDE",
		1: "INCLUDE",
		2: "IGNORE",
	}
	RateLimitPerRoute_VhRateLimitsOptions_value = map[string]int32{
		"OVERRIDE": 0,
		"INCLUDE":  1,
		"IGNORE":   2,
	}
)

Enum value maps for RateLimitPerRoute_VhRateLimitsOptions.

View Source
var File_envoy_extensions_filters_http_ratelimit_v3_rate_limit_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type RateLimit

type RateLimit struct {

	// The rate limit domain to use when calling the rate limit service.
	Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	// 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.
	Stage uint32 `protobuf:"varint,2,opt,name=stage,proto3" json:"stage,omitempty"`
	// 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.
	RequestType string `protobuf:"bytes,3,opt,name=request_type,json=requestType,proto3" json:"request_type,omitempty"`
	// The timeout in milliseconds for the rate limit service RPC. If not
	// set, this defaults to 20ms.
	Timeout *duration.Duration `protobuf:"bytes,4,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// 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.
	FailureModeDeny bool `protobuf:"varint,5,opt,name=failure_mode_deny,json=failureModeDeny,proto3" json:"failure_mode_deny,omitempty"`
	// 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.
	RateLimitedAsResourceExhausted bool `` /* 158-byte string literal not displayed */
	// Configuration for an external rate limit service provider. If not
	// specified, any calls to the rate limit service will immediately return
	// success.
	RateLimitService *v3.RateLimitServiceConfig `protobuf:"bytes,7,opt,name=rate_limit_service,json=rateLimitService,proto3" json:"rate_limit_service,omitempty"`
	// 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.
	EnableXRatelimitHeaders RateLimit_XRateLimitHeadersRFCVersion `` /* 221-byte string literal not displayed */
	// 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.
	DisableXEnvoyRatelimitedHeader bool `` /* 158-byte string literal not displayed */
	// contains filtered or unexported fields
}

[#next-free-field: 10]

func (*RateLimit) Descriptor deprecated

func (*RateLimit) Descriptor() ([]byte, []int)

Deprecated: Use RateLimit.ProtoReflect.Descriptor instead.

func (*RateLimit) GetDisableXEnvoyRatelimitedHeader added in v1.14.0

func (x *RateLimit) GetDisableXEnvoyRatelimitedHeader() bool

func (*RateLimit) GetDomain

func (x *RateLimit) GetDomain() string

func (*RateLimit) GetEnableXRatelimitHeaders added in v1.14.0

func (x *RateLimit) GetEnableXRatelimitHeaders() RateLimit_XRateLimitHeadersRFCVersion

func (*RateLimit) GetFailureModeDeny

func (x *RateLimit) GetFailureModeDeny() bool

func (*RateLimit) GetRateLimitService

func (x *RateLimit) GetRateLimitService() *v3.RateLimitServiceConfig

func (*RateLimit) GetRateLimitedAsResourceExhausted

func (x *RateLimit) GetRateLimitedAsResourceExhausted() bool

func (*RateLimit) GetRequestType

func (x *RateLimit) GetRequestType() string

func (*RateLimit) GetStage

func (x *RateLimit) GetStage() uint32

func (*RateLimit) GetTimeout

func (x *RateLimit) GetTimeout() *duration.Duration

func (*RateLimit) ProtoMessage

func (*RateLimit) ProtoMessage()

func (*RateLimit) ProtoReflect added in v1.7.0

func (x *RateLimit) ProtoReflect() protoreflect.Message

func (*RateLimit) Reset

func (x *RateLimit) Reset()

func (*RateLimit) String

func (x *RateLimit) String() string

func (*RateLimit) Validate

func (m *RateLimit) Validate() error

Validate checks the field values on RateLimit with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type RateLimitPerRoute added in v1.14.0

type RateLimitPerRoute struct {

	// Specifies if the rate limit filter should include the virtual host rate limits.
	VhRateLimits RateLimitPerRoute_VhRateLimitsOptions `` /* 186-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*RateLimitPerRoute) Descriptor deprecated added in v1.14.0

func (*RateLimitPerRoute) Descriptor() ([]byte, []int)

Deprecated: Use RateLimitPerRoute.ProtoReflect.Descriptor instead.

func (*RateLimitPerRoute) GetVhRateLimits added in v1.14.0

func (*RateLimitPerRoute) ProtoMessage added in v1.14.0

func (*RateLimitPerRoute) ProtoMessage()

func (*RateLimitPerRoute) ProtoReflect added in v1.14.0

func (x *RateLimitPerRoute) ProtoReflect() protoreflect.Message

func (*RateLimitPerRoute) Reset added in v1.14.0

func (x *RateLimitPerRoute) Reset()

func (*RateLimitPerRoute) String added in v1.14.0

func (x *RateLimitPerRoute) String() string

func (*RateLimitPerRoute) Validate added in v1.14.0

func (m *RateLimitPerRoute) Validate() error

Validate checks the field values on RateLimitPerRoute with the rules defined in the proto definition for this message. If any rules are violated, an error is returned.

type RateLimitPerRouteValidationError added in v1.14.0

type RateLimitPerRouteValidationError struct {
	// contains filtered or unexported fields
}

RateLimitPerRouteValidationError is the validation error returned by RateLimitPerRoute.Validate if the designated constraints aren't met.

func (RateLimitPerRouteValidationError) Cause added in v1.14.0

Cause function returns cause value.

func (RateLimitPerRouteValidationError) Error added in v1.14.0

Error satisfies the builtin error interface

func (RateLimitPerRouteValidationError) ErrorName added in v1.14.0

ErrorName returns error name.

func (RateLimitPerRouteValidationError) Field added in v1.14.0

Field function returns field value.

func (RateLimitPerRouteValidationError) Key added in v1.14.0

Key function returns key value.

func (RateLimitPerRouteValidationError) Reason added in v1.14.0

Reason function returns reason value.

type RateLimitPerRoute_VhRateLimitsOptions added in v1.14.0

type RateLimitPerRoute_VhRateLimitsOptions int32
const (
	// Use the virtual host rate limits unless the route has a rate limit policy.
	RateLimitPerRoute_OVERRIDE RateLimitPerRoute_VhRateLimitsOptions = 0
	// Use the virtual host rate limits even if the route has a rate limit policy.
	RateLimitPerRoute_INCLUDE RateLimitPerRoute_VhRateLimitsOptions = 1
	// Ignore the virtual host rate limits even if the route does not have a rate limit policy.
	RateLimitPerRoute_IGNORE RateLimitPerRoute_VhRateLimitsOptions = 2
)

func (RateLimitPerRoute_VhRateLimitsOptions) Descriptor added in v1.14.0

func (RateLimitPerRoute_VhRateLimitsOptions) Enum added in v1.14.0

func (RateLimitPerRoute_VhRateLimitsOptions) EnumDescriptor deprecated added in v1.14.0

func (RateLimitPerRoute_VhRateLimitsOptions) EnumDescriptor() ([]byte, []int)

Deprecated: Use RateLimitPerRoute_VhRateLimitsOptions.Descriptor instead.

func (RateLimitPerRoute_VhRateLimitsOptions) Number added in v1.14.0

func (RateLimitPerRoute_VhRateLimitsOptions) String added in v1.14.0

func (RateLimitPerRoute_VhRateLimitsOptions) Type added in v1.14.0

type RateLimitValidationError

type RateLimitValidationError struct {
	// contains filtered or unexported fields
}

RateLimitValidationError is the validation error returned by RateLimit.Validate if the designated constraints aren't met.

func (RateLimitValidationError) Cause

func (e RateLimitValidationError) Cause() error

Cause function returns cause value.

func (RateLimitValidationError) Error

func (e RateLimitValidationError) Error() string

Error satisfies the builtin error interface

func (RateLimitValidationError) ErrorName

func (e RateLimitValidationError) ErrorName() string

ErrorName returns error name.

func (RateLimitValidationError) Field

func (e RateLimitValidationError) Field() string

Field function returns field value.

func (RateLimitValidationError) Key

Key function returns key value.

func (RateLimitValidationError) Reason

func (e RateLimitValidationError) Reason() string

Reason function returns reason value.

type RateLimit_XRateLimitHeadersRFCVersion added in v1.14.0

type RateLimit_XRateLimitHeadersRFCVersion int32

Defines the version of the standard to use for X-RateLimit headers.

const (
	// X-RateLimit headers disabled.
	RateLimit_OFF RateLimit_XRateLimitHeadersRFCVersion = 0
	// Use `draft RFC Version 03 <https://tools.ietf.org/id/draft-polli-ratelimit-headers-03.html>`_.
	RateLimit_DRAFT_VERSION_03 RateLimit_XRateLimitHeadersRFCVersion = 1
)

func (RateLimit_XRateLimitHeadersRFCVersion) Descriptor added in v1.14.0

func (RateLimit_XRateLimitHeadersRFCVersion) Enum added in v1.14.0

func (RateLimit_XRateLimitHeadersRFCVersion) EnumDescriptor deprecated added in v1.14.0

func (RateLimit_XRateLimitHeadersRFCVersion) EnumDescriptor() ([]byte, []int)

Deprecated: Use RateLimit_XRateLimitHeadersRFCVersion.Descriptor instead.

func (RateLimit_XRateLimitHeadersRFCVersion) Number added in v1.14.0

func (RateLimit_XRateLimitHeadersRFCVersion) String added in v1.14.0

func (RateLimit_XRateLimitHeadersRFCVersion) Type added in v1.14.0

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL