v1alpha1

package
v1.2.0-alpha.9-1 Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

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

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register MeshConfig
	SchemeGroupVersion = schema.GroupVersion{
		Group:   constants.FlomeshGatewayAPIGroup,
		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 Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

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
	// +listType=set
	// +kubebuilder:validation:MaxItems=32
	// Blacklist is the list of IP addresses to be blacklisted
	Blacklist []string `json:"blacklist,omitempty"`

	// +optional
	// +listType=set
	// +kubebuilder:validation:MaxItems=32
	// 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

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
	// +listType=map
	// +listMapKey=port
	// +kubebuilder:validation:MaxItems=16
	// Ports is the access control configuration for ports
	Ports []PortAccessControl `json:"ports,omitempty"`

	// +optional
	// +listType=map
	// +listMapKey=hostname
	// +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

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

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

func (*AccessControlPolicyStatus) DeepCopyInto

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

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

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

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

func (*CircuitBreakingPolicyList) DeepCopyInto

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"`

	// +listType=map
	// +listMapKey=port
	// +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

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

func (*CircuitBreakingPolicySpec) DeepCopyInto

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

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

func (*CircuitBreakingPolicyStatus) DeepCopyInto

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

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

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

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
	// +listType=map
	// +listMapKey=hostname
	// +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

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

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

func (*FaultInjectionPolicyStatus) DeepCopyInto

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
	// Config is the rate limit configuration for the GRPC route
	Config *L7RateLimit `json:"config,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 GatewayTLSConfig

type GatewayTLSConfig struct {
	// +optional
	// +kubebuilder:default=false
	// MTLS defines if the gateway port should use mTLS or not
	MTLS *bool `json:"mTLS,omitempty"`
}

GatewayTLSConfig defines the Gateway TLS configuration

func (*GatewayTLSConfig) DeepCopy

func (in *GatewayTLSConfig) DeepCopy() *GatewayTLSConfig

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

func (*GatewayTLSConfig) DeepCopyInto

func (in *GatewayTLSConfig) DeepCopyInto(out *GatewayTLSConfig)

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

type GatewayTLSPolicy

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

	Spec   GatewayTLSPolicySpec   `json:"spec,omitempty"`
	Status GatewayTLSPolicyStatus `json:"status,omitempty"`
}

GatewayTLSPolicy is the Schema for the GatewayTLSPolicy API

func (*GatewayTLSPolicy) DeepCopy

func (in *GatewayTLSPolicy) DeepCopy() *GatewayTLSPolicy

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

func (*GatewayTLSPolicy) DeepCopyInto

func (in *GatewayTLSPolicy) DeepCopyInto(out *GatewayTLSPolicy)

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

func (*GatewayTLSPolicy) DeepCopyObject

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

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

type GatewayTLSPolicyList

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

GatewayTLSPolicyList contains a list of GatewayTLSPolicy

func (*GatewayTLSPolicyList) DeepCopy

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

func (*GatewayTLSPolicyList) DeepCopyInto

func (in *GatewayTLSPolicyList) DeepCopyInto(out *GatewayTLSPolicyList)

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

func (*GatewayTLSPolicyList) DeepCopyObject

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

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

type GatewayTLSPolicySpec

type GatewayTLSPolicySpec struct {
	// TargetRef is the reference to the target resource to which the policy is applied
	TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"`

	// +listType=map
	// +listMapKey=port
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	// Ports is the Gateway TLS configuration for ports
	Ports []PortGatewayTLS `json:"ports,omitempty"`

	// +optional
	// DefaultConfig is the default Gateway TLS configuration for all ports
	DefaultConfig *GatewayTLSConfig `json:"config,omitempty"`
}

GatewayTLSPolicySpec defines the desired state of GatewayTLSPolicy

func (*GatewayTLSPolicySpec) DeepCopy

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

func (*GatewayTLSPolicySpec) DeepCopyInto

func (in *GatewayTLSPolicySpec) DeepCopyInto(out *GatewayTLSPolicySpec)

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

type GatewayTLSPolicyStatus

