Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha3 version of the API.
Package v1alpha1 contains API Schema definitions for the gateway.flomesh.io v1alpha1 API group
Index ¶
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type AccessControlConfig
- type AccessControlPolicy
- type AccessControlPolicyList
- type AccessControlPolicySpec
- type AccessControlPolicyStatus
- type CircuitBreakingConfig
- type CircuitBreakingPolicy
- type CircuitBreakingPolicyList
- type CircuitBreakingPolicySpec
- type CircuitBreakingPolicyStatus
- type FaultInjectionAbort
- type FaultInjectionConfig
- type FaultInjectionDelay
- type FaultInjectionPolicy
- type FaultInjectionPolicyList
- type FaultInjectionPolicySpec
- type FaultInjectionPolicyStatus
- type FaultInjectionRange
- type GRPCAccessControl
- type GRPCFaultInjection
- type GRPCRateLimit
- type HTTPAccessControl
- type HTTPFaultInjection
- type HTTPRateLimit
- type HealthCheckConfig
- type HealthCheckMatch
- type HealthCheckPolicy
- type HealthCheckPolicyList
- type HealthCheckPolicySpec
- type HealthCheckPolicyStatus
- type HostnameAccessControl
- type HostnameFaultInjection
- type HostnameRateLimit
- type L7RateLimit
- type LoadBalancerPolicy
- type LoadBalancerPolicyList
- type LoadBalancerPolicySpec
- type LoadBalancerPolicyStatus
- type LoadBalancerType
- type PortAccessControl
- type PortCircuitBreaking
- type PortHealthCheck
- type PortLoadBalancer
- type PortRateLimit
- type PortSessionSticky
- type RateLimitPolicy
- type RateLimitPolicyList
- type RateLimitPolicyMode
- type RateLimitPolicySpec
- type RateLimitPolicyStatus
- type SessionStickyConfig
- type SessionStickyPolicy
- type SessionStickyPolicyList
- type SessionStickyPolicySpec
- type SessionStickyPolicyStatus
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register MeshConfig SchemeGroupVersion = schema.GroupVersion{ Group: "gateway.flomesh.io", Version: "v1alpha1", } // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme adds all Resources to the Scheme AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AccessControlConfig ¶
type AccessControlConfig struct { // +optional // +kubebuilder:validation:MaxItems=256 // Blacklist is the list of IP addresses to be blacklisted Blacklist []string `json:"blacklist,omitempty"` // +optional // +kubebuilder:validation:MaxItems=256 // Whitelist is the list of IP addresses to be whitelisted Whitelist []string `json:"whitelist,omitempty"` // +optional // +kubebuilder:default=false // EnableXFF is the flag to enable X-Forwarded-For header EnableXFF *bool `json:"enableXFF,omitempty"` // +optional // +kubebuilder:default=403 // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10000 // StatusCode is the response status code to be returned when the access control is exceeded StatusCode *int32 `json:"statusCode,omitempty"` // +optional // +kubebuilder:default="" // Message is the response message to be returned when the access control is exceeded Message *string `json:"message,omitempty"` }
AccessControlConfig defines the access control configuration for a route
func (*AccessControlConfig) DeepCopy ¶
func (in *AccessControlConfig) DeepCopy() *AccessControlConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlConfig.
func (*AccessControlConfig) DeepCopyInto ¶
func (in *AccessControlConfig) DeepCopyInto(out *AccessControlConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicy ¶
type AccessControlPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AccessControlPolicySpec `json:"spec,omitempty"` Status AccessControlPolicyStatus `json:"status,omitempty"` }
AccessControlPolicy is the Schema for the AccessControlPolicy API
func (*AccessControlPolicy) DeepCopy ¶
func (in *AccessControlPolicy) DeepCopy() *AccessControlPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicy.
func (*AccessControlPolicy) DeepCopyInto ¶
func (in *AccessControlPolicy) DeepCopyInto(out *AccessControlPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessControlPolicy) DeepCopyObject ¶
func (in *AccessControlPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccessControlPolicyList ¶
type AccessControlPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AccessControlPolicy `json:"items"` }
AccessControlPolicyList contains a list of AccessControlPolicy
func (*AccessControlPolicyList) DeepCopy ¶
func (in *AccessControlPolicyList) DeepCopy() *AccessControlPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyList.
func (*AccessControlPolicyList) DeepCopyInto ¶
func (in *AccessControlPolicyList) DeepCopyInto(out *AccessControlPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AccessControlPolicyList) DeepCopyObject ¶
func (in *AccessControlPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AccessControlPolicySpec ¶
type AccessControlPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +optional // +kubebuilder:validation:MaxItems=16 // Ports is the access control configuration for ports Ports []PortAccessControl `json:"ports,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // Hostnames is the access control configuration for hostnames Hostnames []HostnameAccessControl `json:"hostnames,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // HTTPAccessControls is the access control configuration for HTTP routes HTTPAccessControls []HTTPAccessControl `json:"http,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // GRPCAccessControls is the access control configuration for GRPC routes GRPCAccessControls []GRPCAccessControl `json:"grpc,omitempty"` // +optional // DefaultConfig is the default access control for all ports, routes and hostnames DefaultConfig *AccessControlConfig `json:"config,omitempty"` }
AccessControlPolicySpec defines the desired state of AccessControlPolicy
func (*AccessControlPolicySpec) DeepCopy ¶
func (in *AccessControlPolicySpec) DeepCopy() *AccessControlPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicySpec.
func (*AccessControlPolicySpec) DeepCopyInto ¶
func (in *AccessControlPolicySpec) DeepCopyInto(out *AccessControlPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AccessControlPolicyStatus ¶
type AccessControlPolicyStatus struct { // Conditions describe the current conditions of the AccessControlPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
AccessControlPolicyStatus defines the observed state of AccessControlPolicy
func (*AccessControlPolicyStatus) DeepCopy ¶
func (in *AccessControlPolicyStatus) DeepCopy() *AccessControlPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AccessControlPolicyStatus.
func (*AccessControlPolicyStatus) DeepCopyInto ¶
func (in *AccessControlPolicyStatus) DeepCopyInto(out *AccessControlPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CircuitBreakingConfig ¶
type CircuitBreakingConfig struct { // +kubebuilder:validation:Minimum=1 // MinRequestAmount is the minimum number of requests in the StatTimeWindow MinRequestAmount int32 `json:"minRequestAmount"` // +kubebuilder:validation:Minimum=1 // StatTimeWindow is the time window in seconds to collect statistics StatTimeWindow int32 `json:"statTimeWindow"` // +optional // +kubebuilder:validation:Minimum=0.0001 // SlowTimeThreshold is the threshold in seconds to determine a slow request SlowTimeThreshold *float32 `json:"slowTimeThreshold,omitempty"` // +optional // +kubebuilder:validation:Minimum=1 // SlowAmountThreshold is the threshold of slow requests in the StatTimeWindow to trigger circuit breaking SlowAmountThreshold *int32 `json:"slowAmountThreshold,omitempty"` // +optional // +kubebuilder:validation:Minimum=0.00 // +kubebuilder:validation:Maximum=1.00 // SlowRatioThreshold is the threshold of slow requests ratio in the StatTimeWindow to trigger circuit breaking SlowRatioThreshold *float32 `json:"slowRatioThreshold,omitempty"` // +optional // +kubebuilder:validation:Minimum=1 // ErrorAmountThreshold is the threshold of error requests in the StatTimeWindow to trigger circuit breaking ErrorAmountThreshold *int32 `json:"errorAmountThreshold,omitempty"` // +optional // +kubebuilder:validation:Minimum=0.00 // +kubebuilder:validation:Maximum=1.00 // ErrorRatioThreshold is the threshold of error requests ratio in the StatTimeWindow to trigger circuit breaking ErrorRatioThreshold *float32 `json:"errorRatioThreshold,omitempty"` // +kubebuilder:validation:Minimum=1 // DegradedTimeWindow is the time window in seconds to degrade the service DegradedTimeWindow int32 `json:"degradedTimeWindow"` // +kubebuilder:default=503 // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10000 // DegradedStatusCode is the status code to return when the service is degraded DegradedStatusCode int32 `json:"degradedStatusCode"` // +optional // DegradedResponseContent is the response content to return when the service is degraded DegradedResponseContent *string `json:"degradedResponseContent,omitempty"` }
func (*CircuitBreakingConfig) DeepCopy ¶
func (in *CircuitBreakingConfig) DeepCopy() *CircuitBreakingConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingConfig.
func (*CircuitBreakingConfig) DeepCopyInto ¶
func (in *CircuitBreakingConfig) DeepCopyInto(out *CircuitBreakingConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CircuitBreakingPolicy ¶
type CircuitBreakingPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CircuitBreakingPolicySpec `json:"spec,omitempty"` Status CircuitBreakingPolicyStatus `json:"status,omitempty"` }
CircuitBreakingPolicy is the Schema for the CircuitBreakingPolicy API
func (*CircuitBreakingPolicy) DeepCopy ¶
func (in *CircuitBreakingPolicy) DeepCopy() *CircuitBreakingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingPolicy.
func (*CircuitBreakingPolicy) DeepCopyInto ¶
func (in *CircuitBreakingPolicy) DeepCopyInto(out *CircuitBreakingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CircuitBreakingPolicy) DeepCopyObject ¶
func (in *CircuitBreakingPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CircuitBreakingPolicyList ¶
type CircuitBreakingPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []CircuitBreakingPolicy `json:"items"` }
CircuitBreakingPolicyList contains a list of CircuitBreakingPolicy
func (*CircuitBreakingPolicyList) DeepCopy ¶
func (in *CircuitBreakingPolicyList) DeepCopy() *CircuitBreakingPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingPolicyList.
func (*CircuitBreakingPolicyList) DeepCopyInto ¶
func (in *CircuitBreakingPolicyList) DeepCopyInto(out *CircuitBreakingPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CircuitBreakingPolicyList) DeepCopyObject ¶
func (in *CircuitBreakingPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CircuitBreakingPolicySpec ¶
type CircuitBreakingPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // Ports is the circuit breaking configuration for ports Ports []PortCircuitBreaking `json:"ports,omitempty"` // +optional // DefaultConfig is the default circuit breaking configuration for all ports DefaultConfig *CircuitBreakingConfig `json:"config,omitempty"` }
CircuitBreakingPolicySpec defines the desired state of CircuitBreakingPolicy
func (*CircuitBreakingPolicySpec) DeepCopy ¶
func (in *CircuitBreakingPolicySpec) DeepCopy() *CircuitBreakingPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingPolicySpec.
func (*CircuitBreakingPolicySpec) DeepCopyInto ¶
func (in *CircuitBreakingPolicySpec) DeepCopyInto(out *CircuitBreakingPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CircuitBreakingPolicyStatus ¶
type CircuitBreakingPolicyStatus struct { // Conditions describe the current conditions of the CircuitBreakingPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
CircuitBreakingPolicyStatus defines the observed state of CircuitBreakingPolicy
func (*CircuitBreakingPolicyStatus) DeepCopy ¶
func (in *CircuitBreakingPolicyStatus) DeepCopy() *CircuitBreakingPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CircuitBreakingPolicyStatus.
func (*CircuitBreakingPolicyStatus) DeepCopyInto ¶
func (in *CircuitBreakingPolicyStatus) DeepCopyInto(out *CircuitBreakingPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FaultInjectionAbort ¶
type FaultInjectionAbort struct { // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=100 // Percent is the percentage of requests to abort Percent int32 `json:"percent,omitempty"` // +optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10000 // StatusCode is the HTTP status code to return for the aborted request StatusCode *int32 `json:"statusCode,omitempty"` // +optional // Message is the HTTP status message to return for the aborted request Message *string `json:"message,omitempty"` }
FaultInjectionAbort defines the abort configuration
func (*FaultInjectionAbort) DeepCopy ¶
func (in *FaultInjectionAbort) DeepCopy() *FaultInjectionAbort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionAbort.
func (*FaultInjectionAbort) DeepCopyInto ¶
func (in *FaultInjectionAbort) DeepCopyInto(out *FaultInjectionAbort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FaultInjectionConfig ¶
type FaultInjectionConfig struct { // +optional // Delay defines the delay configuration Delay *FaultInjectionDelay `json:"delay,omitempty"` // +optional // Abort defines the abort configuration Abort *FaultInjectionAbort `json:"abort,omitempty"` }
FaultInjectionConfig defines the access control configuration for a route
func (*FaultInjectionConfig) DeepCopy ¶
func (in *FaultInjectionConfig) DeepCopy() *FaultInjectionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionConfig.
func (*FaultInjectionConfig) DeepCopyInto ¶
func (in *FaultInjectionConfig) DeepCopyInto(out *FaultInjectionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FaultInjectionDelay ¶
type FaultInjectionDelay struct { // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=100 // Percent is the percentage of requests to delay Percent int32 `json:"percent,omitempty"` // +optional // +kubebuilder:validation:Minimum=0 // Fixed is the fixed delay duration, default Unit is ms Fixed *int64 `json:"fixed,omitempty"` // +optional // Range is the range of delay duration Range *FaultInjectionRange `json:"range,omitempty"` // +optional // +kubebuilder:validation:Enum=ms;s;m;h;d // +kubebuilder:default=ms // Unit is the unit of delay duration, default Unit is ms Unit *string `json:"unit,omitempty"` }
FaultInjectionDelay defines the delay configuration
func (*FaultInjectionDelay) DeepCopy ¶
func (in *FaultInjectionDelay) DeepCopy() *FaultInjectionDelay
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionDelay.
func (*FaultInjectionDelay) DeepCopyInto ¶
func (in *FaultInjectionDelay) DeepCopyInto(out *FaultInjectionDelay)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FaultInjectionPolicy ¶
type FaultInjectionPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FaultInjectionPolicySpec `json:"spec,omitempty"` Status FaultInjectionPolicyStatus `json:"status,omitempty"` }
FaultInjectionPolicy is the Schema for the FaultInjectionPolicy API
func (*FaultInjectionPolicy) DeepCopy ¶
func (in *FaultInjectionPolicy) DeepCopy() *FaultInjectionPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicy.
func (*FaultInjectionPolicy) DeepCopyInto ¶
func (in *FaultInjectionPolicy) DeepCopyInto(out *FaultInjectionPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FaultInjectionPolicy) DeepCopyObject ¶
func (in *FaultInjectionPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FaultInjectionPolicyList ¶
type FaultInjectionPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FaultInjectionPolicy `json:"items"` }
FaultInjectionPolicyList contains a list of FaultInjectionPolicy
func (*FaultInjectionPolicyList) DeepCopy ¶
func (in *FaultInjectionPolicyList) DeepCopy() *FaultInjectionPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyList.
func (*FaultInjectionPolicyList) DeepCopyInto ¶
func (in *FaultInjectionPolicyList) DeepCopyInto(out *FaultInjectionPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FaultInjectionPolicyList) DeepCopyObject ¶
func (in *FaultInjectionPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FaultInjectionPolicySpec ¶
type FaultInjectionPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +optional // +kubebuilder:validation:MaxItems=16 // Hostnames is the access control configuration for hostnames Hostnames []HostnameFaultInjection `json:"hostnames,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // HTTPFaultInjections is the access control configuration for HTTP routes HTTPFaultInjections []HTTPFaultInjection `json:"http,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // GRPCFaultInjections is the access control configuration for GRPC routes GRPCFaultInjections []GRPCFaultInjection `json:"grpc,omitempty"` // +optional // DefaultConfig is the default access control for all ports, routes and hostnames DefaultConfig *FaultInjectionConfig `json:"config,omitempty"` // +optional // +kubebuilder:validation:Enum=ms;s;m;h;d // +kubebuilder:default=ms // Unit is the unit of delay duration, default Unit is ms Unit *string `json:"unit,omitempty"` }
FaultInjectionPolicySpec defines the desired state of FaultInjectionPolicy
func (*FaultInjectionPolicySpec) DeepCopy ¶
func (in *FaultInjectionPolicySpec) DeepCopy() *FaultInjectionPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicySpec.
func (*FaultInjectionPolicySpec) DeepCopyInto ¶
func (in *FaultInjectionPolicySpec) DeepCopyInto(out *FaultInjectionPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FaultInjectionPolicyStatus ¶
type FaultInjectionPolicyStatus struct { // Conditions describe the current conditions of the FaultInjectionPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
FaultInjectionPolicyStatus defines the observed state of FaultInjectionPolicy
func (*FaultInjectionPolicyStatus) DeepCopy ¶
func (in *FaultInjectionPolicyStatus) DeepCopy() *FaultInjectionPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionPolicyStatus.
func (*FaultInjectionPolicyStatus) DeepCopyInto ¶
func (in *FaultInjectionPolicyStatus) DeepCopyInto(out *FaultInjectionPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FaultInjectionRange ¶
type FaultInjectionRange struct { // +kubebuilder:validation:Minimum=0 // Min is the minimum value of the range, default Unit is ms Min int64 `json:"min"` // +kubebuilder:validation:Minimum=1 // Max is the maximum value of the range, default Unit is ms Max int64 `json:"max"` }
func (*FaultInjectionRange) DeepCopy ¶
func (in *FaultInjectionRange) DeepCopy() *FaultInjectionRange
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FaultInjectionRange.
func (*FaultInjectionRange) DeepCopyInto ¶
func (in *FaultInjectionRange) DeepCopyInto(out *FaultInjectionRange)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GRPCAccessControl ¶
type GRPCAccessControl struct { // Match is the match condition for the GRPC route Match gwv1alpha2.GRPCRouteMatch `json:"match"` // +optional // Config is the access control configuration for the GRPC route Config *AccessControlConfig `json:"config,omitempty"` }
GRPCAccessControl defines the access control configuration for a GRPC route
func (*GRPCAccessControl) DeepCopy ¶
func (in *GRPCAccessControl) DeepCopy() *GRPCAccessControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCAccessControl.
func (*GRPCAccessControl) DeepCopyInto ¶
func (in *GRPCAccessControl) DeepCopyInto(out *GRPCAccessControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GRPCFaultInjection ¶
type GRPCFaultInjection struct { // Match is the match condition for the GRPC route Match gwv1alpha2.GRPCRouteMatch `json:"match"` // +optional // Config is the access control configuration for the GRPC route Config *FaultInjectionConfig `json:"config,omitempty"` }
GRPCFaultInjection defines the access control configuration for a GRPC route
func (*GRPCFaultInjection) DeepCopy ¶
func (in *GRPCFaultInjection) DeepCopy() *GRPCFaultInjection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCFaultInjection.
func (*GRPCFaultInjection) DeepCopyInto ¶
func (in *GRPCFaultInjection) DeepCopyInto(out *GRPCFaultInjection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GRPCRateLimit ¶
type GRPCRateLimit struct { // Match is the match condition for the GRPC route Match gwv1alpha2.GRPCRouteMatch `json:"match"` // +optional // RateLimit is the rate limit configuration for the GRPC route RateLimit *L7RateLimit `json:"rateLimit,omitempty"` }
GRPCRateLimit defines the rate limit configuration for a GRPC route
func (*GRPCRateLimit) DeepCopy ¶
func (in *GRPCRateLimit) DeepCopy() *GRPCRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCRateLimit.
func (*GRPCRateLimit) DeepCopyInto ¶
func (in *GRPCRateLimit) DeepCopyInto(out *GRPCRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPAccessControl ¶
type HTTPAccessControl struct { // Match is the match condition for the HTTP route Match gwv1beta1.HTTPRouteMatch `json:"match"` // +optional // Config is the access control configuration for the HTTP route Config *AccessControlConfig `json:"config,omitempty"` }
HTTPAccessControl defines the access control configuration for a HTTP route
func (*HTTPAccessControl) DeepCopy ¶
func (in *HTTPAccessControl) DeepCopy() *HTTPAccessControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPAccessControl.
func (*HTTPAccessControl) DeepCopyInto ¶
func (in *HTTPAccessControl) DeepCopyInto(out *HTTPAccessControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPFaultInjection ¶
type HTTPFaultInjection struct { // Match is the match condition for the HTTP route Match gwv1beta1.HTTPRouteMatch `json:"match"` // +optional // Config is the access control configuration for the HTTP route Config *FaultInjectionConfig `json:"config,omitempty"` }
HTTPFaultInjection defines the access control configuration for a HTTP route
func (*HTTPFaultInjection) DeepCopy ¶
func (in *HTTPFaultInjection) DeepCopy() *HTTPFaultInjection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPFaultInjection.
func (*HTTPFaultInjection) DeepCopyInto ¶
func (in *HTTPFaultInjection) DeepCopyInto(out *HTTPFaultInjection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HTTPRateLimit ¶
type HTTPRateLimit struct { // Match is the match condition for the HTTP route Match gwv1beta1.HTTPRouteMatch `json:"match"` // +optional // RateLimit is the rate limit configuration for the HTTP route RateLimit *L7RateLimit `json:"rateLimit,omitempty"` }
HTTPRateLimit defines the rate limit configuration for a HTTP route
func (*HTTPRateLimit) DeepCopy ¶
func (in *HTTPRateLimit) DeepCopy() *HTTPRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPRateLimit.
func (*HTTPRateLimit) DeepCopyInto ¶
func (in *HTTPRateLimit) DeepCopyInto(out *HTTPRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckConfig ¶
type HealthCheckConfig struct { // +kubebuilder:validation:Minimum=1 // Interval is the interval in seconds to check the health of the service Interval int32 `json:"interval"` // +kubebuilder:validation:Minimum=0 // MaxFails is the maximum number of consecutive failed health checks before considering the service as unhealthy MaxFails int32 `json:"maxFails"` // +optional // +kubebuilder:validation:Minimum=0 // FailTimeout is the time in seconds before considering the service as healthy if it's marked as unhealthy, even if it's already healthy FailTimeout *int32 `json:"failTimeout,omitempty"` // +optional // Path is the path to check the health of the HTTP service, if it's not set, the health check will be TCP based Path *string `json:"path,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // Matches is the list of health check match conditions of HTTP service Matches []HealthCheckMatch `json:"matches,omitempty"` }
func (*HealthCheckConfig) DeepCopy ¶
func (in *HealthCheckConfig) DeepCopy() *HealthCheckConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckConfig.
func (*HealthCheckConfig) DeepCopyInto ¶
func (in *HealthCheckConfig) DeepCopyInto(out *HealthCheckConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckMatch ¶
type HealthCheckMatch struct { // +optional // +kubebuilder:validation:MaxItems=16 // StatusCodes is the list of status codes to match StatusCodes []int32 `json:"statusCodes,omitempty"` // +optional // Body is the content of response body to match Body *string `json:"body,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // Headers is the list of response headers to match Headers []gwv1beta1.HTTPHeader `json:"headers,omitempty"` }
func (*HealthCheckMatch) DeepCopy ¶
func (in *HealthCheckMatch) DeepCopy() *HealthCheckMatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckMatch.
func (*HealthCheckMatch) DeepCopyInto ¶
func (in *HealthCheckMatch) DeepCopyInto(out *HealthCheckMatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckPolicy ¶
type HealthCheckPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HealthCheckPolicySpec `json:"spec,omitempty"` Status HealthCheckPolicyStatus `json:"status,omitempty"` }
HealthCheckPolicy is the Schema for the HealthCheckPolicy API
func (*HealthCheckPolicy) DeepCopy ¶
func (in *HealthCheckPolicy) DeepCopy() *HealthCheckPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPolicy.
func (*HealthCheckPolicy) DeepCopyInto ¶
func (in *HealthCheckPolicy) DeepCopyInto(out *HealthCheckPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckPolicy) DeepCopyObject ¶
func (in *HealthCheckPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckPolicyList ¶
type HealthCheckPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HealthCheckPolicy `json:"items"` }
HealthCheckPolicyList contains a list of HealthCheckPolicy
func (*HealthCheckPolicyList) DeepCopy ¶
func (in *HealthCheckPolicyList) DeepCopy() *HealthCheckPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPolicyList.
func (*HealthCheckPolicyList) DeepCopyInto ¶
func (in *HealthCheckPolicyList) DeepCopyInto(out *HealthCheckPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HealthCheckPolicyList) DeepCopyObject ¶
func (in *HealthCheckPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HealthCheckPolicySpec ¶
type HealthCheckPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // Ports is the health check configuration for ports Ports []PortHealthCheck `json:"ports,omitempty"` // +optional // DefaultConfig is the default health check configuration for all ports DefaultConfig *HealthCheckConfig `json:"config,omitempty"` }
HealthCheckPolicySpec defines the desired state of HealthCheckPolicy
func (*HealthCheckPolicySpec) DeepCopy ¶
func (in *HealthCheckPolicySpec) DeepCopy() *HealthCheckPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPolicySpec.
func (*HealthCheckPolicySpec) DeepCopyInto ¶
func (in *HealthCheckPolicySpec) DeepCopyInto(out *HealthCheckPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheckPolicyStatus ¶
type HealthCheckPolicyStatus struct { // Conditions describe the current conditions of the HealthCheckPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
HealthCheckPolicyStatus defines the observed state of HealthCheckPolicy
func (*HealthCheckPolicyStatus) DeepCopy ¶
func (in *HealthCheckPolicyStatus) DeepCopy() *HealthCheckPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheckPolicyStatus.
func (*HealthCheckPolicyStatus) DeepCopyInto ¶
func (in *HealthCheckPolicyStatus) DeepCopyInto(out *HealthCheckPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostnameAccessControl ¶
type HostnameAccessControl struct { // Hostname is the hostname for matching the access control Hostname gwv1beta1.Hostname `json:"hostname"` // +optional // Config is the access control configuration for the hostname Config *AccessControlConfig `json:"config,omitempty"` }
HostnameAccessControl defines the access control configuration for a hostname
func (*HostnameAccessControl) DeepCopy ¶
func (in *HostnameAccessControl) DeepCopy() *HostnameAccessControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostnameAccessControl.
func (*HostnameAccessControl) DeepCopyInto ¶
func (in *HostnameAccessControl) DeepCopyInto(out *HostnameAccessControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostnameFaultInjection ¶
type HostnameFaultInjection struct { // Hostname is the hostname for matching the access control Hostname gwv1beta1.Hostname `json:"hostname"` // +optional // Config is the access control configuration for the hostname Config *FaultInjectionConfig `json:"config,omitempty"` }
HostnameFaultInjection defines the access control configuration for a hostname
func (*HostnameFaultInjection) DeepCopy ¶
func (in *HostnameFaultInjection) DeepCopy() *HostnameFaultInjection
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostnameFaultInjection.
func (*HostnameFaultInjection) DeepCopyInto ¶
func (in *HostnameFaultInjection) DeepCopyInto(out *HostnameFaultInjection)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostnameRateLimit ¶
type HostnameRateLimit struct { // Hostname is the hostname for matching the rate limit Hostname gwv1beta1.Hostname `json:"hostname"` // +optional // RateLimit is the rate limit configuration for the hostname RateLimit *L7RateLimit `json:"rateLimit,omitempty"` }
HostnameRateLimit defines the rate limit configuration for a hostname
func (*HostnameRateLimit) DeepCopy ¶
func (in *HostnameRateLimit) DeepCopy() *HostnameRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostnameRateLimit.
func (*HostnameRateLimit) DeepCopyInto ¶
func (in *HostnameRateLimit) DeepCopyInto(out *HostnameRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type L7RateLimit ¶
type L7RateLimit struct { // +optional // +kubebuilder:default=Local // +kubebuilder:validation:Enum=Local;Global // Mode is the mode of the rate limit policy, Local or Global, default is Local Mode *RateLimitPolicyMode `json:"mode"` // +optional // +kubebuilder:default=10 // +kubebuilder:validation:Minimum=1 // Backlog is the number of requests allowed to wait in the queue Backlog *int32 `json:"backlog,omitempty"` // Requests is the number of requests allowed per statTimeWindow // +kubebuilder:validation:Minimum=1 Requests int32 `json:"requests"` // +optional // +kubebuilder:validation:Minimum=1 // Burst is the number of requests allowed to be bursted, if not specified, it will be the same as Requests Burst *int32 `json:"burst,omitempty"` // +kubebuilder:validation:Minimum=1 // StatTimeWindow is the time window in seconds StatTimeWindow int32 `json:"statTimeWindow"` // +optional // +kubebuilder:default=429 // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=10000 // ResponseStatusCode is the response status code to be returned when the rate limit is exceeded ResponseStatusCode *int32 `json:"responseStatusCode"` // +optional // +kubebuilder:validation:MaxItems=16 // ResponseHeadersToAdd is the response headers to be added when the rate limit is exceeded ResponseHeadersToAdd []gwv1beta1.HTTPHeader `json:"responseHeadersToAdd,omitempty"` }
L7RateLimit defines the rate limit configuration for a route
func (*L7RateLimit) DeepCopy ¶
func (in *L7RateLimit) DeepCopy() *L7RateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new L7RateLimit.
func (*L7RateLimit) DeepCopyInto ¶
func (in *L7RateLimit) DeepCopyInto(out *L7RateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerPolicy ¶
type LoadBalancerPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LoadBalancerPolicySpec `json:"spec,omitempty"` Status LoadBalancerPolicyStatus `json:"status,omitempty"` }
LoadBalancerPolicy is the Schema for the LoadBalancerPolicy API
func (*LoadBalancerPolicy) DeepCopy ¶
func (in *LoadBalancerPolicy) DeepCopy() *LoadBalancerPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerPolicy.
func (*LoadBalancerPolicy) DeepCopyInto ¶
func (in *LoadBalancerPolicy) DeepCopyInto(out *LoadBalancerPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancerPolicy) DeepCopyObject ¶
func (in *LoadBalancerPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerPolicyList ¶
type LoadBalancerPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LoadBalancerPolicy `json:"items"` }
LoadBalancerPolicyList contains a list of LoadBalancerPolicy
func (*LoadBalancerPolicyList) DeepCopy ¶
func (in *LoadBalancerPolicyList) DeepCopy() *LoadBalancerPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerPolicyList.
func (*LoadBalancerPolicyList) DeepCopyInto ¶
func (in *LoadBalancerPolicyList) DeepCopyInto(out *LoadBalancerPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancerPolicyList) DeepCopyObject ¶
func (in *LoadBalancerPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerPolicySpec ¶
type LoadBalancerPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // Ports is the load balancer configuration for ports Ports []PortLoadBalancer `json:"ports,omitempty"` // +optional // +kubebuilder:default=RoundRobinLoadBalancer // +kubebuilder:validation:Enum=RoundRobinLoadBalancer;HashingLoadBalancer;LeastConnectionLoadBalancer // DefaultType is the default type of the load balancer for all ports DefaultType *LoadBalancerType `json:"type,omitempty"` }
LoadBalancerPolicySpec defines the desired state of LoadBalancerPolicy
func (*LoadBalancerPolicySpec) DeepCopy ¶
func (in *LoadBalancerPolicySpec) DeepCopy() *LoadBalancerPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerPolicySpec.
func (*LoadBalancerPolicySpec) DeepCopyInto ¶
func (in *LoadBalancerPolicySpec) DeepCopyInto(out *LoadBalancerPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerPolicyStatus ¶
type LoadBalancerPolicyStatus struct { // Conditions describe the current conditions of the LoadBalancerPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
LoadBalancerPolicyStatus defines the observed state of LoadBalancerPolicy
func (*LoadBalancerPolicyStatus) DeepCopy ¶
func (in *LoadBalancerPolicyStatus) DeepCopy() *LoadBalancerPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerPolicyStatus.
func (*LoadBalancerPolicyStatus) DeepCopyInto ¶
func (in *LoadBalancerPolicyStatus) DeepCopyInto(out *LoadBalancerPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerType ¶
type LoadBalancerType string
const ( RoundRobinLoadBalancer LoadBalancerType = "RoundRobinLoadBalancer" HashingLoadBalancer LoadBalancerType = "HashingLoadBalancer" LeastConnectionLoadBalancer LoadBalancerType = "LeastConnectionLoadBalancer" )
type PortAccessControl ¶
type PortAccessControl struct { // Port is the port number for matching the access control Port gwv1beta1.PortNumber `json:"port"` // +optional // Config is the access control configuration for the port Config *AccessControlConfig `json:"config,omitempty"` }
PortAccessControl defines the access control configuration for a port
func (*PortAccessControl) DeepCopy ¶
func (in *PortAccessControl) DeepCopy() *PortAccessControl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortAccessControl.
func (*PortAccessControl) DeepCopyInto ¶
func (in *PortAccessControl) DeepCopyInto(out *PortAccessControl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortCircuitBreaking ¶
type PortCircuitBreaking struct { // Port is the port number of the target service Port gwv1beta1.PortNumber `json:"port"` // +optional // Config is the circuit breaking configuration for the port Config *CircuitBreakingConfig `json:"config,omitempty"` }
func (*PortCircuitBreaking) DeepCopy ¶
func (in *PortCircuitBreaking) DeepCopy() *PortCircuitBreaking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortCircuitBreaking.
func (*PortCircuitBreaking) DeepCopyInto ¶
func (in *PortCircuitBreaking) DeepCopyInto(out *PortCircuitBreaking)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortHealthCheck ¶
type PortHealthCheck struct { // Port is the port number of the target service Port gwv1beta1.PortNumber `json:"port"` // +optional // Config is the health check configuration for the port Config *HealthCheckConfig `json:"config,omitempty"` }
func (*PortHealthCheck) DeepCopy ¶
func (in *PortHealthCheck) DeepCopy() *PortHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortHealthCheck.
func (*PortHealthCheck) DeepCopyInto ¶
func (in *PortHealthCheck) DeepCopyInto(out *PortHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortLoadBalancer ¶
type PortLoadBalancer struct { // Port is the port number for matching the load balancer Port gwv1beta1.PortNumber `json:"port"` // +optional // +kubebuilder:default=RoundRobinLoadBalancer // +kubebuilder:validation:Enum=RoundRobinLoadBalancer;HashingLoadBalancer;LeastConnectionLoadBalancer // Type is the type of the load balancer Type *LoadBalancerType `json:"type,omitempty"` }
PortLoadBalancer defines the load balancer configuration for a port
func (*PortLoadBalancer) DeepCopy ¶
func (in *PortLoadBalancer) DeepCopy() *PortLoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortLoadBalancer.
func (*PortLoadBalancer) DeepCopyInto ¶
func (in *PortLoadBalancer) DeepCopyInto(out *PortLoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortRateLimit ¶
type PortRateLimit struct { // Port is the port number for matching the rate limit Port gwv1beta1.PortNumber `json:"port"` // +optional // +kubebuilder:validation:Minimum=1 // BPS is the rate limit in bytes per second for the port BPS *int64 `json:"bps,omitempty"` }
PortRateLimit defines the rate limit configuration for a port
func (*PortRateLimit) DeepCopy ¶
func (in *PortRateLimit) DeepCopy() *PortRateLimit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRateLimit.
func (*PortRateLimit) DeepCopyInto ¶
func (in *PortRateLimit) DeepCopyInto(out *PortRateLimit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PortSessionSticky ¶
type PortSessionSticky struct { // Port is the port number of the target service Port gwv1beta1.PortNumber `json:"port"` // +optional // Config is the session sticky configuration for the port Config *SessionStickyConfig `json:"config,omitempty"` }
PortSessionSticky defines the session sticky configuration for a port
func (*PortSessionSticky) DeepCopy ¶
func (in *PortSessionSticky) DeepCopy() *PortSessionSticky
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortSessionSticky.
func (*PortSessionSticky) DeepCopyInto ¶
func (in *PortSessionSticky) DeepCopyInto(out *PortSessionSticky)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitPolicy ¶
type RateLimitPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RateLimitPolicySpec `json:"spec,omitempty"` Status RateLimitPolicyStatus `json:"status,omitempty"` }
RateLimitPolicy is the Schema for the RateLimitPolicy API
func (*RateLimitPolicy) DeepCopy ¶
func (in *RateLimitPolicy) DeepCopy() *RateLimitPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitPolicy.
func (*RateLimitPolicy) DeepCopyInto ¶
func (in *RateLimitPolicy) DeepCopyInto(out *RateLimitPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitPolicy) DeepCopyObject ¶
func (in *RateLimitPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RateLimitPolicyList ¶
type RateLimitPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RateLimitPolicy `json:"items"` }
RateLimitPolicyList contains a list of RateLimitPolicy
func (*RateLimitPolicyList) DeepCopy ¶
func (in *RateLimitPolicyList) DeepCopy() *RateLimitPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitPolicyList.
func (*RateLimitPolicyList) DeepCopyInto ¶
func (in *RateLimitPolicyList) DeepCopyInto(out *RateLimitPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitPolicyList) DeepCopyObject ¶
func (in *RateLimitPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RateLimitPolicyMode ¶
type RateLimitPolicyMode string
const ( // RateLimitPolicyModeLocal is the local mode RateLimitPolicyModeLocal RateLimitPolicyMode = "Local" // RateLimitPolicyModeGlobal is the global mode RateLimitPolicyModeGlobal RateLimitPolicyMode = "Global" )
type RateLimitPolicySpec ¶
type RateLimitPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +optional // +kubebuilder:validation:MaxItems=16 // Ports is the rate limit configuration for ports Ports []PortRateLimit `json:"ports,omitempty"` // +optional // +kubebuilder:validation:Minimum=1 // DefaultBPS is the default rate limit for all ports DefaultBPS *int64 `json:"bps,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // Hostnames is the rate limit configuration for hostnames Hostnames []HostnameRateLimit `json:"hostnames,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // HTTPRateLimits is the rate limit configuration for HTTP routes HTTPRateLimits []HTTPRateLimit `json:"http,omitempty"` // +optional // +kubebuilder:validation:MaxItems=16 // GRPCRateLimits is the rate limit configuration for GRPC routes GRPCRateLimits []GRPCRateLimit `json:"grpc,omitempty"` // +optional // DefaultL7RateLimit is the default rate limit for all routes and hostnames DefaultL7RateLimit *L7RateLimit `json:"rateLimit,omitempty"` }
RateLimitPolicySpec defines the desired state of RateLimitPolicy
func (*RateLimitPolicySpec) DeepCopy ¶
func (in *RateLimitPolicySpec) DeepCopy() *RateLimitPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitPolicySpec.
func (*RateLimitPolicySpec) DeepCopyInto ¶
func (in *RateLimitPolicySpec) DeepCopyInto(out *RateLimitPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitPolicyStatus ¶
type RateLimitPolicyStatus struct { // Conditions describe the current conditions of the RateLimitPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
RateLimitPolicyStatus defines the observed state of RateLimitPolicy
func (*RateLimitPolicyStatus) DeepCopy ¶
func (in *RateLimitPolicyStatus) DeepCopy() *RateLimitPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitPolicyStatus.
func (*RateLimitPolicyStatus) DeepCopyInto ¶
func (in *RateLimitPolicyStatus) DeepCopyInto(out *RateLimitPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SessionStickyConfig ¶
type SessionStickyConfig struct { // +optional // +kubebuilder:default=_srv_id // CookieName is the name of the cookie used for sticky session CookieName *string `json:"cookieName,omitempty"` // +optional // +kubebuilder:default=3600 // +kubebuilder:validation:Minimum=1 // Expires is the expiration time of the cookie in seconds Expires *int32 `json:"expires,omitempty"` }
SessionStickyConfig defines the session sticky configuration
func (*SessionStickyConfig) DeepCopy ¶
func (in *SessionStickyConfig) DeepCopy() *SessionStickyConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyConfig.
func (*SessionStickyConfig) DeepCopyInto ¶
func (in *SessionStickyConfig) DeepCopyInto(out *SessionStickyConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SessionStickyPolicy ¶
type SessionStickyPolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SessionStickyPolicySpec `json:"spec,omitempty"` Status SessionStickyPolicyStatus `json:"status,omitempty"` }
SessionStickyPolicy is the Schema for the SessionStickyPolicy API
func (*SessionStickyPolicy) DeepCopy ¶
func (in *SessionStickyPolicy) DeepCopy() *SessionStickyPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyPolicy.
func (*SessionStickyPolicy) DeepCopyInto ¶
func (in *SessionStickyPolicy) DeepCopyInto(out *SessionStickyPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SessionStickyPolicy) DeepCopyObject ¶
func (in *SessionStickyPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SessionStickyPolicyList ¶
type SessionStickyPolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SessionStickyPolicy `json:"items"` }
SessionStickyPolicyList contains a list of SessionStickyPolicy
func (*SessionStickyPolicyList) DeepCopy ¶
func (in *SessionStickyPolicyList) DeepCopy() *SessionStickyPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyPolicyList.
func (*SessionStickyPolicyList) DeepCopyInto ¶
func (in *SessionStickyPolicyList) DeepCopyInto(out *SessionStickyPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SessionStickyPolicyList) DeepCopyObject ¶
func (in *SessionStickyPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SessionStickyPolicySpec ¶
type SessionStickyPolicySpec struct { // TargetRef is the reference to the target resource to which the policy is applied TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"` // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // Ports is the session sticky configuration for ports Ports []PortSessionSticky `json:"ports,omitempty"` // +optional // DefaultConfig is the default session sticky configuration for all ports DefaultConfig *SessionStickyConfig `json:"config,omitempty"` }
SessionStickyPolicySpec defines the desired state of SessionStickyPolicy
func (*SessionStickyPolicySpec) DeepCopy ¶
func (in *SessionStickyPolicySpec) DeepCopy() *SessionStickyPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyPolicySpec.
func (*SessionStickyPolicySpec) DeepCopyInto ¶
func (in *SessionStickyPolicySpec) DeepCopyInto(out *SessionStickyPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SessionStickyPolicyStatus ¶
type SessionStickyPolicyStatus struct { // Conditions describe the current conditions of the SessionStickyPolicy. // // +optional // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 Conditions []metav1.Condition `json:"conditions,omitempty"` }
SessionStickyPolicyStatus defines the observed state of SessionStickyPolicy
func (*SessionStickyPolicyStatus) DeepCopy ¶
func (in *SessionStickyPolicyStatus) DeepCopy() *SessionStickyPolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SessionStickyPolicyStatus.
func (*SessionStickyPolicyStatus) DeepCopyInto ¶
func (in *SessionStickyPolicyStatus) DeepCopyInto(out *SessionStickyPolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.