v1alpha1

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2021 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ratelimit v1alpha1 API group +kubebuilder:object:generate=true +groupName=ratelimit.zufardhiyaulhaq.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ratelimit.zufardhiyaulhaq.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type GlobalRateLimit

type GlobalRateLimit struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GlobalRateLimitSpec   `json:"spec,omitempty"`
	Status GlobalRateLimitStatus `json:"status,omitempty"`
}

GlobalRateLimit is the Schema for the globalratelimits API

func (*GlobalRateLimit) DeepCopy

func (in *GlobalRateLimit) DeepCopy() *GlobalRateLimit

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimit.

func (*GlobalRateLimit) DeepCopyInto

func (in *GlobalRateLimit) DeepCopyInto(out *GlobalRateLimit)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GlobalRateLimit) DeepCopyObject

func (in *GlobalRateLimit) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GlobalRateLimitConfig

type GlobalRateLimitConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   GlobalRateLimitConfigSpec   `json:"spec,omitempty"`
	Status GlobalRateLimitConfigStatus `json:"status,omitempty"`
}

GlobalRateLimitConfig is the Schema for the globalratelimitconfigs API

func (*GlobalRateLimitConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitConfig.

func (*GlobalRateLimitConfig) DeepCopyInto

func (in *GlobalRateLimitConfig) DeepCopyInto(out *GlobalRateLimitConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GlobalRateLimitConfig) DeepCopyObject

func (in *GlobalRateLimitConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GlobalRateLimitConfigList

type GlobalRateLimitConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GlobalRateLimitConfig `json:"items"`
}

GlobalRateLimitConfigList contains a list of GlobalRateLimitConfig

func (*GlobalRateLimitConfigList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitConfigList.

func (*GlobalRateLimitConfigList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GlobalRateLimitConfigList) DeepCopyObject

func (in *GlobalRateLimitConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GlobalRateLimitConfigRatelimit

type GlobalRateLimitConfigRatelimit struct {
	Spec GlobalRateLimitConfigRatelimitSpec `json:"spec"`
}

func (*GlobalRateLimitConfigRatelimit) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitConfigRatelimit.

func (*GlobalRateLimitConfigRatelimit) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalRateLimitConfigRatelimitSpec

type GlobalRateLimitConfigRatelimitSpec struct {
	Domain          string                                    `json:"domain"`
	FailureModeDeny bool                                      `json:"failure_mode_deny"`
	Timeout         string                                    `json:"timeout"`
	Service         GlobalRateLimitConfigRatelimitSpecService `json:"service"`
}

func (*GlobalRateLimitConfigRatelimitSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitConfigRatelimitSpec.

func (*GlobalRateLimitConfigRatelimitSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalRateLimitConfigRatelimitSpecService

type GlobalRateLimitConfigRatelimitSpecService struct {
	Address string `json:"address"`
	Port    int    `json:"port"`
}

func (*GlobalRateLimitConfigRatelimitSpecService) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitConfigRatelimitSpecService.

func (*GlobalRateLimitConfigRatelimitSpecService) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalRateLimitConfigSelector

type GlobalRateLimitConfigSelector struct {
	Labels       map[string]string `json:"labels"`
	IstioVersion []string          `json:"istio_version"`
	SNI          *string           `json:"sni,omitempty"`
}

func (*GlobalRateLimitConfigSelector) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitConfigSelector.

func (*GlobalRateLimitConfigSelector) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalRateLimitConfigSpec

type GlobalRateLimitConfigSpec struct {
	// +kubebuilder:validation:Enum=gateway
	Type string `json:"type"`

	Selector  GlobalRateLimitConfigSelector  `json:"selector"`
	Ratelimit GlobalRateLimitConfigRatelimit `json:"ratelimit"`
}

GlobalRateLimitConfigSpec defines the desired state of GlobalRateLimitConfig

func (*GlobalRateLimitConfigSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitConfigSpec.

func (*GlobalRateLimitConfigSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalRateLimitConfigStatus

type GlobalRateLimitConfigStatus struct{}

GlobalRateLimitConfigStatus defines the observed state of GlobalRateLimitConfig

func (*GlobalRateLimitConfigStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitConfigStatus.

func (*GlobalRateLimitConfigStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalRateLimitList

type GlobalRateLimitList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GlobalRateLimit `json:"items"`
}

GlobalRateLimitList contains a list of GlobalRateLimit

func (*GlobalRateLimitList) DeepCopy

func (in *GlobalRateLimitList) DeepCopy() *GlobalRateLimitList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitList.

func (*GlobalRateLimitList) DeepCopyInto

func (in *GlobalRateLimitList) DeepCopyInto(out *GlobalRateLimitList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GlobalRateLimitList) DeepCopyObject

func (in *GlobalRateLimitList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type GlobalRateLimitSelector

type GlobalRateLimitSelector struct {
	VHost string  `json:"vhost"`
	Route *string `json:"route,omitempty"`
}

func (*GlobalRateLimitSelector) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitSelector.

func (*GlobalRateLimitSelector) DeepCopyInto

func (in *GlobalRateLimitSelector) DeepCopyInto(out *GlobalRateLimitSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalRateLimitSpec

type GlobalRateLimitSpec struct {
	Config     string                  `json:"config"`
	Selector   GlobalRateLimitSelector `json:"selector"`
	RateLimits []*RateLimit_Action     `json:"rate_limits"`
}

GlobalRateLimitSpec defines the desired state of GlobalRateLimit

func (*GlobalRateLimitSpec) DeepCopy

func (in *GlobalRateLimitSpec) DeepCopy() *GlobalRateLimitSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitSpec.

func (*GlobalRateLimitSpec) DeepCopyInto

func (in *GlobalRateLimitSpec) DeepCopyInto(out *GlobalRateLimitSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalRateLimitStatus

type GlobalRateLimitStatus struct{}

GlobalRateLimitStatus defines the observed state of GlobalRateLimit

func (*GlobalRateLimitStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalRateLimitStatus.

func (*GlobalRateLimitStatus) DeepCopyInto

func (in *GlobalRateLimitStatus) DeepCopyInto(out *GlobalRateLimitStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action

type RateLimit_Action struct {
	SourceCluster      *RateLimit_Action_SourceCluster      `json:"source_cluster,omitempty" yaml:"source_cluster,omitempty"`
	DestinationCluster *RateLimit_Action_DestinationCluster `json:"destination_cluster,omitempty" yaml:"destination_cluster,omitempty"`
	RequestHeaders     *RateLimit_Action_RequestHeaders     `json:"request_headers,omitempty" yaml:"request_headers,omitempty"`
	RemoteAddress      *RateLimit_Action_RemoteAddress      `json:"remote_address,omitempty" yaml:"remote_address,omitempty"`
	GenericKey         *RateLimit_Action_GenericKey         `json:"generic_key,omitempty" yaml:"generic_key,omitempty"`
	HeaderValueMatch   *RateLimit_Action_HeaderValueMatch   `json:"header_value_match,omitempty" yaml:"header_value_match,omitempty"`
}

func (*RateLimit_Action) DeepCopy

func (in *RateLimit_Action) DeepCopy() *RateLimit_Action

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action.

func (*RateLimit_Action) DeepCopyInto

func (in *RateLimit_Action) DeepCopyInto(out *RateLimit_Action)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action_DestinationCluster

type RateLimit_Action_DestinationCluster struct{}

func (*RateLimit_Action_DestinationCluster) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action_DestinationCluster.

func (*RateLimit_Action_DestinationCluster) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action_GenericKey

type RateLimit_Action_GenericKey struct {
	// The value to use in the descriptor entry.
	DescriptorValue string `json:"descriptor_value,omitempty" yaml:"descriptor_value,omitempty"`
	// An optional key to use in the descriptor entry. If not set it defaults
	// to 'generic_key' as the descriptor key.
	DescriptorKey string `json:"descriptor_key,omitempty" yaml:"descriptor_key,omitempty"`
}

func (*RateLimit_Action_GenericKey) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action_GenericKey.

func (*RateLimit_Action_GenericKey) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action_HeaderValueMatch

type RateLimit_Action_HeaderValueMatch struct {
	// The value to use in the descriptor entry.
	DescriptorValue string `json:"descriptor_value,omitempty" yaml:"descriptor_value,omitempty"`
	// If set to true, the action will append a descriptor entry when the
	// request matches the headers. If set to false, the action will append a
	// descriptor entry when the request does not match the headers. The
	// default value is true.
	ExpectMatch *bool `json:"expect_match,omitempty" yaml:"expect_match,omitempty"`
	// Specifies a set of headers that the rate limit action should match
	// on. The action will check the request’s headers against all the
	// specified headers in the config. A match will happen if all the
	// headers in the config are present in the request with the same values
	// (or based on presence if the value field is not in the config).
	Headers []*RateLimit_Action_HeaderValueMatch_HeaderMatcher `json:"headers,omitempty" yaml:"headers,omitempty"`
}

func (*RateLimit_Action_HeaderValueMatch) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action_HeaderValueMatch.

func (*RateLimit_Action_HeaderValueMatch) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action_HeaderValueMatch_HeaderMatcher

type RateLimit_Action_HeaderValueMatch_HeaderMatcher struct {
	// Specifies the name of the header in the request.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Specifies how the header match will be performed to route the request.
	ExactMatch     string                                                        `json:"exact_match,omitempty" yaml:"exact_match,omitempty"`
	RegexMatch     string                                                        `json:"regex_match,omitempty" yaml:"regex_match,omitempty"`
	SafeRegexMatch *RateLimit_Action_HeaderValueMatch_HeaderMatcher_RegexMatcher `json:"safe_regex_match,omitempty" yaml:"safe_regex_match,omitempty"`
	RangeMatch     *RateLimit_Action_HeaderValueMatch_HeaderMatcher_Int64Range   `json:"range_match,omitempty" yaml:"range_match,omitempty"`
	PresentMatch   bool                                                          `json:"present_match,omitempty" yaml:"present_match,omitempty"`
	PrefixMatch    string                                                        `json:"prefix_match,omitempty" yaml:"prefix_match,omitempty"`
	SuffixMatch    string                                                        `json:"suffix_match,omitempty" yaml:"suffix_match,omitempty"`
	ContainsMatch  string                                                        `json:"contains_match,omitempty" yaml:"contains_match,omitempty"`
	// If specified, the match result will be inverted before checking. Defaults to false.
	//
	// Examples:
	//
	// * The regex “\d{3}“ does not match the value *1234*, so it will match when inverted.
	// * The range [-10,0) will match the value -1, so it will not match when inverted.
	InvertMatch bool `json:"invert_match,omitempty" yaml:"invert_match,omitempty"`
}

func (*RateLimit_Action_HeaderValueMatch_HeaderMatcher) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action_HeaderValueMatch_HeaderMatcher.

func (*RateLimit_Action_HeaderValueMatch_HeaderMatcher) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action_HeaderValueMatch_HeaderMatcher_Int64Range

type RateLimit_Action_HeaderValueMatch_HeaderMatcher_Int64Range struct {
	// start of the range (inclusive)
	Start int64 `json:"start,omitempty" yaml:"start,omitempty"`
	// end of the range (exclusive)
	End int64 `json:"end,omitempty" yaml:"end,omitempty"`
}

func (*RateLimit_Action_HeaderValueMatch_HeaderMatcher_Int64Range) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action_HeaderValueMatch_HeaderMatcher_Int64Range.

func (*RateLimit_Action_HeaderValueMatch_HeaderMatcher_Int64Range) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action_HeaderValueMatch_HeaderMatcher_RegexMatcher

type RateLimit_Action_HeaderValueMatch_HeaderMatcher_RegexMatcher struct {
	Regex string `json:"regex,omitempty" yaml:"regex,omitempty"`
}

func (*RateLimit_Action_HeaderValueMatch_HeaderMatcher_RegexMatcher) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action_HeaderValueMatch_HeaderMatcher_RegexMatcher.

func (*RateLimit_Action_HeaderValueMatch_HeaderMatcher_RegexMatcher) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action_RemoteAddress

type RateLimit_Action_RemoteAddress struct{}

func (*RateLimit_Action_RemoteAddress) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action_RemoteAddress.

func (*RateLimit_Action_RemoteAddress) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action_RequestHeaders

type RateLimit_Action_RequestHeaders struct {
	// The header name to be queried from the request headers. The header’s
	// value is used to populate the value of the descriptor entry for the
	// descriptor_key.
	HeaderName string `json:"header_name,omitempty" yaml:"header_name,omitempty"`
	// The key to use in the descriptor entry.
	DescriptorKey string `json:"descriptor_key,omitempty" yaml:"descriptor_key,omitempty"`
	// If set to true, Envoy skips the descriptor while calling rate limiting service
	// when header is not present in the request. By default it skips calling the
	// rate limiting service if this header is not present in the request.
	SkipIfAbsent bool `json:"skip_if_absent,omitempty" yaml:"skip_if_absent,omitempty"`
}

func (*RateLimit_Action_RequestHeaders) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action_RequestHeaders.

func (*RateLimit_Action_RequestHeaders) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimit_Action_SourceCluster

type RateLimit_Action_SourceCluster struct{}

func (*RateLimit_Action_SourceCluster) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimit_Action_SourceCluster.

func (*RateLimit_Action_SourceCluster) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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