type GatewayTLSPolicyStatus struct {
	// Conditions describe the current conditions of the GatewayTLSPolicy.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

GatewayTLSPolicyStatus defines the observed state of GatewayTLSPolicy

func (*GatewayTLSPolicyStatus) DeepCopy

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

func (*GatewayTLSPolicyStatus) DeepCopyInto

func (in *GatewayTLSPolicyStatus) DeepCopyInto(out *GatewayTLSPolicyStatus)

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
	// Config is the rate limit configuration for the HTTP route
	Config *L7RateLimit `json:"config,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
	// +listType=set
	// +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
	// +listType=map
	// +listMapKey=name
	// +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

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"`

	// +listType=map
	// +listMapKey=port
	// +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

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

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

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

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
	// Config is the rate limit configuration for the hostname
	Config *L7RateLimit `json:"config,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
	// +listType=map
	// +listMapKey=name
	// +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

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"`

	// +listType=map
	// +listMapKey=port
	// +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

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

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 PortGatewayTLS

type PortGatewayTLS struct {
	// Port is the port number of the target service
	Port gwv1beta1.PortNumber `json:"port"`

	// +optional
	// Config is the Gateway TLS configuration for the port
	Config *GatewayTLSConfig `json:"config,omitempty"`
}

PortGatewayTLS defines the Gateway TLS configuration for a port

func (*PortGatewayTLS) DeepCopy

func (in *PortGatewayTLS) DeepCopy() *PortGatewayTLS

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

func (*PortGatewayTLS) DeepCopyInto

func (in *PortGatewayTLS) DeepCopyInto(out *PortGatewayTLS)

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 PortRetry

type PortRetry struct {
	// Port is the port number of the target service
	Port gwv1beta1.PortNumber `json:"port"`

	// +optional
	// Config is the retry configuration for the port
	Config *RetryConfig `json:"config,omitempty"`
}

PortRetry defines the retry configuration for a port

func (*PortRetry) DeepCopy

func (in *PortRetry) DeepCopy() *PortRetry

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

func (*PortRetry) DeepCopyInto

func (in *PortRetry) DeepCopyInto(out *PortRetry)

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 PortUpstreamTLS

type PortUpstreamTLS 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 *UpstreamTLSConfig `json:"config,omitempty"`
}

PortUpstreamTLS defines the session sticky configuration for a port

func (*PortUpstreamTLS) DeepCopy

func (in *PortUpstreamTLS) DeepCopy() *PortUpstreamTLS

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

func (*PortUpstreamTLS) DeepCopyInto

func (in *PortUpstreamTLS) DeepCopyInto(out *PortUpstreamTLS)

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
	// +listType=map
	// +listMapKey=port
	// +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
	// +listType=map
	// +listMapKey=hostname
	// +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
	// DefaultConfig is the default rate limit for all routes and hostnames
	DefaultConfig *L7RateLimit `json:"config,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

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 RetryConfig

type RetryConfig struct {
	// +listType=set
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	// RetryOn is the list of retryable response codes, e.g. 5xx matches 500-599, or 500 matches just 500
	RetryOn []string `json:"retryOn,omitempty"`

	// +optional
	// +kubebuilder:default=3
	// +kubebuilder:validation:Minimum=1
	// NumRetries is the number of retries
	NumRetries *int32 `json:"numRetries,omitempty"`

	// +optional
	// +kubebuilder:default=1.0
	// +kubebuilder:validation:Minimum=0.001
	// BackoffBaseInterval is the base interval for computing backoff in seconds
	BackoffBaseInterval *float32 `json:"backoffBaseInterval,omitempty"`
}

RetryConfig defines the retry configuration

func (*RetryConfig) DeepCopy

func (in *RetryConfig) DeepCopy() *RetryConfig

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

func (*RetryConfig) DeepCopyInto

func (in *RetryConfig) DeepCopyInto(out *RetryConfig)

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

type RetryPolicy

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

	Spec   RetryPolicySpec   `json:"spec,omitempty"`
	Status RetryPolicyStatus `json:"status,omitempty"`
}

RetryPolicy is the Schema for the RetryPolicy API

func (*RetryPolicy) DeepCopy

func (in *RetryPolicy) DeepCopy() *RetryPolicy

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

func (*RetryPolicy) DeepCopyInto

func (in *RetryPolicy) DeepCopyInto(out *RetryPolicy)

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

func (*RetryPolicy) DeepCopyObject

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

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

type RetryPolicyList

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

RetryPolicyList contains a list of RetryPolicy

func (*RetryPolicyList) DeepCopy

func (in *RetryPolicyList) DeepCopy() *RetryPolicyList

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

func (*RetryPolicyList) DeepCopyInto

func (in *RetryPolicyList) DeepCopyInto(out *RetryPolicyList)

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

func (*RetryPolicyList) DeepCopyObject

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

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

type RetryPolicySpec

type RetryPolicySpec struct {
	// TargetRef is the reference to the target resource to which the policy is applied
	TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"`

	// +listType=map
	// +listMapKey=port
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	// Ports is the retry configuration for ports
	Ports []PortRetry `json:"ports,omitempty"`

	// +optional
	// DefaultConfig is the default retry configuration for all ports
	DefaultConfig *RetryConfig `json:"config,omitempty"`
}

