typev3

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

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) EnumDescriptor deprecated

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

Deprecated: Use CodecClientType.Descriptor instead.

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) Descriptor deprecated

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

Deprecated: Use DoubleRange.ProtoReflect.Descriptor instead.

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) String

func (x *DoubleRange) String() string

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) Descriptor deprecated

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

Deprecated: Use FractionalPercent.ProtoReflect.Descriptor instead.

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) 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) EnumDescriptor deprecated

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

Deprecated: Use FractionalPercent_DenominatorType.Descriptor instead.

func (FractionalPercent_DenominatorType) Number

func (FractionalPercent_DenominatorType) String

func (FractionalPercent_DenominatorType) Type

type HashPolicy

type HashPolicy struct {

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

Specifies the hash policy

func (*HashPolicy) Descriptor deprecated

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

Deprecated: Use HashPolicy.ProtoReflect.Descriptor instead.

func (*HashPolicy) GetFilterState

func (x *HashPolicy) GetFilterState() *HashPolicy_FilterState

func (*HashPolicy) GetPolicySpecifier

func (m *HashPolicy) GetPolicySpecifier() isHashPolicy_PolicySpecifier

func (*HashPolicy) GetSourceIp

func (x *HashPolicy) GetSourceIp() *HashPolicy_SourceIp

func (*HashPolicy) ProtoMessage

func (*HashPolicy) ProtoMessage()

func (*HashPolicy) ProtoReflect

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

func (*HashPolicy) Reset

func (x *HashPolicy) Reset()

func (*HashPolicy) String

func (x *HashPolicy) String() string

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) Descriptor deprecated

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

Deprecated: Use HashPolicy_FilterState.ProtoReflect.Descriptor instead.

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) 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_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) Descriptor deprecated

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

Deprecated: Use HashPolicy_SourceIp.ProtoReflect.Descriptor instead.

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 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) Descriptor deprecated

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

Deprecated: Use HttpStatus.ProtoReflect.Descriptor instead.

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) String

func (x *HttpStatus) String() string

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) Descriptor deprecated

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

Deprecated: Use Int32Range.ProtoReflect.Descriptor instead.

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) String

func (x *Int32Range) String() string

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) Descriptor deprecated

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

Deprecated: Use Int64Range.ProtoReflect.Descriptor instead.

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) String

func (x *Int64Range) String() string

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) Descriptor deprecated

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

Deprecated: Use Percent.ProtoReflect.Descriptor instead.

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) String

func (x *Percent) String() string

type RateLimitStrategy

type RateLimitStrategy struct {

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

func (*RateLimitStrategy) Descriptor deprecated

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

Deprecated: Use RateLimitStrategy.ProtoReflect.Descriptor instead.

func (*RateLimitStrategy) GetBlanketRule

func (*RateLimitStrategy) GetRequestsPerTimeUnit

func (x *RateLimitStrategy) GetRequestsPerTimeUnit() *RateLimitStrategy_RequestsPerTimeUnit

func (*RateLimitStrategy) GetStrategy

func (m *RateLimitStrategy) GetStrategy() isRateLimitStrategy_Strategy

func (*RateLimitStrategy) GetTokenBucket

func (x *RateLimitStrategy) GetTokenBucket() *TokenBucket

func (*RateLimitStrategy) ProtoMessage

func (*RateLimitStrategy) ProtoMessage()

func (*RateLimitStrategy) ProtoReflect

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

func (*RateLimitStrategy) Reset

func (x *RateLimitStrategy) Reset()

func (*RateLimitStrategy) String

func (x *RateLimitStrategy) String() string

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) EnumDescriptor deprecated

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

Deprecated: Use RateLimitStrategy_BlanketRule.Descriptor instead.

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) Descriptor deprecated

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

Deprecated: Use RateLimitStrategy_RequestsPerTimeUnit.ProtoReflect.Descriptor instead.

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) 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_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 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) EnumDescriptor deprecated

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

Deprecated: Use RateLimitUnit.Descriptor instead.

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) Descriptor deprecated

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

Deprecated: Use SemanticVersion.ProtoReflect.Descriptor instead.

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) String

