typev3

package
v1.36.11-2026041321000... Latest Latest
Warning

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

Go to latest
Published: unknown License: Apache-2.0 Imports: 9 Imported by: 2

Documentation

Index

Constants

View Source
const HashPolicy_FilterState_case case_HashPolicy_PolicySpecifier = 2
View Source
const HashPolicy_PolicySpecifier_not_set_case case_HashPolicy_PolicySpecifier = 0
View Source
const HashPolicy_SourceIp_case case_HashPolicy_PolicySpecifier = 1
View Source
const RateLimitStrategy_BlanketRule_case case_RateLimitStrategy_Strategy = 1
View Source
const RateLimitStrategy_RequestsPerTimeUnit_case case_RateLimitStrategy_Strategy = 2
View Source
const RateLimitStrategy_Strategy_not_set_case case_RateLimitStrategy_Strategy = 0
View Source
const RateLimitStrategy_TokenBucket_case case_RateLimitStrategy_Strategy = 3

Variables

View Source
var (
	CodecClientType_name = map[int32]string{
		0: "HTTP1",
		1: "HTTP2",
		2: "HTTP3",
	}
	CodecClientType_value = map[string]int32{
		"HTTP1": 0,
		"HTTP2": 1,
		"HTTP3": 2,
	}
)

Enum value maps for CodecClientType.

View Source
var (
	StatusCode_name = map[int32]string{
		0:   "Empty",
		100: "Continue",
		200: "OK",
		201: "Created",
		202: "Accepted",
		203: "NonAuthoritativeInformation",
		204: "NoContent",
		205: "ResetContent",
		206: "PartialContent",
		207: "MultiStatus",
		208: "AlreadyReported",
		226: "IMUsed",
		300: "MultipleChoices",
		301: "MovedPermanently",
		302: "Found",
		303: "SeeOther",
		304: "NotModified",
		305: "UseProxy",
		307: "TemporaryRedirect",
		308: "PermanentRedirect",
		400: "BadRequest",
		401: "Unauthorized",
		402: "PaymentRequired",
		403: "Forbidden",
		404: "NotFound",
		405: "MethodNotAllowed",
		406: "NotAcceptable",
		407: "ProxyAuthenticationRequired",
		408: "RequestTimeout",
		409: "Conflict",
		410: "Gone",
		411: "LengthRequired",
		412: "PreconditionFailed",
		413: "PayloadTooLarge",
		414: "URITooLong",
		415: "UnsupportedMediaType",
		416: "RangeNotSatisfiable",
		417: "ExpectationFailed",
		421: "MisdirectedRequest",
		422: "UnprocessableEntity",
		423: "Locked",
		424: "FailedDependency",
		426: "UpgradeRequired",
		428: "PreconditionRequired",
		429: "TooManyRequests",
		431: "RequestHeaderFieldsTooLarge",
		500: "InternalServerError",
		501: "NotImplemented",
		502: "BadGateway",
		503: "ServiceUnavailable",
		504: "GatewayTimeout",
		505: "HTTPVersionNotSupported",
		506: "VariantAlsoNegotiates",
		507: "InsufficientStorage",
		508: "LoopDetected",
		510: "NotExtended",
		511: "NetworkAuthenticationRequired",
	}
	StatusCode_value = map[string]int32{
		"Empty":                         0,
		"Continue":                      100,
		"OK":                            200,
		"Created":                       201,
		"Accepted":                      202,
		"NonAuthoritativeInformation":   203,
		"NoContent":                     204,
		"ResetContent":                  205,
		"PartialContent":                206,
		"MultiStatus":                   207,
		"AlreadyReported":               208,
		"IMUsed":                        226,
		"MultipleChoices":               300,
		"MovedPermanently":              301,
		"Found":                         302,
		"SeeOther":                      303,
		"NotModified":                   304,
		"UseProxy":                      305,
		"TemporaryRedirect":             307,
		"PermanentRedirect":             308,
		"BadRequest":                    400,
		"Unauthorized":                  401,
		"PaymentRequired":               402,
		"Forbidden":                     403,
		"NotFound":                      404,
		"MethodNotAllowed":              405,
		"NotAcceptable":                 406,
		"ProxyAuthenticationRequired":   407,
		"RequestTimeout":                408,
		"Conflict":                      409,
		"Gone":                          410,
		"LengthRequired":                411,
		"PreconditionFailed":            412,
		"PayloadTooLarge":               413,
		"URITooLong":                    414,
		"UnsupportedMediaType":          415,
		"RangeNotSatisfiable":           416,
		"ExpectationFailed":             417,
		"MisdirectedRequest":            421,
		"UnprocessableEntity":           422,
		"Locked":                        423,
		"FailedDependency":              424,
		"UpgradeRequired":               426,
		"PreconditionRequired":          428,
		"TooManyRequests":               429,
		"RequestHeaderFieldsTooLarge":   431,
		"InternalServerError":           500,
		"NotImplemented":                501,
		"BadGateway":                    502,
		"ServiceUnavailable":            503,
		"GatewayTimeout":                504,
		"HTTPVersionNotSupported":       505,
		"VariantAlsoNegotiates":         506,
		"InsufficientStorage":           507,
		"LoopDetected":                  508,
		"NotExtended":                   510,
		"NetworkAuthenticationRequired": 511,
	}
)