RetryPolicySpec defines the desired state of RetryPolicy

func (*RetryPolicySpec) DeepCopy

func (in *RetryPolicySpec) DeepCopy() *RetryPolicySpec

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

func (*RetryPolicySpec) DeepCopyInto

func (in *RetryPolicySpec) DeepCopyInto(out *RetryPolicySpec)

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

type RetryPolicyStatus

type RetryPolicyStatus struct {
	// Conditions describe the current conditions of the RetryPolicy.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

RetryPolicyStatus defines the observed state of RetryPolicy

func (*RetryPolicyStatus) DeepCopy

func (in *RetryPolicyStatus) DeepCopy() *RetryPolicyStatus

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

func (*RetryPolicyStatus) DeepCopyInto

func (in *RetryPolicyStatus) DeepCopyInto(out *RetryPolicyStatus)

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

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"`

	// +listType=map
	// +listMapKey=port
	// +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

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

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

func (*SessionStickyPolicyStatus) DeepCopyInto

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

type UpstreamTLSConfig

type UpstreamTLSConfig struct {
	// CertificateRef is the reference to the certificate used for TLS connection to upstream
	CertificateRef gwv1beta1.SecretObjectReference `json:"certificateRef"`

	// +optional
	// +kubebuilder:default=false
	// MTLS is the flag to enable mutual TLS to upstream
	MTLS *bool `json:"mTLS,omitempty"`
}

UpstreamTLSConfig defines the session sticky configuration

func (*UpstreamTLSConfig) DeepCopy

func (in *UpstreamTLSConfig) DeepCopy() *UpstreamTLSConfig

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

func (*UpstreamTLSConfig) DeepCopyInto

func (in *UpstreamTLSConfig) DeepCopyInto(out *UpstreamTLSConfig)

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

type UpstreamTLSPolicy

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

	Spec   UpstreamTLSPolicySpec   `json:"spec,omitempty"`
	Status UpstreamTLSPolicyStatus `json:"status,omitempty"`
}

UpstreamTLSPolicy is the Schema for the UpstreamTLSPolicy API

func (*UpstreamTLSPolicy) DeepCopy

func (in *UpstreamTLSPolicy) DeepCopy() *UpstreamTLSPolicy

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

func (*UpstreamTLSPolicy) DeepCopyInto

func (in *UpstreamTLSPolicy) DeepCopyInto(out *UpstreamTLSPolicy)

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

func (*UpstreamTLSPolicy) DeepCopyObject

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

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

type UpstreamTLSPolicyList

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

UpstreamTLSPolicyList contains a list of UpstreamTLSPolicy

func (*UpstreamTLSPolicyList) DeepCopy

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

func (*UpstreamTLSPolicyList) DeepCopyInto

func (in *UpstreamTLSPolicyList) DeepCopyInto(out *UpstreamTLSPolicyList)

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

func (*UpstreamTLSPolicyList) DeepCopyObject

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

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

type UpstreamTLSPolicySpec

type UpstreamTLSPolicySpec struct {
	// TargetRef is the reference to the target resource to which the policy is applied
	TargetRef gwv1alpha2.PolicyTargetReference `json:"targetRef"`

	// +listType=map
	// +listMapKey=port
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	// Ports is the session sticky configuration for ports
	Ports []PortUpstreamTLS `json:"ports,omitempty"`

	// +optional
	// DefaultConfig is the default session sticky configuration for all ports
	DefaultConfig *UpstreamTLSConfig `json:"config,omitempty"`
}

UpstreamTLSPolicySpec defines the desired state of UpstreamTLSPolicy

func (*UpstreamTLSPolicySpec) DeepCopy

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

func (*UpstreamTLSPolicySpec) DeepCopyInto

func (in *UpstreamTLSPolicySpec) DeepCopyInto(out *UpstreamTLSPolicySpec)

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

type UpstreamTLSPolicyStatus

type UpstreamTLSPolicyStatus struct {
	// Conditions describe the current conditions of the UpstreamTLSPolicy.
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

UpstreamTLSPolicyStatus defines the observed state of UpstreamTLSPolicy

func (*UpstreamTLSPolicyStatus) DeepCopy

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

func (*UpstreamTLSPolicyStatus) DeepCopyInto

func (in *UpstreamTLSPolicyStatus) DeepCopyInto(out *UpstreamTLSPolicyStatus)

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