func (x *SemanticVersion) String() string

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
	StatusCode_Continue                      StatusCode = 100
	StatusCode_OK                            StatusCode = 200
	StatusCode_Created                       StatusCode = 201
	StatusCode_Accepted                      StatusCode = 202
	StatusCode_NonAuthoritativeInformation   StatusCode = 203
	StatusCode_NoContent                     StatusCode = 204
	StatusCode_ResetContent                  StatusCode = 205
	StatusCode_PartialContent                StatusCode = 206
	StatusCode_MultiStatus                   StatusCode = 207
	StatusCode_AlreadyReported               StatusCode = 208
	StatusCode_IMUsed                        StatusCode = 226
	StatusCode_MultipleChoices               StatusCode = 300
	StatusCode_MovedPermanently              StatusCode = 301
	StatusCode_Found                         StatusCode = 302
	StatusCode_SeeOther                      StatusCode = 303
	StatusCode_NotModified                   StatusCode = 304
	StatusCode_UseProxy                      StatusCode = 305
	StatusCode_TemporaryRedirect             StatusCode = 307
	StatusCode_PermanentRedirect             StatusCode = 308
	StatusCode_BadRequest                    StatusCode = 400
	StatusCode_Unauthorized                  StatusCode = 401
	StatusCode_PaymentRequired               StatusCode = 402
	StatusCode_Forbidden                     StatusCode = 403
	StatusCode_NotFound                      StatusCode = 404
	StatusCode_MethodNotAllowed              StatusCode = 405
	StatusCode_NotAcceptable                 StatusCode = 406
	StatusCode_ProxyAuthenticationRequired   StatusCode = 407
	StatusCode_RequestTimeout                StatusCode = 408
	StatusCode_Conflict                      StatusCode = 409
	StatusCode_Gone                          StatusCode = 410
	StatusCode_LengthRequired                StatusCode = 411
	StatusCode_PreconditionFailed            StatusCode = 412
	StatusCode_PayloadTooLarge               StatusCode = 413
	StatusCode_URITooLong                    StatusCode = 414
	StatusCode_UnsupportedMediaType          StatusCode = 415
	StatusCode_RangeNotSatisfiable           StatusCode = 416
	StatusCode_ExpectationFailed             StatusCode = 417
	StatusCode_MisdirectedRequest            StatusCode = 421
	StatusCode_UnprocessableEntity           StatusCode = 422
	StatusCode_Locked                        StatusCode = 423
	StatusCode_FailedDependency              StatusCode = 424
	StatusCode_UpgradeRequired               StatusCode = 426
	StatusCode_PreconditionRequired          StatusCode = 428
	StatusCode_TooManyRequests               StatusCode = 429
	StatusCode_RequestHeaderFieldsTooLarge   StatusCode = 431
	StatusCode_InternalServerError           StatusCode = 500
	StatusCode_NotImplemented                StatusCode = 501
	StatusCode_BadGateway                    StatusCode = 502
	StatusCode_ServiceUnavailable            StatusCode = 503
	StatusCode_GatewayTimeout                StatusCode = 504
	StatusCode_HTTPVersionNotSupported       StatusCode = 505
	StatusCode_VariantAlsoNegotiates         StatusCode = 506
	StatusCode_InsufficientStorage           StatusCode = 507
	StatusCode_LoopDetected                  StatusCode = 508
	StatusCode_NotExtended                   StatusCode = 510
	StatusCode_NetworkAuthenticationRequired StatusCode = 511
)

func (StatusCode) Descriptor

func (StatusCode) Descriptor() protoreflect.EnumDescriptor

func (StatusCode) Enum

func (x StatusCode) Enum() *StatusCode

func (StatusCode) EnumDescriptor deprecated

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

Deprecated: Use StatusCode.Descriptor instead.

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) Descriptor deprecated

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

Deprecated: Use TokenBucket.ProtoReflect.Descriptor instead.

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) ProtoMessage

func (*TokenBucket) ProtoMessage()

func (*TokenBucket) ProtoReflect

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

func (*TokenBucket) Reset

func (x *TokenBucket) Reset()

func (*TokenBucket) String

func (x *TokenBucket) String() string

Jump to

Keyboard shortcuts

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