Enum value maps for StatusCode.

View Source
var (
	FractionalPercent_DenominatorType_name = map[int32]string{
		0: "HUNDRED",
		1: "TEN_THOUSAND",
		2: "MILLION",
	}
	FractionalPercent_DenominatorType_value = map[string]int32{
		"HUNDRED":      0,
		"TEN_THOUSAND": 1,
		"MILLION":      2,
	}
)

Enum value maps for FractionalPercent_DenominatorType.

View Source
var (
	RateLimitStrategy_BlanketRule_name = map[int32]string{
		0: "ALLOW_ALL",
		1: "DENY_ALL",
	}
	RateLimitStrategy_BlanketRule_value = map[string]int32{
		"ALLOW_ALL": 0,
		"DENY_ALL":  1,
	}
)

Enum value maps for RateLimitStrategy_BlanketRule.

View Source
var (
	RateLimitUnit_name = map[int32]string{
		0: "UNKNOWN",
		1: "SECOND",
		2: "MINUTE",
		3: "HOUR",
		4: "DAY",
		5: "MONTH",
		6: "YEAR",
	}
	RateLimitUnit_value = map[string]int32{
		"UNKNOWN": 0,
		"SECOND":  1,
		"MINUTE":  2,
		"HOUR":    3,
		"DAY":     4,
		"MONTH":   5,
		"YEAR":    6,
	}
)

Enum value maps for RateLimitUnit.

View Source
var File_envoy_type_v3_hash_policy_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_v3_http_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_v3_http_status_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_v3_percent_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_v3_range_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_v3_ratelimit_strategy_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_v3_ratelimit_unit_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_v3_semantic_version_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_v3_token_bucket_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type CodecClientType

type CodecClientType int32
const (
	CodecClientType_HTTP1 CodecClientType = 0
	CodecClientType_HTTP2 CodecClientType = 1
	// [#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.
	CodecClientType_HTTP3 CodecClientType = 2
)

func (CodecClientType) Descriptor

func (CodecClientType) Enum

func (x CodecClientType) Enum() *CodecClientType

func (CodecClientType) Number

func (CodecClientType) String

func (x CodecClientType) String() string

func (CodecClientType) Type

type DoubleRange

type DoubleRange struct {

	// start of the range (inclusive)
	Start float64 `protobuf:"fixed64,1,opt,name=start,proto3" json:"start,omitempty"`
	// end of the range (exclusive)
	End float64 `protobuf:"fixed64,2,opt,name=end,proto3" json:"end,omitempty"`
	// contains filtered or unexported fields
}

Specifies the double start and end of the range using half-open interval semantics [start, end).

func (*DoubleRange) GetEnd

func (x *DoubleRange) GetEnd() float64

func (*DoubleRange) GetStart

func (x *DoubleRange) GetStart() float64

func (*DoubleRange) ProtoMessage

func (*DoubleRange) ProtoMessage()

func (*DoubleRange) ProtoReflect

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

func (*DoubleRange) Reset

func (x *DoubleRange) Reset()

func (*DoubleRange) SetEnd

func (x *DoubleRange) SetEnd(v float64)

func (*DoubleRange) SetStart

func (x *DoubleRange) SetStart(v float64)

func (*DoubleRange) String

func (x *DoubleRange) String() string

type DoubleRange_builder

type DoubleRange_builder struct {

	// start of the range (inclusive)
	Start float64
	// end of the range (exclusive)
	End float64
	// contains filtered or unexported fields
}

func (DoubleRange_builder) Build

func (b0 DoubleRange_builder) Build() *DoubleRange

type FractionalPercent

