ratelimit

package
v1.1.2 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2021 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1_ratelimit_rate_limit_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type GatewayRateLimit

type GatewayRateLimit struct {

	// The ratelimit service to ask about ratelimit decisions.
	// The provided ref will be used to search for a service of the given name/namespace on each cluster
	// that a Gateway will be created.
	//
	// If omitted, Gloo Mesh will search for a service with the name rate-limiter in each namespace on each cluster
	// that a Gateway will be created.
	RatelimitServerRef *v1.ObjectRef `protobuf:"bytes,1,opt,name=ratelimit_server_ref,json=ratelimitServerRef,proto3" json:"ratelimit_server_ref,omitempty"`
	// Timeout for the ratelimit service to respond. Defaults to 100ms
	RequestTimeout *duration.Duration `protobuf:"bytes,2,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
	// Defaults to false
	DenyOnFail bool `protobuf:"varint,3,opt,name=deny_on_fail,json=denyOnFail,proto3" json:"deny_on_fail,omitempty"`
	// contains filtered or unexported fields
}

Configure the Rate-Limit Filter on a Gateway

func (*GatewayRateLimit) Descriptor deprecated

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

Deprecated: Use GatewayRateLimit.ProtoReflect.Descriptor instead.

func (*GatewayRateLimit) Equal

func (m *GatewayRateLimit) Equal(that interface{}) bool

Equal function

func (*GatewayRateLimit) GetDenyOnFail

func (x *GatewayRateLimit) GetDenyOnFail() bool

func (*GatewayRateLimit) GetRatelimitServerRef

func (x *GatewayRateLimit) GetRatelimitServerRef() *v1.ObjectRef

func (*GatewayRateLimit) GetRequestTimeout

func (x *GatewayRateLimit) GetRequestTimeout() *duration.Duration

func (*GatewayRateLimit) ProtoMessage

func (*GatewayRateLimit) ProtoMessage()

func (*GatewayRateLimit) ProtoReflect

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

func (*GatewayRateLimit) Reset

func (x *GatewayRateLimit) Reset()

func (*GatewayRateLimit) String

func (x *GatewayRateLimit) String() string

type RateLimitClient

type RateLimitClient struct {

	// Types that are assignable to ConfigType:
	//	*RateLimitClient_Raw
	ConfigType isRateLimitClient_ConfigType `protobuf_oneof:"config_type"`
	// contains filtered or unexported fields
}

The RateLimitClient specifies either a simplified, abstracted rate limiting model that allows configuring the ratelimit Actions directly (raw). The corresponding server config should be set in the RateLimitConfig.

func (*RateLimitClient) Descriptor deprecated

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

Deprecated: Use RateLimitClient.ProtoReflect.Descriptor instead.

func (*RateLimitClient) Equal

func (m *RateLimitClient) Equal(that interface{}) bool

Equal function

func (*RateLimitClient) GetConfigType

func (m *RateLimitClient) GetConfigType() isRateLimitClient_ConfigType

func (*RateLimitClient) GetRaw

func (x *RateLimitClient) GetRaw() *RawRateLimit

func (*RateLimitClient) ProtoMessage

func (*RateLimitClient) ProtoMessage()

func (*RateLimitClient) ProtoReflect

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

func (*RateLimitClient) Reset

func (x *RateLimitClient) Reset()

func (*RateLimitClient) String

func (x *RateLimitClient) String() string

type RateLimitClient_Raw

type RateLimitClient_Raw struct {
	// Configure the actions and/or set actions that determine how Envoy composes the descriptors
	Raw *RawRateLimit `protobuf:"bytes,1,opt,name=raw,proto3,oneof"`
}

type RawRateLimit

type RawRateLimit struct {

	// Actions specify how the client (Envoy) will compose the descriptors that
	// will be sent to the server to make a rate limiting decision.
	RateLimits []*v1alpha1.RateLimitActions `protobuf:"bytes,1,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"`
	// contains filtered or unexported fields
}

Use this field if you want to inline the Envoy rate limits. Note that this does not configure the rate limit server. If you are running Gloo Mesh, you need to specify the server configuration via the appropriate field in the Gloo Mesh `RateLimitConfig` resource. If you are running a custom rate limit server you need to configure it yourself.

func (*RawRateLimit) Descriptor deprecated

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

Deprecated: Use RawRateLimit.ProtoReflect.Descriptor instead.

func (*RawRateLimit) Equal

func (m *RawRateLimit) Equal(that interface{}) bool

Equal function

func (*RawRateLimit) GetRateLimits

func (x *RawRateLimit) GetRateLimits() []*v1alpha1.RateLimitActions

func (*RawRateLimit) ProtoMessage

func (*RawRateLimit) ProtoMessage()

func (*RawRateLimit) ProtoReflect

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

func (*RawRateLimit) Reset

func (x *RawRateLimit) Reset()

func (*RawRateLimit) String

func (x *RawRateLimit) String() string

type RouteRateLimit

type RouteRateLimit struct {

	// Labels to the RateLimitServerConfig ref sent to the ratelimit server
	RatelimitServerConfigSelector *v1.ObjectSelector `` /* 152-byte string literal not displayed */
	// Types that are assignable to RateLimitConfigType:
	//	*RouteRateLimit_Raw
	//	*RouteRateLimit_RatelimitClientConfigRef
	RateLimitConfigType isRouteRateLimit_RateLimitConfigType `protobuf_oneof:"rate_limit_config_type"`
	// contains filtered or unexported fields
}

Rate limit configuration for a Route or TrafficPolicy. Configures rate limits for individual HTTP routes

func (*RouteRateLimit) Descriptor deprecated

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

Deprecated: Use RouteRateLimit.ProtoReflect.Descriptor instead.

func (*RouteRateLimit) Equal

func (m *RouteRateLimit) Equal(that interface{}) bool

Equal function

func (*RouteRateLimit) GetRateLimitConfigType

func (m *RouteRateLimit) GetRateLimitConfigType() isRouteRateLimit_RateLimitConfigType

func (*RouteRateLimit) GetRatelimitClientConfigRef

func (x *RouteRateLimit) GetRatelimitClientConfigRef() *v1.ObjectRef

func (*RouteRateLimit) GetRatelimitServerConfigSelector

func (x *RouteRateLimit) GetRatelimitServerConfigSelector() *v1.ObjectSelector

func (*RouteRateLimit) GetRaw

func (x *RouteRateLimit) GetRaw() *RawRateLimit

func (*RouteRateLimit) ProtoMessage

func (*RouteRateLimit) ProtoMessage()

func (*RouteRateLimit) ProtoReflect

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

func (*RouteRateLimit) Reset

func (x *RouteRateLimit) Reset()

func (*RouteRateLimit) String

func (x *RouteRateLimit) String() string

type RouteRateLimit_RatelimitClientConfigRef

type RouteRateLimit_RatelimitClientConfigRef struct {
	// Reference to the RateLimitClientConfig that configures the rate limiting model
	RatelimitClientConfigRef *v1.ObjectRef `protobuf:"bytes,4,opt,name=ratelimit_client_config_ref,json=ratelimitClientConfigRef,proto3,oneof"`
}

type RouteRateLimit_Raw

type RouteRateLimit_Raw struct {
	// Configure the actions and/or set actions that determine how Envoy composes the descriptors
	Raw *RawRateLimit `protobuf:"bytes,2,opt,name=raw,proto3,oneof"`
}

Jump to

Keyboard shortcuts

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