type FractionalPercent struct {

	// Specifies the numerator. Defaults to 0.
	Numerator uint32 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"`
	// Specifies the denominator. If the denominator specified is less than the numerator, the final
	// fractional percentage is capped at 1 (100%).
	Denominator FractionalPercent_DenominatorType `` /* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

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%.

func (*FractionalPercent) GetDenominator

func (*FractionalPercent) GetNumerator

func (x *FractionalPercent) GetNumerator() uint32

func (*FractionalPercent) ProtoMessage

func (*FractionalPercent) ProtoMessage()

func (*FractionalPercent) ProtoReflect

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

func (*FractionalPercent) Reset

func (x *FractionalPercent) Reset()

func (*FractionalPercent) SetDenominator

func (*FractionalPercent) SetNumerator

func (x *FractionalPercent) SetNumerator(v uint32)

func (*FractionalPercent) String

func (x *FractionalPercent) String() string

type FractionalPercent_DenominatorType

type FractionalPercent_DenominatorType int32

Fraction percentages support several fixed denominator values.

const (
	// 100.
	//
	// **Example**: 1/100 = 1%.
	FractionalPercent_HUNDRED FractionalPercent_DenominatorType = 0
	// 10,000.
	//
	// **Example**: 1/10000 = 0.01%.
	FractionalPercent_TEN_THOUSAND FractionalPercent_DenominatorType = 1
	// 1,000,000.
	//
	// **Example**: 1/1000000 = 0.0001%.
	FractionalPercent_MILLION FractionalPercent_DenominatorType = 2
)

func (FractionalPercent_DenominatorType) Descriptor

func (FractionalPercent_DenominatorType) Enum

func (FractionalPercent_DenominatorType) Number

func (FractionalPercent_DenominatorType) String

func (FractionalPercent_DenominatorType) Type

type FractionalPercent_builder

type FractionalPercent_builder struct {

	// Specifies the numerator. Defaults to 0.
	Numerator uint32
	// Specifies the denominator. If the denominator specified is less than the numerator, the final
	// fractional percentage is capped at 1 (100%).
	Denominator FractionalPercent_DenominatorType
	// contains filtered or unexported fields
}

func (FractionalPercent_builder) Build

type HashPolicy

type HashPolicy struct {

	// Types that are valid to be assigned to PolicySpecifier:
	//
	//	*HashPolicy_SourceIp_
	//	*HashPolicy_FilterState_
	PolicySpecifier isHashPolicy_PolicySpecifier `protobuf_oneof:"policy_specifier"`
	// contains filtered or unexported fields
}

Specifies the hash policy

func (*HashPolicy) ClearFilterState

func (x *HashPolicy) ClearFilterState()

func (*HashPolicy) ClearPolicySpecifier

func (x *HashPolicy) ClearPolicySpecifier()

func (*HashPolicy) ClearSourceIp

func (x *HashPolicy) ClearSourceIp()

func (*HashPolicy) GetFilterState

func (x *HashPolicy) GetFilterState() *HashPolicy_FilterState

func (*HashPolicy) GetPolicySpecifier

func (x *HashPolicy) GetPolicySpecifier() isHashPolicy_PolicySpecifier

func (*HashPolicy) GetSourceIp

func (x *HashPolicy) GetSourceIp() *HashPolicy_SourceIp

func (*HashPolicy) HasFilterState

func (x *HashPolicy) HasFilterState() bool

func (*HashPolicy) HasPolicySpecifier

func (x *HashPolicy) HasPolicySpecifier() bool

func (*HashPolicy) HasSourceIp

func (x *HashPolicy) HasSourceIp() bool

func (*HashPolicy) ProtoMessage

func (*HashPolicy) ProtoMessage()

func (*HashPolicy) ProtoReflect

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

func (*HashPolicy) Reset

func (x *HashPolicy) Reset()

func (*HashPolicy) SetFilterState

func (x *HashPolicy) SetFilterState(v *HashPolicy_FilterState)

func (*HashPolicy) SetSourceIp

func (x *HashPolicy) SetSourceIp(v *HashPolicy_SourceIp)

func (*HashPolicy) String

func (x *HashPolicy) String() string

func (*HashPolicy) WhichPolicySpecifier

func (x *HashPolicy) WhichPolicySpecifier() case_HashPolicy_PolicySpecifier

type HashPolicy_FilterState

type HashPolicy_FilterState struct {

	// 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.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// contains filtered or unexported fields
}

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.

func (*HashPolicy_FilterState) GetKey

func (x *HashPolicy_FilterState) GetKey() string

func (*HashPolicy_FilterState) ProtoMessage

func (*HashPolicy_FilterState) ProtoMessage()

func (*HashPolicy_FilterState) ProtoReflect

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

func (*HashPolicy_FilterState) Reset

func (x *HashPolicy_FilterState) Reset()

func (*HashPolicy_FilterState) SetKey

func (x *HashPolicy_FilterState) SetKey(v string)

func (*HashPolicy_FilterState) String

func (x *HashPolicy_FilterState) String() string

type HashPolicy_FilterState_

type HashPolicy_FilterState_ struct {
	FilterState *HashPolicy_FilterState `protobuf:"bytes,2,opt,name=filter_state,json=filterState,proto3,oneof"`
}

type HashPolicy_FilterState_builder

type HashPolicy_FilterState_builder struct {

	// 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.
	Key string
	// contains filtered or unexported fields
}

func (HashPolicy_FilterState_builder) Build

type HashPolicy_SourceIp

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

The source IP will be used to compute the hash used by hash-based load balancing algorithms.

func (*HashPolicy_SourceIp) ProtoMessage

func (*HashPolicy_SourceIp) ProtoMessage()

func (*HashPolicy_SourceIp) ProtoReflect

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

func (*HashPolicy_SourceIp) Reset

func (x *HashPolicy_SourceIp) Reset()

func (*HashPolicy_SourceIp) String

func (x *HashPolicy_SourceIp) String() string

type HashPolicy_SourceIp_

type HashPolicy_SourceIp_ struct {
	SourceIp *HashPolicy_SourceIp `protobuf:"bytes,1,opt,name=source_ip,json=sourceIp,proto3,oneof"`
}

type HashPolicy_SourceIp_builder

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

func (HashPolicy_SourceIp_builder) Build

type HashPolicy_builder

type HashPolicy_builder struct {

	// Fields of oneof PolicySpecifier:
	SourceIp    *HashPolicy_SourceIp
	FilterState *HashPolicy_FilterState
	// contains filtered or unexported fields
}

func (HashPolicy_builder) Build

func (b0 HashPolicy_builder) Build() *HashPolicy

type HttpStatus

type HttpStatus struct {

	// Supplies HTTP response code.
	Code StatusCode `protobuf:"varint,1,opt,name=code,proto3,enum=envoy.type.v3.StatusCode" json:"code,omitempty"`
	// contains filtered or unexported fields
}

HTTP status.

func (*HttpStatus) GetCode

func (x *HttpStatus) GetCode() StatusCode

func (*HttpStatus) ProtoMessage

func (*HttpStatus) ProtoMessage()

func (*HttpStatus) ProtoReflect

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

func (*HttpStatus) Reset

func (x *HttpStatus) Reset()

func (*HttpStatus) SetCode

func (x *HttpStatus) SetCode(v StatusCode)

func (*HttpStatus) String

func (x *HttpStatus) String() string

type HttpStatus_builder

type HttpStatus_builder struct {

	// Supplies HTTP response code.
	Code StatusCode
	// contains filtered or unexported fields
}

func (HttpStatus_builder) Build

func (b0 HttpStatus_builder) Build() *HttpStatus

type Int32Range

type Int32Range struct {

	// start of the range (inclusive)
	Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
	// end of the range (exclusive)
	End int32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
	// contains filtered or unexported fields
}

Specifies the int32 start and end of the range using half-open interval semantics [start, end).

func (*Int32Range) GetEnd

func (x *Int32Range) GetEnd() int32

func (*Int32Range) GetStart

func (x *Int32Range) GetStart() int32

func (*Int32Range) ProtoMessage

func (*Int32Range) ProtoMessage()

func (*Int32Range) ProtoReflect

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

func (*Int32Range) Reset

func (x *Int32Range) Reset()

func (*Int32Range) SetEnd

func (x *Int32Range) SetEnd(v int32)

func (*Int32Range) SetStart

func (x *Int32Range) SetStart(v int32)

func (*Int32Range) String

func (x *Int32Range) String() string

type Int32Range_builder

type Int32Range_builder struct {

	// start of the range (inclusive)
	Start int32
	// end of the range (exclusive)
	End int32
	// contains filtered or unexported fields
}

func (Int32Range_builder) Build

func (b0 Int32Range_builder) Build() *Int32Range

type Int64Range

type Int64Range struct {

	// start of the range (inclusive)
	Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
	// end of the range (exclusive)
	End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
	// contains filtered or unexported fields
}

Specifies the int64 start and end of the range using half-open interval semantics [start, end).

func (*Int64Range) GetEnd

func (x *Int64Range) GetEnd() int64

func (*Int64Range) GetStart

func (x *Int64Range) GetStart() int64

func (*Int64Range) ProtoMessage

func (*Int64Range) ProtoMessage()

func (*Int64Range) ProtoReflect

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

func (*Int64Range) Reset

func (x *Int64Range) Reset()

func (*Int64Range) SetEnd

func (x *Int64Range) SetEnd(v int64)

func (*Int64Range) SetStart

func (x *Int64Range) SetStart(v int64)

func (*Int64Range) String

func (x *Int64Range) String() string

type Int64Range_builder

type Int64Range_builder struct {

	// start of the range (inclusive)
	Start int64
	// end of the range (exclusive)
	End int64
	// contains filtered or unexported fields
}

func (Int64Range_builder) Build

func (b0 Int64Range_builder) Build() *Int64Range

type Percent

type Percent struct {
	Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

Identifies a percentage, in the range [0.0, 100.0].

func (*Percent) GetValue

func (x *Percent) GetValue() float64

func (*Percent) ProtoMessage

func (*Percent) ProtoMessage()

func (*Percent) ProtoReflect

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

func (*Percent) Reset

func (x *Percent) Reset()

func (*Percent) SetValue

func (x *Percent) SetValue(v float64)

func (*Percent) String

func (x *Percent) String() string

type Percent_builder

type Percent_builder struct {
	Value float64
	// contains filtered or unexported fields
}

func (Percent_builder) Build

func (b0 Percent_builder) Build() *Percent

type RateLimitStrategy

type RateLimitStrategy struct {

	// Types that are valid to be assigned to Strategy:
	//
	//	*RateLimitStrategy_BlanketRule_
	//	*RateLimitStrategy_RequestsPerTimeUnit_
	//	*RateLimitStrategy_TokenBucket
	Strategy isRateLimitStrategy_Strategy `protobuf_oneof:"strategy"`
	// contains filtered or unexported fields
}

func (*RateLimitStrategy) ClearBlanketRule

func (x *RateLimitStrategy) ClearBlanketRule()

func (*RateLimitStrategy) ClearRequestsPerTimeUnit

func (x *RateLimitStrategy) ClearRequestsPerTimeUnit()

func (*RateLimitStrategy) ClearStrategy

func (x *RateLimitStrategy) ClearStrategy()

func (*RateLimitStrategy) ClearTokenBucket

func (x *RateLimitStrategy) ClearTokenBucket()

func (*RateLimitStrategy) GetBlanketRule

func (*RateLimitStrategy) GetRequestsPerTimeUnit

func (x *RateLimitStrategy) GetRequestsPerTimeUnit() *RateLimitStrategy_RequestsPerTimeUnit

func (*RateLimitStrategy) GetStrategy

func (x *RateLimitStrategy) GetStrategy() isRateLimitStrategy_Strategy

func (*RateLimitStrategy) GetTokenBucket

func (x *RateLimitStrategy) GetTokenBucket() *TokenBucket

func (*RateLimitStrategy) HasBlanketRule

func (x *RateLimitStrategy) HasBlanketRule() bool

func (*RateLimitStrategy) HasRequestsPerTimeUnit

func (x *RateLimitStrategy) HasRequestsPerTimeUnit() bool

func (*RateLimitStrategy) HasStrategy

func (x *RateLimitStrategy) HasStrategy() bool

func (*RateLimitStrategy) HasTokenBucket

func (x *RateLimitStrategy) HasTokenBucket() bool

func (*RateLimitStrategy) ProtoMessage

func (*RateLimitStrategy) ProtoMessage()

func (*RateLimitStrategy) ProtoReflect

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

func (*RateLimitStrategy) Reset

func (x *RateLimitStrategy) Reset()

func (*RateLimitStrategy) SetBlanketRule

func (x *RateLimitStrategy) SetBlanketRule(v RateLimitStrategy_BlanketRule)

func (*RateLimitStrategy) SetRequestsPerTimeUnit

func (x *RateLimitStrategy) SetRequestsPerTimeUnit(v *RateLimitStrategy_RequestsPerTimeUnit)

func (*RateLimitStrategy) SetTokenBucket

func (x *RateLimitStrategy) SetTokenBucket(v *TokenBucket)

func (*RateLimitStrategy) String

func (x *RateLimitStrategy) String() string

func (*RateLimitStrategy) WhichStrategy

func (x *RateLimitStrategy) WhichStrategy() case_RateLimitStrategy_Strategy

type RateLimitStrategy_BlanketRule

type RateLimitStrategy_BlanketRule int32

Choose between allow all and deny all.

const (
	RateLimitStrategy_ALLOW_ALL RateLimitStrategy_BlanketRule = 0
	RateLimitStrategy_DENY_ALL  RateLimitStrategy_BlanketRule = 1
)

func (RateLimitStrategy_BlanketRule) Descriptor

func (RateLimitStrategy_BlanketRule) Enum

func (RateLimitStrategy_BlanketRule) Number

func (RateLimitStrategy_BlanketRule) String

func (RateLimitStrategy_BlanketRule) Type

type RateLimitStrategy_BlanketRule_

type RateLimitStrategy_BlanketRule_ struct {
	// Allow or Deny the requests.
	// If unset, allow all.
	BlanketRule RateLimitStrategy_BlanketRule `protobuf:"varint,1,opt,name=blanket_rule,json=blanketRule,proto3,enum=envoy.type.v3.RateLimitStrategy_BlanketRule,oneof"`
}

type RateLimitStrategy_RequestsPerTimeUnit

type RateLimitStrategy_RequestsPerTimeUnit struct {

	// 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.
	RequestsPerTimeUnit uint64 `protobuf:"varint,1,opt,name=requests_per_time_unit,json=requestsPerTimeUnit,proto3" json:"requests_per_time_unit,omitempty"`
	// 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).
	TimeUnit RateLimitUnit `protobuf:"varint,2,opt,name=time_unit,json=timeUnit,proto3,enum=envoy.type.v3.RateLimitUnit" json:"time_unit,omitempty"`
	// contains filtered or unexported fields
}

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.

func (*RateLimitStrategy_RequestsPerTimeUnit) GetRequestsPerTimeUnit

func (x *RateLimitStrategy_RequestsPerTimeUnit) GetRequestsPerTimeUnit() uint64

func (*RateLimitStrategy_RequestsPerTimeUnit) GetTimeUnit

func (*RateLimitStrategy_RequestsPerTimeUnit) ProtoMessage

func (*RateLimitStrategy_RequestsPerTimeUnit) ProtoMessage()

func (*RateLimitStrategy_RequestsPerTimeUnit) ProtoReflect

func (*RateLimitStrategy_RequestsPerTimeUnit) Reset

func (*RateLimitStrategy_RequestsPerTimeUnit) SetRequestsPerTimeUnit

func (x *RateLimitStrategy_RequestsPerTimeUnit) SetRequestsPerTimeUnit(v uint64)

func (*RateLimitStrategy_RequestsPerTimeUnit) SetTimeUnit

func (*RateLimitStrategy_RequestsPerTimeUnit) String

type RateLimitStrategy_RequestsPerTimeUnit_

type RateLimitStrategy_RequestsPerTimeUnit_ struct {
	// 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.
	RequestsPerTimeUnit *RateLimitStrategy_RequestsPerTimeUnit `protobuf:"bytes,2,opt,name=requests_per_time_unit,json=requestsPerTimeUnit,proto3,oneof"`
}

type RateLimitStrategy_RequestsPerTimeUnit_builder

type RateLimitStrategy_RequestsPerTimeUnit_builder struct {

	// 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.
	RequestsPerTimeUnit uint64
	// 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).
	TimeUnit RateLimitUnit
	// contains filtered or unexported fields
}

func (RateLimitStrategy_RequestsPerTimeUnit_builder) Build

type RateLimitStrategy_TokenBucket

type RateLimitStrategy_TokenBucket struct {
	// 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.
	TokenBucket *TokenBucket `protobuf:"bytes,3,opt,name=token_bucket,json=tokenBucket,proto3,oneof"`
}

type RateLimitStrategy_builder

type RateLimitStrategy_builder struct {

	// Fields of oneof Strategy:
	// Allow or Deny the requests.
	// If unset, allow all.
	BlanketRule *RateLimitStrategy_BlanketRule
	// 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.
	RequestsPerTimeUnit *RateLimitStrategy_RequestsPerTimeUnit
	// 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.
	TokenBucket *TokenBucket
	// contains filtered or unexported fields
}

func (RateLimitStrategy_builder) Build

type RateLimitUnit

type RateLimitUnit int32

Identifies the unit of of time for rate limit.

const (
	// The time unit is not known.
	RateLimitUnit_UNKNOWN RateLimitUnit = 0
	// The time unit representing a second.
	RateLimitUnit_SECOND RateLimitUnit = 1
	// The time unit representing a minute.
	RateLimitUnit_MINUTE RateLimitUnit = 2
	// The time unit representing an hour.
	RateLimitUnit_HOUR RateLimitUnit = 3
	// The time unit representing a day.
	RateLimitUnit_DAY RateLimitUnit = 4
	// The time unit representing a month.
	RateLimitUnit_MONTH RateLimitUnit = 5
	// The time unit representing a year.
	RateLimitUnit_YEAR RateLimitUnit = 6
)

func (RateLimitUnit) Descriptor

func (RateLimitUnit) Enum

func (x RateLimitUnit) Enum() *RateLimitUnit

func (RateLimitUnit) Number

func (RateLimitUnit) String

func (x RateLimitUnit) String() string

func (RateLimitUnit) Type

type SemanticVersion

type SemanticVersion struct {
	MajorNumber uint32 `protobuf:"varint,1,opt,name=major_number,json=majorNumber,proto3" json:"major_number,omitempty"`
	MinorNumber uint32 `protobuf:"varint,2,opt,name=minor_number,json=minorNumber,proto3" json:"minor_number,omitempty"`
	Patch       uint32 `protobuf:"varint,3,opt,name=patch,proto3" json:"patch,omitempty"`
	// contains filtered or unexported fields
}

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.

func (*SemanticVersion) GetMajorNumber

func (x *SemanticVersion) GetMajorNumber() uint32

func (*SemanticVersion) GetMinorNumber

func (x *SemanticVersion) GetMinorNumber() uint32

func (*SemanticVersion) GetPatch

func (x *SemanticVersion) GetPatch() uint32

func (*SemanticVersion) ProtoMessage

func (*SemanticVersion) ProtoMessage()

func (*SemanticVersion) ProtoReflect

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

func (*SemanticVersion) Reset

func (x *SemanticVersion) Reset()

func (*SemanticVersion) SetMajorNumber

func (x *SemanticVersion) SetMajorNumber(v uint32)

func (*SemanticVersion) SetMinorNumber

func (x *SemanticVersion) SetMinorNumber(v uint32)

func (*SemanticVersion) SetPatch

func (x *SemanticVersion) SetPatch(v uint32)

func (*SemanticVersion) String

func (x *SemanticVersion) String() string

type SemanticVersion_builder

type SemanticVersion_builder struct {
	MajorNumber uint32
	MinorNumber uint32
	Patch       uint32
	// contains filtered or unexported fields
}

func (SemanticVersion_builder) Build

type StatusCode

type StatusCode int32

HTTP response codes supported in Envoy. For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml

const (
	// Empty - This code not part of the HTTP status code specification, but it is needed for proto
	// `enum` type.
	StatusCode_Empty StatusCode = 0
	// Continue - “100“ status code.
	StatusCode_Continue StatusCode = 100
	// OK - “200“ status code.
	StatusCode_OK StatusCode = 200
	// Created - “201“ status code.
	StatusCode_Created StatusCode = 201
	// Accepted - “202“ status code.
	StatusCode_Accepted StatusCode = 202
	// NonAuthoritativeInformation - “203“ status code.
	StatusCode_NonAuthoritativeInformation StatusCode = 203
	// NoContent - “204“ status code.
	StatusCode_NoContent StatusCode = 204
	// ResetContent - “205“ status code.
	StatusCode_ResetContent StatusCode = 205
	// PartialContent - “206“ status code.
	StatusCode_PartialContent StatusCode = 206
	// MultiStatus - “207“ status code.
	StatusCode_MultiStatus StatusCode = 207
	// AlreadyReported - “208“ status code.
	StatusCode_AlreadyReported StatusCode = 208
	// IMUsed - “226“ status code.
	StatusCode_IMUsed StatusCode = 226
	// MultipleChoices - “300“ status code.
	StatusCode_MultipleChoices StatusCode = 300
	// MovedPermanently - “301“ status code.
	StatusCode_MovedPermanently StatusCode = 301
	// Found - “302“ status code.
	StatusCode_Found StatusCode = 302
	// SeeOther - “303“ status code.
	StatusCode_SeeOther StatusCode = 303
	// NotModified - “304“ status code.
	StatusCode_NotModified StatusCode = 304
	// UseProxy - “305“ status code.
	StatusCode_UseProxy StatusCode = 305
	// TemporaryRedirect - “307“ status code.
	StatusCode_TemporaryRedirect StatusCode = 307
	// PermanentRedirect - “308“ status code.
	StatusCode_PermanentRedirect StatusCode = 308
	// BadRequest - “400“ status code.
	StatusCode_BadRequest StatusCode = 400
	// Unauthorized - “401“ status code.
	StatusCode_Unauthorized StatusCode = 401
	// PaymentRequired - “402“ status code.
	StatusCode_PaymentRequired StatusCode = 402
	// Forbidden - “403“ status code.
	StatusCode_Forbidden StatusCode = 403
	// NotFound - “404“ status code.
	StatusCode_NotFound StatusCode = 404
	// MethodNotAllowed - “405“ status code.
	StatusCode_MethodNotAllowed StatusCode = 405
	// NotAcceptable - “406“ status code.
	StatusCode_NotAcceptable StatusCode = 406
	// ProxyAuthenticationRequired - “407“ status code.
	StatusCode_ProxyAuthenticationRequired StatusCode = 407
	// RequestTimeout - “408“ status code.
	StatusCode_RequestTimeout StatusCode = 408
	// Conflict - “409“ status code.
	StatusCode_Conflict StatusCode = 409
	// Gone - “410“ status code.
	StatusCode_Gone StatusCode = 410
	// LengthRequired - “411“ status code.
	StatusCode_LengthRequired StatusCode = 411
	// PreconditionFailed - “412“ status code.
	StatusCode_PreconditionFailed StatusCode = 412
	// PayloadTooLarge - “413“ status code.
	StatusCode_PayloadTooLarge StatusCode = 413
	// URITooLong - “414“ status code.
	StatusCode_URITooLong StatusCode = 414
	// UnsupportedMediaType - “415“ status code.
	StatusCode_UnsupportedMediaType StatusCode = 415
	// RangeNotSatisfiable - “416“ status code.
	StatusCode_RangeNotSatisfiable StatusCode = 416
	// ExpectationFailed - “417“ status code.
	StatusCode_ExpectationFailed StatusCode = 417
	// MisdirectedRequest - “421“ status code.
	StatusCode_MisdirectedRequest StatusCode = 421
	// UnprocessableEntity - “422“ status code.
	StatusCode_UnprocessableEntity StatusCode = 422
	// Locked - “423“ status code.
	StatusCode_Locked StatusCode = 423
	// FailedDependency - “424“ status code.
	StatusCode_FailedDependency StatusCode = 424
	// UpgradeRequired - “426“ status code.
	StatusCode_UpgradeRequired StatusCode = 426
	// PreconditionRequired - “428“ status code.
	StatusCode_PreconditionRequired StatusCode = 428
	// TooManyRequests - “429“ status code.
	StatusCode_TooManyRequests StatusCode = 429
	// RequestHeaderFieldsTooLarge - “431“ status code.
	StatusCode_RequestHeaderFieldsTooLarge StatusCode = 431
	// InternalServerError - “500“ status code.
	StatusCode_InternalServerError StatusCode = 500
	// NotImplemented - “501“ status code.
	StatusCode_NotImplemented StatusCode = 501
	// BadGateway - “502“ status code.
	StatusCode_BadGateway StatusCode = 502
	// ServiceUnavailable - “503“ status code.
	StatusCode_ServiceUnavailable StatusCode = 503
	// GatewayTimeout - “504“ status code.
	StatusCode_GatewayTimeout StatusCode = 504
	// HTTPVersionNotSupported - “505“ status code.
	StatusCode_HTTPVersionNotSupported StatusCode = 505
	// VariantAlsoNegotiates - “506“ status code.
	StatusCode_VariantAlsoNegotiates StatusCode = 506
	// InsufficientStorage - “507“ status code.
	StatusCode_InsufficientStorage StatusCode = 507
	// LoopDetected - “508“ status code.
	StatusCode_LoopDetected StatusCode = 508
	// NotExtended - “510“ status code.
	StatusCode_NotExtended StatusCode = 510
	// NetworkAuthenticationRequired - “511“ status code.
	StatusCode_NetworkAuthenticationRequired StatusCode = 511
)

func (StatusCode) Descriptor

func (StatusCode) Descriptor() protoreflect.EnumDescriptor

func (StatusCode) Enum

func (x StatusCode) Enum() *StatusCode

func (StatusCode) Number

func (x StatusCode) Number() protoreflect.EnumNumber

func (StatusCode) String

func (x StatusCode) String() string

func (StatusCode) Type

type TokenBucket

type TokenBucket struct {

	// The maximum tokens that the bucket can hold. This is also the number of tokens that the bucket
	// initially contains.
	MaxTokens uint32 `protobuf:"varint,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
	// The number of tokens added to the bucket during each fill interval. If not specified, defaults
	// to a single token.
	TokensPerFill *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=tokens_per_fill,json=tokensPerFill,proto3" json:"tokens_per_fill,omitempty"`
	// 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.
	FillInterval *durationpb.Duration `protobuf:"bytes,3,opt,name=fill_interval,json=fillInterval,proto3" json:"fill_interval,omitempty"`
	// contains filtered or unexported fields
}

Configures a token bucket, typically used for rate limiting.

func (*TokenBucket) ClearFillInterval

func (x *TokenBucket) ClearFillInterval()

func (*TokenBucket) ClearTokensPerFill

func (x *TokenBucket) ClearTokensPerFill()

func (*TokenBucket) GetFillInterval

func (x *TokenBucket) GetFillInterval() *durationpb.Duration

func (*TokenBucket) GetMaxTokens

func (x *TokenBucket) GetMaxTokens() uint32

func (*TokenBucket) GetTokensPerFill

func (x *TokenBucket) GetTokensPerFill() *wrapperspb.UInt32Value

func (*TokenBucket) HasFillInterval

func (x *TokenBucket) HasFillInterval() bool

func (*TokenBucket) HasTokensPerFill

func (x *TokenBucket) HasTokensPerFill() bool

func (*TokenBucket) ProtoMessage

func (*TokenBucket) ProtoMessage()

func (*TokenBucket) ProtoReflect

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

func (*TokenBucket) Reset

func (x *TokenBucket) Reset()

func (*TokenBucket) SetFillInterval

func (x *TokenBucket) SetFillInterval(v *durationpb.Duration)

func (*TokenBucket) SetMaxTokens

func (x *TokenBucket) SetMaxTokens(v uint32)

func (*TokenBucket) SetTokensPerFill

func (x *TokenBucket) SetTokensPerFill(v *wrapperspb.UInt32Value)

func (*TokenBucket) String

func (x *TokenBucket) String() string

type TokenBucket_builder

type TokenBucket_builder struct {

	// The maximum tokens that the bucket can hold. This is also the number of tokens that the bucket
	// initially contains.
	MaxTokens uint32
	// The number of tokens added to the bucket during each fill interval. If not specified, defaults
	// to a single token.
	TokensPerFill *wrapperspb.UInt32Value
	// 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.
	FillInterval *durationpb.Duration
	// contains filtered or unexported fields
}

func (TokenBucket_builder) Build

func (b0 TokenBucket_builder) Build() *TokenBucket

Source Files

  • hash_policy.pb.go
  • http.pb.go
  • http_status.pb.go
  • percent.pb.go
  • range.pb.go
  • ratelimit_strategy.pb.go
  • ratelimit_unit.pb.go
  • semantic_version.pb.go
  • token_bucket.pb.go

Jump to

Keyboard shortcuts

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