v1

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package v1 houses version 1 of the alb controller CRDs.

Package v1 contains API Schema definitions for the alb.networking.azure.io v1 API group +kubebuilder:object:generate=true +groupName=alb.networking.azure.io

Index

Constants

View Source
const (
	// AlbConditionTypeAccepted indicates whether the Application Gateway for Containers resource
	// are accepted by the controller.
	AlbConditionTypeAccepted AlbConditionType = "Accepted"

	// AlbConditionTypeDeployment indicates the deployment status of the Application Gateway for Containers resource.
	AlbConditionTypeDeployment AlbConditionType = "Deployment"

	// AlbReasonAccepted indicates that the Application Gateway for Containers resource
	// are accepted by the controller.
	AlbReasonAccepted AlbConditionReason = "Accepted"

	// AlbReasonDeploymentReady indicates the Application Gateway for Containers resource
	// deployment status.
	AlbReasonDeploymentReady AlbConditionReason = "Ready"

	// AlbReasonInProgress indicates whether the Application Gateway for Containers resource
	// is in the process of being created, updated, or deleted.
	AlbReasonInProgress AlbConditionReason = "InProgress"
)
View Source
const (

	// BackendLoadBalancingPolicyConditionAccepted is used to set the BackendLoadBalancingPolicyConditionType to Accepted
	BackendLoadBalancingPolicyConditionAccepted BackendLoadBalancingPolicyConditionType = "Accepted"

	// BackendLoadBalancingPolicyConditionResolvedRefs is used to set the BackendLoadBalancingPolicyCondition to ResolvedRefs
	BackendLoadBalancingPolicyConditionResolvedRefs BackendLoadBalancingPolicyConditionType = "ResolvedRefs"

	// BackendLoadBalancingPolicyReasonAccepted is used to set the BackendLoadBalancingPolicyConditionReason to Accepted
	// When the given BackendLoadBalancingPolicy is correctly configured
	BackendLoadBalancingPolicyReasonAccepted BackendLoadBalancingPolicyConditionReason = "Accepted"

	// BackendLoadBalancingPolicyReasonResolvedRefs is used to set the BackendLoadBalancingPolicyConditionReason to ResolvedRefs
	// when the given BackendLoadBalancingPolicy has correct references
	BackendLoadBalancingPolicyReasonResolvedRefs BackendLoadBalancingPolicyConditionReason = "ResolvedRefs"

	// BackendLoadBalancingPolicyReasonInvalid is the reason when the BackendLoadBalancingPolicy isn't Accepted
	BackendLoadBalancingPolicyReasonInvalid BackendLoadBalancingPolicyConditionReason = "InvalidBackendLoadBalancingPolicy"

	// BackendLoadBalancingPolicyReasonRefNotPermitted is used when the ref isn't permitted
	BackendLoadBalancingPolicyReasonRefNotPermitted BackendLoadBalancingPolicyConditionReason = "RefNotPermitted"

	// BackendLoadBalancingPolicyReasonInvalidGroup is used when the group is invalid
	BackendLoadBalancingPolicyReasonInvalidGroup BackendLoadBalancingPolicyConditionReason = "InvalidGroup"

	// BackendLoadBalancingPolicyReasonInvalidKind is used when the kind/group is invalid
	BackendLoadBalancingPolicyReasonInvalidKind BackendLoadBalancingPolicyConditionReason = "InvalidKind"

	// BackendLoadBalancingPolicyReasonInvalidName is used when the name is invalid
	BackendLoadBalancingPolicyReasonInvalidName BackendLoadBalancingPolicyConditionReason = "InvalidName"

	// BackendLoadBalancingPolicyReasonNoTargetReference is used when there's no target reference
	BackendLoadBalancingPolicyReasonNoTargetReference BackendLoadBalancingPolicyConditionReason = "NoTargetReference"

	// BackendLoadBalancingPolicyReasonInvalidService is used when the Service is invalid
	BackendLoadBalancingPolicyReasonInvalidService BackendLoadBalancingPolicyConditionReason = "InvalidService"

	// BackendLoadBalancingPolicyReasonConflicted is used when the target ref conflicts with a pre-existing policy target
	BackendLoadBalancingPolicyReasonConflicted BackendLoadBalancingPolicyConditionReason = "Conflicted"
)
View Source
const (
	// HealthCheckPolicyConditionAccepted is used to set the HealthCheckPolicyConditionType to Accepted.
	HealthCheckPolicyConditionAccepted HealthCheckPolicyConditionType = "Accepted"

	// HealthCheckPolicyConditionResolvedRefs is used to set the HealthCheckPolicyCondition to ResolvedRefs.
	HealthCheckPolicyConditionResolvedRefs HealthCheckPolicyConditionType = "ResolvedRefs"

	// HealthCheckPolicyReasonAccepted is used to set the HealthCheckPolicyConditionReason to Accepted.
	// When the given HealthCheckPolicy is correctly configured.
	HealthCheckPolicyReasonAccepted HealthCheckPolicyConditionReason = "Accepted"

	// HealthCheckPolicyReasonInvalid is the reason when the HealthCheckPolicy isn't Accepted.
	HealthCheckPolicyReasonInvalid HealthCheckPolicyConditionReason = "InvalidHealthCheckPolicy"

	// HealthCheckPolicyReasonUnsupportedStatusCodes is used when the HealthCheckPolicy match StatusCodes are not supported.
	HealthCheckPolicyReasonUnsupportedStatusCodes HealthCheckPolicyConditionReason = "UnsupportedStatusCodes"

	// HealthCheckPolicyReasonResolvedRefs is used when the targetRef was resolved successfully.
	HealthCheckPolicyReasonResolvedRefs HealthCheckPolicyConditionReason = "ResolvedRefs"

	// HealthCheckPolicyReasonRefNotPermitted is used when the ref isn't permitted.
	HealthCheckPolicyReasonRefNotPermitted HealthCheckPolicyConditionReason = "RefNotPermitted"

	// HealthCheckPolicyReasonInvalidGroup is used when the group is invalid.
	HealthCheckPolicyReasonInvalidGroup HealthCheckPolicyConditionReason = "InvalidGroup"

	// HealthCheckPolicyReasonInvalidKind is used when the kind/group is invalid.
	HealthCheckPolicyReasonInvalidKind HealthCheckPolicyConditionReason = "InvalidKind"

	// HealthCheckPolicyReasonInvalidName is used when the name is invalid.
	HealthCheckPolicyReasonInvalidName HealthCheckPolicyConditionReason = "InvalidName"

	// HealthCheckPolicyReasonNoTargetReference is used when there's no target reference.
	HealthCheckPolicyReasonNoTargetReference HealthCheckPolicyConditionReason = "NoTargetReference"

	// HealthCheckPolicyReasonInvalidService is used when the Service is invalid.
	HealthCheckPolicyReasonInvalidService HealthCheckPolicyConditionReason = "InvalidService"

	// HealthCheckPolicyReasonInvalidPort is used when the port is invalid.
	HealthCheckPolicyReasonInvalidPort HealthCheckPolicyConditionReason = "InvalidPort"

	// HealthCheckPolicyReasonSectionNamesNotPermitted is used when the section names aren't permitted.
	HealthCheckPolicyReasonSectionNamesNotPermitted HealthCheckPolicyConditionReason = "SectionNamesNotPermitted"

	// HealthCheckPolicyReasonOverrideNotSupported is used when the override isn't supported.
	HealthCheckPolicyReasonOverrideNotSupported HealthCheckPolicyConditionReason = "OverrideNotSupported"

	// BackendTLSPolicyConditionNotFound is used when the BackendTLSPolicy is not found for the service.
	BackendTLSPolicyConditionNotFound HealthCheckPolicyConditionReason = "BackendTLSPolicyNotFound"
)
View Source
const (
	// IngressExtensionConditionAccepted indicates if the IngressExtension is accepted (reconciled) by the controller
	IngressExtensionConditionAccepted IngressExtensionConditionType = "Accepted"

	// IngressExtensionReasonAccepted is used to set the IngressExtensionConditionAccepted to Accepted
	IngressExtensionReasonAccepted IngressExtensionConditionReason = "Accepted"

	// IngressExtensionReasonPartiallyAccepted is used to set the IngressExtensionConditionAccepted to Accepted, but with nonfatal validation errors
	IngressExtensionReasonPartiallyAccepted IngressExtensionConditionReason = "PartiallyAcceptedWithErrors"

	// IngressExtensionConditionErrors indicates if there are validation or build errors on the extension
	IngressExtensionConditionErrors IngressExtensionConditionType = "Errors"

	// IngressExtensionReasonNoErrors indicates there are no validation errors
	IngressExtensionReasonNoErrors IngressExtensionConditionReason = "NoValidationErrors"

	// IngressExtensionReasonHasErrors indicates there are some validation errors
	IngressExtensionReasonHasErrors IngressExtensionConditionReason = "HasValidationErrors"

	// IngressExtensionMessageAcceptedNoErrors is applicable when an IngressExtension has been accepted and no errors are present
	IngressExtensionMessageAcceptedNoErrors = "Accepted and validated successfully"

	// IngressExtensionMessageErrorsPresent is applicable to the Errors condition when errors are present
	IngressExtensionMessageErrorsPresent = "Validation errors encountered, see rules and backend settings status for details"

	// IngressExtensionMessageAcceptedPartially is application to the Accepted condition when errors are present
	IngressExtensionMessageAcceptedPartially = "Partially accepted with some validation errors"

	// IngressExtensionMessageErrorsNoErrors is application to the Errors condition when no errors are present
	IngressExtensionMessageErrorsNoErrors = "No validation errors"
)
View Source
const (

	// RoutePolicyConditionAccepted is used to set the RoutePolicyConditionType to Accepted
	RoutePolicyConditionAccepted RoutePolicyConditionType = "Accepted"

	// RoutePolicyConditionResolvedRefs is used to set the RoutePolicyCondition to ResolvedRefs
	RoutePolicyConditionResolvedRefs RoutePolicyConditionType = "ResolvedRefs"

	// RoutePolicyReasonAccepted is used to set the RoutePolicyConditionReason to Accepted
	// When the given RoutePolicy is correctly configured
	RoutePolicyReasonAccepted RoutePolicyConditionReason = "Accepted"

	// RoutePolicyReasonAcceptedWithTimeoutConflict is used to set the RoutePolicyConditionReason to AcceptedWithTimeoutConflict
	// When the given RoutePolicy is correctly configured but has a timeout conflict with the target route
	RoutePolicyReasonAcceptedWithTimeoutConflict RoutePolicyConditionReason = "AcceptedWithTimeoutConflict"

	// RoutePolicyReasonInvalid is the reason when the RoutePolicy isn't Accepted
	RoutePolicyReasonInvalid RoutePolicyConditionReason = "InvalidRoutePolicy"

	// RoutePolicyReasonRefNotPermitted is used when the ref isn't permitted
	RoutePolicyReasonRefNotPermitted RoutePolicyConditionReason = "RefNotPermitted"

	// RoutePolicyReasonInvalidGroup is used when the group is invalid
	RoutePolicyReasonInvalidGroup RoutePolicyConditionReason = "InvalidGroup"

	// RoutePolicyReasonInvalidKind is used when the kind/group is invalid
	RoutePolicyReasonInvalidKind RoutePolicyConditionReason = "InvalidKind"

	// RoutePolicyReasonInvalidName is used when the name is invalid
	RoutePolicyReasonInvalidName RoutePolicyConditionReason = "InvalidName"

	// RoutePolicyReasonNoTargetReference is used when there's no target reference
	RoutePolicyReasonNoTargetReference RoutePolicyConditionReason = "NoTargetReference"

	// RoutePolicyReasonInvalidHTTPRoute is used when the HTTPRoute is invalid
	RoutePolicyReasonInvalidHTTPRoute RoutePolicyConditionReason = "InvalidHTTPRoute"

	// RoutePolicyReasonInvalidGRPCRoute is used when the GRPCRoute is invalid
	RoutePolicyReasonInvalidGRPCRoute RoutePolicyConditionReason = "InvalidGRPCRoute"

	// RoutePolicyReasonSectionNamesNotPermitted is used when the section names aren't permitted
	RoutePolicyReasonSectionNamesNotPermitted RoutePolicyConditionReason = "SectionNamesNotPermitted"

	// RoutePolicyReasonOverrideNotSupported is used when the override isn't supported
	RoutePolicyReasonOverrideNotSupported RoutePolicyConditionReason = "OverrideNotSupported"
)
View Source
const (
	// ALBFinalizerDeploymentExists should be added as a finalizer to the
	// ApplicationLoadBalancer whenever am ARM deployment exists.
	ALBFinalizerDeploymentExists = "alb-deployment-exists-finalizer.alb.networking.azure.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "alb.networking.azure.io", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme adds the types in this group-version to the given 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 AffinityType

type AffinityType string

AffinityType defines the affinity type for the Service

+kubebuilder:validation:Enum=application-cookie;managed-cookie

const (
	// AffinityTypeApplicationCookie is a session affinity type for an application cookie
	AffinityTypeApplicationCookie AffinityType = "application-cookie"

	// AffinityTypeManagedCookie is a session affinity type for a managed cookie
	AffinityTypeManagedCookie AffinityType = "managed-cookie"
)

type AlbConditionReason

type AlbConditionReason string

AlbConditionReason defines the set of reasons that explain why a particular condition type are raised by the Application Gateway for Containers resource.

type AlbConditionType

type AlbConditionType string

AlbConditionType is a type of condition associated with an Application Gateway for Containers resource. This type should be used with the AlbStatus.Conditions field.

type AlbSpec

type AlbSpec struct {
	// Associations are subnet resource IDs the Application Gateway for Containers resource are associated with.
	Associations []string `json:"associations,omitempty"`
}

AlbSpec defines the specifications for the Application Gateway for Containers resource.

func (*AlbSpec) DeepCopy

func (in *AlbSpec) DeepCopy() *AlbSpec

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

func (*AlbSpec) DeepCopyInto

func (in *AlbSpec) DeepCopyInto(out *AlbSpec)

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

type AlbStatus

type AlbStatus struct {

	// +optional
	// Known condition types are:
	//
	// * "Accepted"
	// * "Ready"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

AlbStatus defines the observed state of Application Gateway for Containers resource.

func (*AlbStatus) DeepCopy

func (in *AlbStatus) DeepCopy() *AlbStatus

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

func (*AlbStatus) DeepCopyInto

func (in *AlbStatus) DeepCopyInto(out *AlbStatus)

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

type ApplicationLoadBalancer

type ApplicationLoadBalancer struct {
	// Object's type metadata.
	metav1.TypeMeta `json:",inline"`

	// Object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the specifications for Application Gateway for Containers resource.
	Spec AlbSpec `json:"spec,omitempty"`

	// Status defines the current state of Application Gateway for Containers resource.
	//
	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status AlbStatus `json:"status,omitempty"`
}

ApplicationLoadBalancer is the schema for the Application Gateway for Containers resource.

func (*ApplicationLoadBalancer) DeepCopy

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

func (*ApplicationLoadBalancer) DeepCopyInto

func (in *ApplicationLoadBalancer) DeepCopyInto(out *ApplicationLoadBalancer)

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

func (*ApplicationLoadBalancer) DeepCopyObject

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

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

type ApplicationLoadBalancerList

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

ApplicationLoadBalancerList lists the ApplicationLoadBalancer objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*ApplicationLoadBalancerList) DeepCopy

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

func (*ApplicationLoadBalancerList) DeepCopyInto

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

func (*ApplicationLoadBalancerList) DeepCopyObject

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

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

type BackendLoadBalancingPolicy

type BackendLoadBalancingPolicy struct {
	// Object's type metadata.
	metav1.TypeMeta `json:",inline"`

	// Object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the BackendLoadBalancingPolicy specification.
	Spec BackendLoadBalancingPolicySpec `json:"spec,omitempty"`

	// Status defines the current state of BackendLoadBalancingPolicy.
	Status BackendLoadBalancingPolicyStatus `json:"status,omitempty"`
}

BackendLoadBalancingPolicy represents the configuration for backend load balancing.

func (*BackendLoadBalancingPolicy) DeepCopy

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

func (*BackendLoadBalancingPolicy) DeepCopyInto

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

func (*BackendLoadBalancingPolicy) DeepCopyObject

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

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

func (BackendLoadBalancingPolicy) GetNamespacedName

func (r BackendLoadBalancingPolicy) GetNamespacedName() types.NamespacedName

GetNamespacedName returns the policy's name

type BackendLoadBalancingPolicyConditionReason

type BackendLoadBalancingPolicyConditionReason string

BackendLoadBalancingPolicyConditionReason defines the set of reasons that explain why a particular BackendLoadBalancingPolicy condition type is raised.

type BackendLoadBalancingPolicyConditionType

type BackendLoadBalancingPolicyConditionType string

BackendLoadBalancingPolicyConditionType is a type of condition associated with a BackendLoadBalancingPolicy. This type should be used with the BackendLoadBalancingPolicyStatus.Conditions field.

type BackendLoadBalancingPolicyList

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

BackendLoadBalancingPolicyList contains a list of BackendLoadBalancingPolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*BackendLoadBalancingPolicyList) DeepCopy

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

func (*BackendLoadBalancingPolicyList) DeepCopyInto

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

func (*BackendLoadBalancingPolicyList) DeepCopyObject

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

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

type BackendLoadBalancingPolicyPort

type BackendLoadBalancingPolicyPort struct {
	// Port is the port to use for connection to the backend
	//
	// +kubebuilder:validation:Minimum=1
	Port int32 `json:"port,omitempty"`
}

BackendLoadBalancingPolicyPort defines the port configuration for the backend load balancing policy.

func (*BackendLoadBalancingPolicyPort) DeepCopy

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

func (*BackendLoadBalancingPolicyPort) DeepCopyInto

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

type BackendLoadBalancingPolicySpec

type BackendLoadBalancingPolicySpec struct {
	// TargetRefs identifies a list of API objects to apply policy to.
	TargetRefs []TargetRefSpec `json:"targetRefs"`

	// CircuitBreaker defines the schema for configuring Circuit Breaking
	// +optional
	CircuitBreaker *CircuitBreakerConfig `json:"circuitBreaker,omitempty"`

	// LoadBalancing defines the schema for configuring Load Balancing options
	// +optional
	LoadBalancing *LoadBalancingConfig `json:"loadBalancing,omitempty"`
}

BackendLoadBalancingPolicySpec defines the specification for BackendLoadBalancingPolicy.

func (*BackendLoadBalancingPolicySpec) DeepCopy

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

func (*BackendLoadBalancingPolicySpec) DeepCopyInto

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

type BackendLoadBalancingPolicyStatus

type BackendLoadBalancingPolicyStatus struct {
	Targets []BackendLoadBalancingPolicyTargetStatus `json:"targets"`
}

BackendLoadBalancingPolicyStatus defines the observed state of BackendLoadBalancingPolicy.

func (*BackendLoadBalancingPolicyStatus) DeepCopy

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

func (*BackendLoadBalancingPolicyStatus) DeepCopyInto

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

type BackendLoadBalancingPolicyTargetStatus

type BackendLoadBalancingPolicyTargetStatus struct {
	TargetRef CustomTargetRef `json:"targetRef"`

	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

BackendLoadBalancingPolicyTargetStatus defines the observed status for a target ref

func (*BackendLoadBalancingPolicyTargetStatus) DeepCopy

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

func (*BackendLoadBalancingPolicyTargetStatus) DeepCopyInto

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

type BackendTLSPolicy

type BackendTLSPolicy struct {
	// Object's type metadata.
	metav1.TypeMeta `json:",inline"`

	// Object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the BackendTLSPolicy specification.
	Spec BackendTLSPolicySpec `json:"spec,omitempty"`

	// Status defines the current state of BackendTLSPolicy.
	//
	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status BackendTLSPolicyStatus `json:"status,omitempty"`
}

BackendTLSPolicy is the schema for the BackendTLSPolicies API.

func (*BackendTLSPolicy) DeepCopy

func (in *BackendTLSPolicy) DeepCopy() *BackendTLSPolicy

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

func (*BackendTLSPolicy) DeepCopyInto

func (in *BackendTLSPolicy) DeepCopyInto(out *BackendTLSPolicy)

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

func (*BackendTLSPolicy) DeepCopyObject

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

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

func (BackendTLSPolicy) GetNamespacedName

func (b BackendTLSPolicy) GetNamespacedName() types.NamespacedName

GetNamespacedName returns the policy's name

type BackendTLSPolicyConfig

type BackendTLSPolicyConfig struct {
	CommonTLSPolicy `json:",inline"`

	// Sni is the server name to use for the TLS connection to the backend.
	//
	// +optional
	Sni string `json:"sni,omitempty"`

	// Ports specifies the list of ports where the policy is applied.
	Ports []BackendTLSPolicyPort `json:"ports,omitempty"`

	// ClientCertificateRef is the reference to the client certificate to
	// use for the TLS connection to the backend.
	//
	// +optional
	ClientCertificateRef *gatewayapi_v1.SecretObjectReference `json:"clientCertificateRef,omitempty"`
}

BackendTLSPolicyConfig defines the policy specification for the Backend TLS Policy.

func (*BackendTLSPolicyConfig) DeepCopy

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

func (*BackendTLSPolicyConfig) DeepCopyInto

func (in *BackendTLSPolicyConfig) DeepCopyInto(out *BackendTLSPolicyConfig)

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

type BackendTLSPolicyList

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

BackendTLSPolicyList lists the BackendTLSPolicy objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*BackendTLSPolicyList) DeepCopy

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

func (*BackendTLSPolicyList) DeepCopyInto

func (in *BackendTLSPolicyList) DeepCopyInto(out *BackendTLSPolicyList)

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

func (*BackendTLSPolicyList) DeepCopyObject

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

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

type BackendTLSPolicyPort

type BackendTLSPolicyPort struct {
	// Port is the port to use for the TLS connection to the backend
	//
	// +kubebuilder:validation:Minimum=1
	Port int `json:"port,omitempty"`
}

BackendTLSPolicyPort defines the port to use for the TLS connection to the backend

func (*BackendTLSPolicyPort) DeepCopy

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

func (*BackendTLSPolicyPort) DeepCopyInto

func (in *BackendTLSPolicyPort) DeepCopyInto(out *BackendTLSPolicyPort)

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

type BackendTLSPolicySpec

type BackendTLSPolicySpec struct {
	// TargetRef identifies an API object to apply policy to.
	TargetRef CustomTargetRef `json:"targetRef"`

	// Override defines policy configuration that should override policy
	// configuration attached below the targeted resource in the hierarchy.
	//
	// Note: Override is currently not supported and result in a validation error.
	// Support for Override will be added in a future release.
	//
	// +optional
	Override *BackendTLSPolicyConfig `json:"override,omitempty"`

	// Default defines default policy configuration for the targeted resource.
	//
	// +optional
	Default *BackendTLSPolicyConfig `json:"default,omitempty"`
}

BackendTLSPolicySpec defines the desired state of BackendTLSPolicy.

func (*BackendTLSPolicySpec) DeepCopy

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

func (*BackendTLSPolicySpec) DeepCopyInto

func (in *BackendTLSPolicySpec) DeepCopyInto(out *BackendTLSPolicySpec)

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

type BackendTLSPolicyStatus

type BackendTLSPolicyStatus struct {
	// Conditions describe the current conditions of the BackendTLSPolicy.
	//
	// Implementations should prefer to express BackendTLSPolicy conditions
	// using the `BackendTLSPolicyConditionType` and `BackendTLSPolicyConditionReason`
	// constants so that operators and tools can converge on a common
	// vocabulary to describe BackendTLSPolicy state.
	//
	// +optional
	// Known condition types are:
	//
	// * "Accepted"
	// * "ResolvedRefs"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

BackendTLSPolicyStatus defines the observed state of BackendTLSPolicy.

func (*BackendTLSPolicyStatus) DeepCopy

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

func (*BackendTLSPolicyStatus) DeepCopyInto

func (in *BackendTLSPolicyStatus) DeepCopyInto(out *BackendTLSPolicyStatus)

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

type CircuitBreakerConfig

type CircuitBreakerConfig struct {
	// The maximum number of connections that will be made to the backend service.
	// Default is 1000000000 (disabled).
	//
	// +optional
	// +kubebuilder:default=1000000000
	// +kubebuilder:validation:Minimum=0
	MaxConnections uint32 `json:"maxConnections,omitempty"`

	// Maximum number of parallel requests that will be made to the backend service.
	// Default is 1000000000 (disabled).
	//
	// +optional
	// +kubebuilder:default=1000000000
	// +kubebuilder:validation:Minimum=0
	MaxRequests uint32 `json:"maxRequests,omitempty"`

	// Maximum number of pending requests that will be made to the backend service.
	// Default is 1000000000 (disabled).
	//
	// +optional
	// +kubebuilder:default=1000000000
	// +kubebuilder:validation:Minimum=0
	MaxPendingRequests uint32 `json:"maxPendingRequests,omitempty"`

	// The maximum number of parallel retries allowed to the backend service.
	// Default is 1000000000 (disabled).
	//
	// +optional
	// +kubebuilder:default=1000000000
	// +kubebuilder:validation:Minimum=0
	MaxRetries uint32 `json:"maxRetries,omitempty"`
}

CircuitBreakerConfig defines the configuration for circuit breaking.

func (*CircuitBreakerConfig) DeepCopy

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

func (*CircuitBreakerConfig) DeepCopyInto

func (in *CircuitBreakerConfig) DeepCopyInto(out *CircuitBreakerConfig)

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

type CommonTLSPolicy

type CommonTLSPolicy struct {
	// Verify provides the options to verify the peer certificate.
	//
	// +optional
	Verify *CommonTLSPolicyVerify `json:"verify,omitempty"`
}

CommonTLSPolicy is the schema for the CommonTLSPolicy API.

func (*CommonTLSPolicy) DeepCopy

func (in *CommonTLSPolicy) DeepCopy() *CommonTLSPolicy

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

func (*CommonTLSPolicy) DeepCopyInto

func (in *CommonTLSPolicy) DeepCopyInto(out *CommonTLSPolicy)

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

type CommonTLSPolicyVerify

type CommonTLSPolicyVerify struct {
	// CaCertificateRef is the CA certificate used to verify peer certificate.
	//
	// +kubebuilder:validation:Required
	CaCertificateRef *gatewayapi_v1.SecretObjectReference `json:"caCertificateRef,omitempty"`

	// SubjectAltName is the subject alternative name used to verify peer
	// certificate.
	//
	// +optional
	SubjectAltName string `json:"subjectAltName,omitempty"`
}

CommonTLSPolicyVerify defines the schema for the CommonTLSPolicyVerify API.

func (*CommonTLSPolicyVerify) DeepCopy

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

func (*CommonTLSPolicyVerify) DeepCopyInto

func (in *CommonTLSPolicyVerify) DeepCopyInto(out *CommonTLSPolicyVerify)

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

type CustomTargetRef

type CustomTargetRef struct {
	gatewayapi_v1alpha2.NamespacedPolicyTargetReference `json:",inline"`

	// SectionNames is the name of the section within the target resource. When
	// unspecified, this targetRef targets the entire resource. In the following
	// resources, SectionNames is interpreted as the following:
	//
	// * Gateway: Listener Name
	// * Service: Port Name
	//
	// If a SectionNames is specified, but doesn't exist on the targeted object,
	// the Policy fails to attach, and the policy implementation will record
	// a `ResolvedRefs` or similar Condition in the Policy's status.
	//
	//
	// +optional
	SectionNames []string `json:"sectionNames"`
}

CustomTargetRef is a reference to a custom resource that isn't part of the Kubernetes core API.

func (*CustomTargetRef) DeepCopy

func (in *CustomTargetRef) DeepCopy() *CustomTargetRef

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

func (*CustomTargetRef) DeepCopyInto

func (in *CustomTargetRef) DeepCopyInto(out *CustomTargetRef)

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

type FrontendTLSPolicy

type FrontendTLSPolicy struct {
	// Object's type metadata.
	metav1.TypeMeta `json:",inline"`

	// Object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the FrontendTLSPolicy specification.
	Spec FrontendTLSPolicySpec `json:"spec,omitempty"`

	// Status defines the current state of FrontendTLSPolicy.
	//
	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status FrontendTLSPolicyStatus `json:"status,omitempty"`
}

FrontendTLSPolicy is the schema for the FrontendTLSPolicy API

func (*FrontendTLSPolicy) DeepCopy

func (in *FrontendTLSPolicy) DeepCopy() *FrontendTLSPolicy

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

func (*FrontendTLSPolicy) DeepCopyInto

func (in *FrontendTLSPolicy) DeepCopyInto(out *FrontendTLSPolicy)

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

func (*FrontendTLSPolicy) DeepCopyObject

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

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

func (FrontendTLSPolicy) GetNamespacedName

func (f FrontendTLSPolicy) GetNamespacedName() types.NamespacedName

GetNamespacedName returns the policy's name

func (FrontendTLSPolicy) GetTargetRefs

func (f FrontendTLSPolicy) GetTargetRefs() []*CustomTargetRef

GetTargetRefs returns the target reference of the FrontendTLSPolicy.

type FrontendTLSPolicyConfig

type FrontendTLSPolicyConfig struct {
	// Verify provides the options to verify the peer certificate.
	//
	// +optional
	Verify *MTLSPolicyVerify `json:"verify,omitempty"`

	// Type is the type of the policy.
	//
	// +optional
	// +kubebuilder:default={name: "2023-06", type: "predefined"}
	FrontendTLSPolicyType *PolicyType `json:"policyType"`
}

FrontendTLSPolicyConfig defines the policy specification for the Frontend TLS Policy.

func (*FrontendTLSPolicyConfig) DeepCopy

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

func (*FrontendTLSPolicyConfig) DeepCopyInto

func (in *FrontendTLSPolicyConfig) DeepCopyInto(out *FrontendTLSPolicyConfig)

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

type FrontendTLSPolicyList

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

FrontendTLSPolicyList lists the FrontendTLSPolicy objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*FrontendTLSPolicyList) DeepCopy

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

func (*FrontendTLSPolicyList) DeepCopyInto

func (in *FrontendTLSPolicyList) DeepCopyInto(out *FrontendTLSPolicyList)

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

func (*FrontendTLSPolicyList) DeepCopyObject

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

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

type FrontendTLSPolicySpec

type FrontendTLSPolicySpec struct {
	// TargetRef identifies an API object to apply policy to.
	TargetRef CustomTargetRef `json:"targetRef"`

	// Default defines default policy configuration for the targeted resource.
	//
	// +optional
	Default *FrontendTLSPolicyConfig `json:"default,omitempty"`

	// Override defines policy configuration that should override policy
	// configuration attached below the targeted resource in the hierarchy.
	//
	// Note: Override is currently not supported and result in a validation error.
	// Support for Override will be added in a future release.
	//
	// +optional
	Override *FrontendTLSPolicyConfig `json:"override,omitempty"`
}

FrontendTLSPolicySpec defines the desired state of FrontendTLSPolicy

func (*FrontendTLSPolicySpec) DeepCopy

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

func (*FrontendTLSPolicySpec) DeepCopyInto

func (in *FrontendTLSPolicySpec) DeepCopyInto(out *FrontendTLSPolicySpec)

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

type FrontendTLSPolicyStatus

type FrontendTLSPolicyStatus struct {
	// Conditions describe the current conditions of the FrontendTLSPolicy.
	//
	// Implementations should prefer to express FrontendTLSPolicy conditions
	// using the `FrontendTLSPolicyConditionType` and `FrontendTLSPolicyConditionReason`
	// constants so that operators and tools can converge on a common
	// vocabulary to describe FrontendTLSPolicy state.
	//
	// +optional
	// Known condition types are:
	//
	// * "Accepted"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

FrontendTLSPolicyStatus defines the observed state of FrontendTLSPolicy.

func (*FrontendTLSPolicyStatus) DeepCopy

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

func (*FrontendTLSPolicyStatus) DeepCopyInto

func (in *FrontendTLSPolicyStatus) DeepCopyInto(out *FrontendTLSPolicyStatus)

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

type FrontendTLSPolicyType

type FrontendTLSPolicyType string

FrontendTLSPolicyType is the type of the Frontend TLS Policy.

const (
	// PredefinedFrontendTLSPolicyType is the type of the predefined Frontend TLS Policy.
	PredefinedFrontendTLSPolicyType FrontendTLSPolicyType = "predefined"
)

type FrontendTLSPolicyTypeName

type FrontendTLSPolicyTypeName string

FrontendTLSPolicyTypeName is the name of the Frontend TLS Policy.

const (
	// PredefinedPolicy202306 is the name of the predefined Frontend TLS Policy for the policy "2023-06".
	PredefinedPolicy202306 FrontendTLSPolicyTypeName = "2023-06"

	// PredefinedPolicy202306Strict is the name of the predefined Frontend TLS Policy for the policy "2023-06-S".
	// This is a strict version of the policy "2023-06".
	PredefinedPolicy202306Strict FrontendTLSPolicyTypeName = "2023-06-S"
)

type GRPCSpecifiers

type GRPCSpecifiers struct {
	// Authority if present is used as the value of the Authority header in the health check.
	//
	// +optional
	Authority string `json:"authority,omitempty"`

	// Service allows the configuration of a Health check registered under a different service name.
	//
	// +optional
	Service string `json:"service,omitempty"`
}

GRPCSpecifiers defines the schema for GRPC HealthCheck.

func (*GRPCSpecifiers) DeepCopy

func (in *GRPCSpecifiers) DeepCopy() *GRPCSpecifiers

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

func (*GRPCSpecifiers) DeepCopyInto

func (in *GRPCSpecifiers) DeepCopyInto(out *GRPCSpecifiers)

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

type HTTPHeader

type HTTPHeader struct {
	// Name is the name of the HTTP Header to be matched. Name matching MUST be
	// case insensitive. (See https://tools.ietf.org/html/rfc7230#section-3.2).
	//
	// If multiple entries specify equivalent header names, the first entry with
	// an equivalent name MUST be considered for a match. Subsequent entries
	// with an equivalent header name MUST be ignored. Due to the
	// case-insensitivity of header names, "foo" and "Foo" are considered
	// equivalent.
	Name HTTPHeaderName `json:"name"`

	// Value is the value of HTTP Header to be matched.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=4096
	Value string `json:"value"`
}

HTTPHeader represents an HTTP Header name and value as defined by RFC 7230.

func (*HTTPHeader) DeepCopy

func (in *HTTPHeader) DeepCopy() *HTTPHeader

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

func (*HTTPHeader) DeepCopyInto

func (in *HTTPHeader) DeepCopyInto(out *HTTPHeader)

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

type HTTPHeaderName

type HTTPHeaderName HeaderName

HTTPHeaderName is the name of an HTTP header.

Valid values include:

* "Authorization" * "Set-Cookie"

Invalid values include:

  • ":method" - ":" is an invalid character. This means that HTTP/2 pseudo headers aren't currently supported by this type.
  • "/invalid" - "/ " is an invalid character

type HTTPMatch

type HTTPMatch struct {
	// Body defines the HTTP body matchers to use for HealthCheck checks.
	//
	// +optional
	Body string `json:"body,omitempty"`

	// StatusCodes defines the HTTP status code matchers to use for HealthCheck checks.
	//
	// +optional
	StatusCodes []*StatusCodes `json:"statusCodes,omitempty"`
}

HTTPMatch defines the HTTP matchers to use for HealthCheck checks.

func (*HTTPMatch) DeepCopy

func (in *HTTPMatch) DeepCopy() *HTTPMatch

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

func (*HTTPMatch) DeepCopyInto

func (in *HTTPMatch) DeepCopyInto(out *HTTPMatch)

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

type HTTPPathModifier

type HTTPPathModifier struct {
	// Type defines the type of path modifier. More types may be
	// added in a future release of the API.
	//
	// Values may be added to this enum, implementations
	// must ensure unknown values won't cause a crash.
	//
	// Unknown values here must result in the implementation setting the
	// Accepted Condition for the rule to be false
	//
	// +kubebuilder:validation:Enum=ReplaceFullPath;ReplacePrefixMatch
	Type HTTPPathModifierType `json:"type"`

	// ReplaceFullPath specifies the value with which to replace the full path
	// of a request during a rewrite or redirect.
	//
	// +kubebuilder:validation:MaxLength=1024
	// +optional
	ReplaceFullPath *string `json:"replaceFullPath,omitempty"`

	// ReplacePrefixMatch specifies the value with which to replace the prefix
	// match of a request during a rewrite or redirect. For example, a request
	// to "/foo/bar" with a prefix match of "/foo" and a ReplacePrefixMatch
	// of "/xyz" would be modified to "/xyz/bar".
	//
	// This matches the behavior of the PathPrefix match type. This
	// matches full path elements. A path element refers to the list of labels
	// in the path split by the `/` separator. When specified, a trailing `/` is
	// ignored. For example, the paths `/abc`, `/abc/`, and `/abc/def` would all
	// match the prefix `/abc`, but the path `/abcd` wouldn't.
	//
	// ReplacePrefixMatch is only compatible with a `PathPrefix` HTTPRouteMatch.
	// Using any other HTTPRouteMatch type on the same HTTPRouteRule results in
	// the implementation setting the Accepted Condition for the Route to `status: False`.
	//
	// Request Path | Prefix Match | Replace Prefix | Modified Path
	// |------------|--------------|----------------|----------
	// /foo/bar     | /foo         | /xyz           | /xyz/bar
	// /foo/bar     | /foo         | /xyz/          | /xyz/bar
	// /foo/bar     | /foo/        | /xyz           | /xyz/bar
	// /foo/bar     | /foo/        | /xyz/          | /xyz/bar
	// /foo         | /foo         | /xyz           | /xyz
	// /foo/        | /foo         | /xyz           | /xyz/
	// /foo/bar     | /foo         | <empty string> | /bar
	// /foo/        | /foo         | <empty string> | /
	// /foo         | /foo         | <empty string> | /
	// /foo/        | /foo         | /              | /
	// /foo         | /foo         | /              | /
	//
	// +kubebuilder:validation:MaxLength=1024
	// +optional
	ReplacePrefixMatch *string `json:"replacePrefixMatch,omitempty"`
}

HTTPPathModifier defines configuration for path modifiers.

func (*HTTPPathModifier) DeepCopy

func (in *HTTPPathModifier) DeepCopy() *HTTPPathModifier

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

func (*HTTPPathModifier) DeepCopyInto

func (in *HTTPPathModifier) DeepCopyInto(out *HTTPPathModifier)

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

type HTTPPathModifierType

type HTTPPathModifierType string

HTTPPathModifierType defines the type of path redirect or rewrite.

const (
	//  FullPathHTTPPathModifier replaces the full path with the specified value.
	FullPathHTTPPathModifier HTTPPathModifierType = "ReplaceFullPath"

	// PrefixMatchHTTPPathModifier replaces any prefix path with the
	// substitution value. For example, a path with a prefix
	// match of "/foo" and a ReplacePrefixMatch substitution of "/bar"
	// replace "/foo" with "/bar" in matching requests.
	//
	// This matches the behavior of the PathPrefix match type. This
	// matches full path elements. A path element refers to the list of labels
	// in the path split by the `/` separator. When specified, a trailing `/` is
	// ignored. For example, the paths `/abc`, `/abc/`, and `/abc/def` would all
	// match the prefix `/abc`, but the path `/abcd` wouldn't.
	PrefixMatchHTTPPathModifier HTTPPathModifierType = "ReplacePrefixMatch"
)

type HTTPSpecifiers

type HTTPSpecifiers struct {
	// Host is the host header value to use for HealthCheck checks.
	//
	// +optional
	Host string `json:"host,omitempty"`

	// Path is the path to use for HealthCheck checks.
	//
	// +optional
	Path string `json:"path,omitempty"`

	// Match defines the HTTP matchers to use for HealthCheck checks.
	//
	// +optional
	Match *HTTPMatch `json:"match,omitempty"`
}

HTTPSpecifiers defines the schema for HTTP HealthCheck check specification.

func (*HTTPSpecifiers) DeepCopy

func (in *HTTPSpecifiers) DeepCopy() *HTTPSpecifiers

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

func (*HTTPSpecifiers) DeepCopyInto

func (in *HTTPSpecifiers) DeepCopyInto(out *HTTPSpecifiers)

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

type HeaderFilter

type HeaderFilter struct {
	// Set overwrites the request with the given header (name, value)
	// before the action.
	//
	// Input:
	//   GET /foo HTTP/1.1
	//   my-header: foo
	//
	// Config:
	//   set:
	//   - name: "my-header"
	//     value: "bar"
	//
	// Output:
	//   GET /foo HTTP/1.1
	//   my-header: bar
	//
	// +optional
	// +listType=map
	// +listMapKey=name
	// +kubebuilder:validation:MaxItems=16
	Set []HTTPHeader `json:"set,omitempty"`

	// Add adds the given header(s) (name, value) to the request
	// before the action. It appends to any existing values associated
	// with the header name.
	//
	// Input:
	//   GET /foo HTTP/1.1
	//   my-header: foo
	//
	// Config:
	//   add:
	//   - name: "my-header"
	//     value: "bar,baz"
	//
	// Output:
	//   GET /foo HTTP/1.1
	//   my-header: foo,bar,baz
	//
	// +optional
	// +listType=map
	// +listMapKey=name
	// +kubebuilder:validation:MaxItems=16
	Add []HTTPHeader `json:"add,omitempty"`

	// Remove the given header(s) from the HTTP request before the action. The
	// value of Remove is a list of HTTP header names. Header names
	// are case-insensitive (see
	// https://datatracker.ietf.org/doc/html/rfc2616#section-4.2).
	//
	// Input:
	//   GET /foo HTTP/1.1
	//   my-header1: foo
	//   my-header2: bar
	//   my-header3: baz
	//
	// Config:
	//   remove: ["my-header1", "my-header3"]
	//
	// Output:
	//   GET /foo HTTP/1.1
	//   my-header2: bar
	//
	// +optional
	// +kubebuilder:validation:MaxItems=16
	Remove []string `json:"remove,omitempty"`
}

HeaderFilter defines a filter that modifies the headers of an HTTP request or response. Only one action for a given header name is permitted. Filters specifying multiple actions of the same or different type for any one header name are invalid and rejected. Configuration to set or add multiple values for a header must use RFC 7230 header value formatting, separating each value with a comma.

func (*HeaderFilter) DeepCopy

func (in *HeaderFilter) DeepCopy() *HeaderFilter

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

func (*HeaderFilter) DeepCopyInto

func (in *HeaderFilter) DeepCopyInto(out *HeaderFilter)

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

type HeaderName

type HeaderName string

HeaderName is the name of a header or query parameter.

+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=256 +kubebuilder:validation:Pattern=`^[A-Za-z0-9!#$%&'*+\-.^_\x60|~]+$` +k8s:deepcopy-gen=false

type HealthCheckPolicy

type HealthCheckPolicy struct {
	// Object's type metadata.
	metav1.TypeMeta `json:",inline"`

	// Object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the HealthCheckPolicy specification.
	Spec HealthCheckPolicySpec `json:"spec,omitempty"`

	// Status defines the current state of HealthCheckPolicy.
	//
	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	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.

func (HealthCheckPolicy) GetNamespacedName

func (h HealthCheckPolicy) GetNamespacedName() types.NamespacedName

GetNamespacedName returns the policy's name.

type HealthCheckPolicyConditionReason

type HealthCheckPolicyConditionReason string

HealthCheckPolicyConditionReason defines the set of reasons that explain why a particular HealthCheckPolicy condition type is raised.

type HealthCheckPolicyConditionType

type HealthCheckPolicyConditionType string

HealthCheckPolicyConditionType is a type of condition associated with a HealthCheckPolicy. This type should be used with the HealthCheckPolicyStatus.Conditions field.

type HealthCheckPolicyConfig

type HealthCheckPolicyConfig struct {
	// Interval is the number of seconds between HealthCheck checks.
	//
	// +optional
	Interval metav1.Duration `json:"interval,omitempty"`

	// Timeout is the number of seconds after which the HealthCheck check is
	// considered failed.
	//
	// +optional
	Timeout metav1.Duration `json:"timeout,omitempty"`

	// Port is the port to use for HealthCheck checks.
	//
	// +optional
	Port int32 `json:"port,omitempty"`

	// UnhealthyThreshold is the number of consecutive failed HealthCheck checks.
	//
	// +optional
	UnhealthyThreshold int32 `json:"unhealthyThreshold,omitempty"`

	// HealthyThreshold is the number of consecutive successful HealthCheck checks.
	//
	// +optional
	HealthyThreshold int32 `json:"healthyThreshold,omitempty"`

	// UseTLS indicates whether health check should enforce TLS.
	// By default, health check will use the same protocol as the
	// service if the same port is used for health check. If the port
	// is different, health check will be plaintext.
	//
	// +optional
	UseTLS bool `json:"useTLS,omitempty"`

	// HTTP defines the HTTP constraint specification for the HealthCheck of a
	// target resource.
	//
	// +optional
	HTTP *HTTPSpecifiers `json:"http,omitempty"`

	// GRPC configures a gRPC v1 HealthCheck (https://github.com/grpc/grpc-proto/blob/master/grpc/health/v1/health.proto)
	// against the target resource.
	GRPC *GRPCSpecifiers `json:"grpc,omitempty"`
}

HealthCheckPolicyConfig defines the schema for HealthCheck check specification.

func (*HealthCheckPolicyConfig) DeepCopy

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

func (*HealthCheckPolicyConfig) DeepCopyInto

func (in *HealthCheckPolicyConfig) DeepCopyInto(out *HealthCheckPolicyConfig)

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

type HealthCheckPolicyList

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

HealthCheckPolicyList contains a list of HealthCheckPolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

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 identifies an API object to apply policy to.
	TargetRef CustomTargetRef `json:"targetRef"`

	// Override defines policy configuration that should override policy
	// configuration attached below the targeted resource in the hierarchy.
	//
	// Note: Override is currently not supported and will result in a validation error.
	// Support for Override will be added in a future release.
	//
	// +optional
	Override *HealthCheckPolicyConfig `json:"override,omitempty"`

	// Default defines default policy configuration for the targeted resource.
	//
	// +optional
	Default *HealthCheckPolicyConfig `json:"default,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.
	//
	// Implementations should prefer to express HealthCheckPolicy conditions
	// using the `HealthCheckPolicyConditionType` and `HealthCheckPolicyConditionReason`
	// constants so that operators and tools can converge on a common
	// vocabulary to describe HealthCheckPolicy state.
	//
	// +optional
	// Known condition types are:
	//
	// * "Accepted"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	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 IngressBackendPort

type IngressBackendPort struct {
	// Port indicates the port  on the backend service
	// +optional
	Port *int32 `json:"port"`

	// Name must refer to a name on a port on the backend service
	// +optional
	Name *string `json:"name"`

	// Protocol should be one of "HTTP", "HTTPS"
	// +kubebuilder:validation:Enum=HTTP;HTTPS
	Protocol Protocol `json:"protocol"`
}

IngressBackendPort describes a port on a backend. Only one of Name/Number should be defined.

func (*IngressBackendPort) DeepCopy

func (in *IngressBackendPort) DeepCopy() *IngressBackendPort

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

func (*IngressBackendPort) DeepCopyInto

func (in *IngressBackendPort) DeepCopyInto(out *IngressBackendPort)

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

type IngressBackendSettingStatus

type IngressBackendSettingStatus struct {
	// Service identifies the BackendSetting this status describes
	Service string `json:"service"`

	// Errors are a list of errors relating to this setting
	// +optional
	Errors []string `json:"validationErrors"`

	// Valid indicates that there are no validation errors present on this BackendSetting
	Valid bool `json:"valid"`
}

IngressBackendSettingStatus describes the state of a BackendSetting

func (*IngressBackendSettingStatus) DeepCopy

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

func (*IngressBackendSettingStatus) DeepCopyInto

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

type IngressBackendSettings

type IngressBackendSettings struct {
	// Service is the name of a backend service that this configuration applies to
	Service string `json:"service"`

	// Ports can be used to indicate if the backend service is listening on HTTP or HTTPS
	// +optional
	Ports []IngressBackendPort `json:"ports,omitempty"`

	// TrustedRootCertificate can be used to supply a certificate for the gateway to trust when communicating to the
	// backend on a port specified as https
	// +optional
	TrustedRootCertificate string `json:"trustedRootCertificate,omitempty"`

	// SessionAffinity allows client requests to be consistently given to the same backend
	// +optional
	*SessionAffinity `json:"sessionAffinity,omitempty"`

	// Timeouts define a set of timeout parameters to be applied to an Ingress
	// +optional
	Timeouts IngressTimeouts `json:"timeouts,omitempty"`

	// LoadBalancing defines the load balancing policy for the backend service
	// +optional
	*BackendLoadBalancingPolicySpec `json:"loadBalancingPolicySpec,omitempty"`
}

IngressBackendSettings provides extended configuration options for a backend service

func (*IngressBackendSettings) DeepCopy

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

func (*IngressBackendSettings) DeepCopyInto

func (in *IngressBackendSettings) DeepCopyInto(out *IngressBackendSettings)

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

type IngressExtension

type IngressExtension struct {
	// Object's type metadata.
	metav1.TypeMeta `json:",inline"`

	// Object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the IngressExtension specification.
	Spec IngressExtensionSpec `json:"spec,omitempty"`

	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status IngressExtensionStatus `json:"status"`
}

IngressExtension is the schema for the IngressExtension API

func (*IngressExtension) DeepCopy

func (in *IngressExtension) DeepCopy() *IngressExtension

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

func (*IngressExtension) DeepCopyInto

func (in *IngressExtension) DeepCopyInto(out *IngressExtension)

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

func (*IngressExtension) DeepCopyObject

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

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

type IngressExtensionConditionReason

type IngressExtensionConditionReason string

IngressExtensionConditionReason defines the set of reasons that explain why a particular IngressExtension condition type is raised.

type IngressExtensionConditionType

type IngressExtensionConditionType string

IngressExtensionConditionType is a type of condition associated with a IngressExtension. This type should be used with the IngressExtensionStatus.Conditions field.

type IngressExtensionList

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

IngressExtensionList contains a list of IngressExtension. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*IngressExtensionList) DeepCopy

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

func (*IngressExtensionList) DeepCopyInto

func (in *IngressExtensionList) DeepCopyInto(out *IngressExtensionList)

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

func (*IngressExtensionList) DeepCopyObject

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

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

type IngressExtensionSpec

type IngressExtensionSpec struct {
	// Rules define the rules per host
	// +optional
	Rules []IngressRuleSetting `json:"rules,omitempty"`

	// BackendSettings defines a set of configuration options for Ingress service backends
	// +optional
	BackendSettings []IngressBackendSettings `json:"backendSettings,omitempty"`
}

IngressExtensionSpec defines the desired configuration of IngressExtension

func (*IngressExtensionSpec) DeepCopy

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

func (*IngressExtensionSpec) DeepCopyInto

func (in *IngressExtensionSpec) DeepCopyInto(out *IngressExtensionSpec)

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

type IngressExtensionStatus

type IngressExtensionStatus struct {
	// Rules have detailed status information regarding each Rule
	// +optional
	Rules []IngressRuleStatus `json:"rules,omitempty"`

	// BackendSettings has detailed status information regarding each BackendSettings
	// +optional
	BackendSettings []IngressBackendSettingStatus `json:"backendSettings,omitempty"`

	// Conditions describe the current conditions of the IngressExtension.
	// +optional
	// Known condition types are:
	//
	// * "Accepted"
	// * "Errors"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"},{type: "ValidationErrors", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

IngressExtensionStatus describes the current state of the IngressExtension

func (*IngressExtensionStatus) DeepCopy

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

func (*IngressExtensionStatus) DeepCopyInto

func (in *IngressExtensionStatus) DeepCopyInto(out *IngressExtensionStatus)

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

type IngressRewrites

type IngressRewrites struct {
	// Type identifies the type of rewrite
	// +kubebuilder:validation:Enum=RequestHeaderModifier;ResponseHeaderModifier;URLRewrite
	Type RewriteType `json:"type"`

	// RequestHeaderModifier defines a schema that modifies request headers.
	// +optional
	RequestHeaderModifier *HeaderFilter `json:"requestHeaderModifier,omitempty"`

	// RequestHeaderModifier defines a schema that modifies response headers.
	// +optional
	ResponseHeaderModifier *HeaderFilter `json:"responseHeaderModifier,omitempty"`

	// URLRewrite defines a schema that modifies a request during forwarding.
	// +optional
	URLRewrite *URLRewriteFilter `json:"urlRewrite,omitempty"`
}

IngressRewrites provides the various rewrites supported on a rule

func (*IngressRewrites) DeepCopy

func (in *IngressRewrites) DeepCopy() *IngressRewrites

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

func (*IngressRewrites) DeepCopyInto

func (in *IngressRewrites) DeepCopyInto(out *IngressRewrites)

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

type IngressRuleSetting

type IngressRuleSetting struct {
	// Host is used to match against Ingress rules with the same hostname in order to identify which rules affect these settings
	Host string `json:"host"`

	// AdditionalHostnames specifies more hostnames to listen on
	// +optional
	AdditionalHostnames []string `json:"additionalHostnames,omitempty"`

	// Rewrites defines the rewrites for the rule
	// +optional
	Rewrites []IngressRewrites `json:"rewrites,omitempty"`

	// RequestRedirect defines the redirect behavior for the rule
	// +optional
	RequestRedirect *Redirect `json:"requestRedirect,omitempty"`
}

IngressRuleSetting provides configuration options for rules

func (*IngressRuleSetting) DeepCopy

func (in *IngressRuleSetting) DeepCopy() *IngressRuleSetting

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

func (*IngressRuleSetting) DeepCopyInto

func (in *IngressRuleSetting) DeepCopyInto(out *IngressRuleSetting)

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

type IngressRuleStatus

type IngressRuleStatus struct {
	// Host identifies the rule this status describes
	Host string `json:"host"`

	// Errors are a list of errors relating to this setting
	// +optional
	Errors []string `json:"validationErrors"`

	// Valid indicates that there are no validation errors present on this rule
	// +optional
	Valid bool `json:"valid"`
}

IngressRuleStatus describes the state of a rule

func (*IngressRuleStatus) DeepCopy

func (in *IngressRuleStatus) DeepCopy() *IngressRuleStatus

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

func (*IngressRuleStatus) DeepCopyInto

func (in *IngressRuleStatus) DeepCopyInto(out *IngressRuleStatus)

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

type IngressTimeouts

type IngressTimeouts struct {
	// RequestTimeout defines the timeout used by the load balancer when forwarding requests to a backend service
	// +optional
	RequestTimeout metav1.Duration `json:"requestTimeout,omitempty"`
}

IngressTimeouts can be used to configure timeout properties for an Ingress

func (*IngressTimeouts) DeepCopy

func (in *IngressTimeouts) DeepCopy() *IngressTimeouts

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

func (*IngressTimeouts) DeepCopyInto

func (in *IngressTimeouts) DeepCopyInto(out *IngressTimeouts)

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

type LoadAwareConfig

type LoadAwareConfig struct {
	// An endpoint must report load metrics continuously for at least this long before the endpoint
	// metrics will be used to influence load balancing decisions. Takes effect both immediately after
	// we establish a connection to an endpoint and after `metricExpirationPeriod` has elapsed.
	// Default is 10 seconds.
	//
	// +optional
	BlackoutPeriod metav1.Duration `json:"blackoutPeriod"`

	// If the endpoint does not report load metrics for this duration, metrics will stop
	// being used to influence load balancing decisions. Default is 3 minutes.
	//
	// +optional
	MetricExpirationPeriod metav1.Duration `json:"metricExpirationPeriod"`

	// The multiplier used to adjust endpoint weights with the error rated calculated based
	// on the reported `rps_fractional` and `eps` load metrics. Must not be a negative value.
	// Default is 1.0.
	//
	// +optional
	// +kubebuilder:default=`1.0`
	// +kubebuilder:validation:Pattern=`^([0-9]+([.][0-9]+)?|[.][0-9]+)$`
	ErrorUtilizationPenalty string `json:"errorUtilizationPenalty,omitempty"`

	// A list of custom metrics reported by endpoints to be used for reporting utilization
	// and influencing load balancing decisions. Utilization will be computed by taking the
	// max of the values of metrics specified in this list.
	//
	// +optional
	// +kubebuilder:validation:MaxItems=10
	NamedMetrics []string `json:"namedMetrics,omitempty"`
}

LoadAwareConfig defines the configuration for load aware routing.

func (*LoadAwareConfig) DeepCopy

func (in *LoadAwareConfig) DeepCopy() *LoadAwareConfig

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

func (*LoadAwareConfig) DeepCopyInto

func (in *LoadAwareConfig) DeepCopyInto(out *LoadAwareConfig)

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

type LoadBalancingConfig

type LoadBalancingConfig struct {
	// Strategy defines the policy to use when load balancing traffic to the backend service.
	// Default is round-robin.
	//
	// +optional
	Strategy LoadBalancingStrategy `json:"strategy,omitempty"`

	// SlowStart defines the schema for Slow Start specification
	// +optional
	SlowStart *SlowStartConfig `json:"slowStart,omitempty"`

	// LoadAware defines the schema for Load Aware Routing specification
	// +optional
	LoadAware *LoadAwareConfig `json:"loadAware,omitempty"`
}

LoadBalancingConfig defines the configuration for load balancing.

func (*LoadBalancingConfig) DeepCopy

func (in *LoadBalancingConfig) DeepCopy() *LoadBalancingConfig

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

func (*LoadBalancingConfig) DeepCopyInto

func (in *LoadBalancingConfig) DeepCopyInto(out *LoadBalancingConfig)

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

type LoadBalancingStrategy

type LoadBalancingStrategy string

LoadBalancingStrategy defines the policy to use when balancing traffic across a service

+kubebuilder:validation:Enum=round-robin;least-request;load-aware

const (
	// LoadBalancingRoundRobin is used to set the LoadBalancingStrategy to round-robin
	LoadBalancingRoundRobin LoadBalancingStrategy = "round-robin"

	// LoadBalancingLeastRequest is used to set the LoadBalancingStrategy to least-request
	LoadBalancingLeastRequest LoadBalancingStrategy = "least-request"

	// LoadBalancingRingHash is used to set the LoadBalancingStrategy to ring-hash
	LoadBalancingRingHash LoadBalancingStrategy = "ring-hash"

	// LoadBalancingLoadAware is used to set the LoadBalancingStrategy to load-aware
	LoadBalancingLoadAware LoadBalancingStrategy = "load-aware"
)

type MTLSPolicyVerify

type MTLSPolicyVerify struct {
	// CaCertificateRef is the CA certificate used to verify peer certificate.
	//
	// +kubebuilder:validation:Required
	CaCertificateRef *gatewayapi_v1.SecretObjectReference `json:"caCertificateRef,omitempty"`

	// SubjectAltNames is the list of subject alternative names used to verify peer
	// certificate.
	//
	// +optional
	SubjectAltNames []string `json:"subjectAltNames,omitempty"`
}

MTLSPolicyVerify defines the schema for the MTLSPolicyVerify API.

func (*MTLSPolicyVerify) DeepCopy

func (in *MTLSPolicyVerify) DeepCopy() *MTLSPolicyVerify

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

func (*MTLSPolicyVerify) DeepCopyInto

func (in *MTLSPolicyVerify) DeepCopyInto(out *MTLSPolicyVerify)

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

type PolicyConditionReason

type PolicyConditionReason string

PolicyConditionReason is the type of reason used for different ALB related policy CRDs.

const (
	PolicyReasonPending PolicyConditionReason = "Pending"
	PolicyReasonInvalid PolicyConditionReason = "Invalid"
)

Reasons applicable to each condition type

const (
	PolicyReasonAccepted             PolicyConditionReason = "Accepted"
	PolicyReasonOverrideNotSupported PolicyConditionReason = "OverrideNotSupported"
)

Accepted Condition Reasons

const (
	PolicyReasonResolvedRefs             PolicyConditionReason = "ResolvedRefs"
	PolicyReasonConflicted               PolicyConditionReason = "Conflicted"
	PolicyReasonRefNotPermitted          PolicyConditionReason = "RefNotPermitted"
	PolicyReasonInvalidCertificateRef    PolicyConditionReason = "InvalidCertificateRef"
	PolicyReasonNoTargetReference        PolicyConditionReason = "NoTargetReference"
	PolicyReasonInvalidGroup             PolicyConditionReason = "InvalidGroup"
	PolicyReasonInvalidKind              PolicyConditionReason = "InvalidKind"
	PolicyReasonInvalidName              PolicyConditionReason = "InvalidName"
	PolicyReasonInvalidTargetRef         PolicyConditionReason = "InvalidTargetReference"
	PolicyReasonSectionNamesNotPermitted PolicyConditionReason = "SectionNamesNotPermitted"
	PolicyReasonInvalidService           PolicyConditionReason = "InvalidService"
)

ResolvedRefs Condition Reasons

const (
	PolicyReasonDeployed         PolicyConditionReason = "Deployed"
	PolicyReasonDeploymentFailed PolicyConditionReason = "DeploymentFailed"
	PolicyReasonNoDeployment     PolicyConditionReason = "NoDeployment"
)

Deployment Condition Reasons

const (
	PolicyReasonProgrammed        PolicyConditionReason = "Programmed"
	PolicyReasonProgrammingFailed PolicyConditionReason = "ProgrammingFailed"
	PolicyReasonOperationFailed   PolicyConditionReason = "OperationFailed"
)

Programmed Condition Reasons

type PolicyConditionType

type PolicyConditionType string

PolicyConditionType is the type of conditions used for different ALB related policy CRDs.

const (
	PolicyConditionTypeAccepted     PolicyConditionType = "Accepted"
	PolicyConditionTypeResolvedRefs PolicyConditionType = "ResolvedRefs"
	PolicyConditionTypeProgrammed   PolicyConditionType = "Programmed"
	PolicyConditionTypeDeployment   PolicyConditionType = "Deployment"
)

Policy Condition Types

type PolicyType

type PolicyType struct {
	// Name is the name of the policy.
	Name FrontendTLSPolicyTypeName `json:"name"`

	// FrontendTLSPolicyType specifies the frontend TLS policy type
	FrontendTLSPolicyType FrontendTLSPolicyType `json:"type"`
}

PolicyType is the type of the policy.

func (*PolicyType) DeepCopy

func (in *PolicyType) DeepCopy() *PolicyType

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

func (*PolicyType) DeepCopyInto

func (in *PolicyType) DeepCopyInto(out *PolicyType)

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

type PortNumber

type PortNumber int32

PortNumber defines a network port.

+kubebuilder:validation:Minimum=1 +kubebuilder:validation:Maximum=65535

type PreciseHostname

type PreciseHostname string

PreciseHostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with one notable exception that numeric IP addresses aren't allowed.

Per RFC1035 and RFC1123, a *label* must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed.

+kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=253 +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`

type Protocol

type Protocol string

Protocol defines the protocol used for certain properties. Valid Protocol values are:

* HTTP * HTTPS * TCP

const (
	// ProtocolHTTP implies that the service uses HTTP.
	ProtocolHTTP Protocol = "HTTP"

	// ProtocolHTTPS implies that the service uses HTTPS.
	ProtocolHTTPS Protocol = "HTTPS"

	// ProtocolTCP implies that the service uses plain TCP.
	ProtocolTCP Protocol = "TCP"
)

type Redirect

type Redirect struct {
	// Scheme is the scheme to be used in the value of the `Location` header in
	// the response. When empty, the scheme of the request is used.
	//
	//
	// +optional
	// +kubebuilder:validation:Enum=http;https
	Scheme *string `json:"scheme,omitempty"`

	// Hostname is the hostname to be used in the value of the `Location`
	// header in the response.
	// When empty, the hostname in the `Host` header of the request is used.
	//
	// +optional
	Hostname *PreciseHostname `json:"hostname,omitempty"`

	// Path defines parameters used to modify the path of the incoming request.
	// The modified path is then used to construct the `Location` header. When
	// empty, the request path is used as-is.
	//
	// +optional
	Path *HTTPPathModifier `json:"path,omitempty"`

	// Port is the port to be used in the value of the `Location`
	// header in the response.
	//
	// If no port is specified, the redirect port MUST be derived using the
	// following rules:
	//
	// * If redirect scheme is not-empty, the redirect port MUST be the well-known
	//   port associated with the redirect scheme. Specifically "http" to port 80
	//   and "https" to port 443. If the redirect scheme doesn't have a
	//   well-known port, the listener port of the Gateway SHOULD be used.
	// * If redirect scheme is empty, the redirect port MUST be the Gateway
	//   Listener port.
	//
	// Implementations SHOULD NOT add the port number in the 'Location'
	// header in the following cases:
	//
	// * A Location header that uses HTTP (whether that is determined via
	//   the Listener protocol or the Scheme field) _and_ use port 80.
	// * A Location header that uses HTTPS (whether that is determined via
	//   the Listener protocol or the Scheme field) _and_ use port 443.
	//
	// +optional
	Port *PortNumber `json:"port,omitempty"`

	// StatusCode is the HTTP status code to be used in response.
	//
	// Values may be added to this enum, implementations
	// must ensure that unknown values won't cause a crash.
	//
	// +optional
	// +kubebuilder:default=302
	// +kubebuilder:validation:Enum=301;302;303;307;308
	StatusCode *int `json:"statusCode,omitempty"`
}

Redirect defines a filter that redirects a request. This MUST NOT be used on the same rule that also has a URLRewriteFilter.

func (*Redirect) DeepCopy

func (in *Redirect) DeepCopy() *Redirect

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

func (*Redirect) DeepCopyInto

func (in *Redirect) DeepCopyInto(out *Redirect)

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

type RewriteType

type RewriteType string

RewriteType identifies the rewrite type

const (
	// RequestHeaderModifier can be used to add or remove an HTTP
	// header from an HTTP request before it's sent to the upstream target.
	RequestHeaderModifier RewriteType = "RequestHeaderModifier"

	// ResponseHeaderModifier can be used to add or remove an HTTP
	// header from an HTTP response before it's sent to the client.
	ResponseHeaderModifier RewriteType = "ResponseHeaderModifier"

	// URLRewrite can be used to modify a request during forwarding.
	URLRewrite RewriteType = "URLRewrite"
)

type RoutePolicy

type RoutePolicy struct {
	// Object's type metadata.
	metav1.TypeMeta `json:",inline"`

	// Object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the RoutePolicy specification.
	Spec RoutePolicySpec `json:"spec,omitempty"`

	// Status defines the current state of RoutePolicy.
	//
	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status RoutePolicyStatus `json:"status,omitempty"`
}

RoutePolicy is the schema for the RoutePolicy API.

func (*RoutePolicy) DeepCopy

func (in *RoutePolicy) DeepCopy() *RoutePolicy

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

func (*RoutePolicy) DeepCopyInto

func (in *RoutePolicy) DeepCopyInto(out *RoutePolicy)

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

func (*RoutePolicy) DeepCopyObject

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

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

func (RoutePolicy) GetNamespacedName

func (r RoutePolicy) GetNamespacedName() types.NamespacedName

GetNamespacedName returns the policy's name

type RoutePolicyConditionReason

type RoutePolicyConditionReason string

RoutePolicyConditionReason defines the set of reasons that explain why a particular RoutePolicy condition type is raised.

type RoutePolicyConditionType

type RoutePolicyConditionType string

RoutePolicyConditionType is a type of condition associated with a RoutePolicy. This type should be used with the RoutePolicyStatus.Conditions field.

type RoutePolicyConfig

type RoutePolicyConfig struct {
	// Custom Timeouts
	// Timeout for the target resource.
	// +optional
	RouteTimeouts *RouteTimeouts `json:"timeouts,omitempty"`

	// SessionAffinity defines the schema for Session Affinity specification
	// +optional
	SessionAffinity *SessionAffinity `json:"sessionAffinity,omitempty"`
}

RoutePolicyConfig defines the schema for RoutePolicy specification. This allows the specification of the following attributes: * Timeouts * Session Affinity

func (*RoutePolicyConfig) DeepCopy

func (in *RoutePolicyConfig) DeepCopy() *RoutePolicyConfig

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

func (*RoutePolicyConfig) DeepCopyInto

func (in *RoutePolicyConfig) DeepCopyInto(out *RoutePolicyConfig)

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

type RoutePolicyList

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

RoutePolicyList contains a list of RoutePolicy. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*RoutePolicyList) DeepCopy

func (in *RoutePolicyList) DeepCopy() *RoutePolicyList

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

func (*RoutePolicyList) DeepCopyInto

func (in *RoutePolicyList) DeepCopyInto(out *RoutePolicyList)

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

func (*RoutePolicyList) DeepCopyObject

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

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

type RoutePolicySpec

type RoutePolicySpec struct {
	// TargetRef identifies an API object to apply policy to.
	TargetRef CustomTargetRef `json:"targetRef"`

	// Override defines policy configuration that should override policy
	// configuration attached below the targeted resource in the hierarchy.
	//
	// Note: Override is currently not supported and result in a validation error.
	// Support for Override will be added in a future release.
	//
	// +optional
	Override *RoutePolicyConfig `json:"override,omitempty"`

	// Default defines default policy configuration for the targeted resource.
	//
	// +optional
	Default *RoutePolicyConfig `json:"default,omitempty"`
}

RoutePolicySpec defines the desired state of RoutePolicy.

func (*RoutePolicySpec) DeepCopy

func (in *RoutePolicySpec) DeepCopy() *RoutePolicySpec

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

func (*RoutePolicySpec) DeepCopyInto

func (in *RoutePolicySpec) DeepCopyInto(out *RoutePolicySpec)

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

type RoutePolicyStatus

type RoutePolicyStatus struct {
	// Conditions describe the current conditions of the RoutePolicy.
	//
	// Implementations should prefer to express RoutePolicy conditions
	// using the `RoutePolicyConditionType` and `RoutePolicyConditionReason`
	// constants so that operators and tools can converge on a common
	// vocabulary to describe RoutePolicy state.
	//
	// +optional
	// Known condition types are:
	//
	// * "Accepted"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

RoutePolicyStatus defines the observed state of RoutePolicy.

func (*RoutePolicyStatus) DeepCopy

func (in *RoutePolicyStatus) DeepCopy() *RoutePolicyStatus

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

func (*RoutePolicyStatus) DeepCopyInto

func (in *RoutePolicyStatus) DeepCopyInto(out *RoutePolicyStatus)

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

type RouteTimeouts

type RouteTimeouts struct {
	// RouteTimeout is the timeout for the route.
	//
	// +optional
	RouteTimeout metav1.Duration `json:"routeTimeout,omitempty"`
}

RouteTimeouts defines the schema for Timeouts specification.

func (*RouteTimeouts) DeepCopy

func (in *RouteTimeouts) DeepCopy() *RouteTimeouts

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

func (*RouteTimeouts) DeepCopyInto

func (in *RouteTimeouts) DeepCopyInto(out *RouteTimeouts)

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

type SessionAffinity

type SessionAffinity struct {
	// +kubebuilder:validation:Required
	AffinityType AffinityType `json:"affinityType,omitempty"`

	// +optional
	CookieName string `json:"cookieName,omitempty"`

	// +optional
	CookieDuration metav1.Duration `json:"cookieDuration,omitempty"`
}

SessionAffinity defines the schema for Session Affinity specification.

func (*SessionAffinity) DeepCopy

func (in *SessionAffinity) DeepCopy() *SessionAffinity

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

func (*SessionAffinity) DeepCopyInto

func (in *SessionAffinity) DeepCopyInto(out *SessionAffinity)

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

type SlowStartConfig

type SlowStartConfig struct {
	// The duration of the slow start window.
	// +required
	Window metav1.Duration `json:"window,omitempty"`

	// The speed of traffic increase over the slow start window, must be greater than 0.0.
	// Defaults to 1.0 if unspecified.
	//
	// +optional
	// +kubebuilder:default=`1.0`
	// +kubebuilder:validation:Pattern=`^([0-9]+([.][0-9]+)?|[.][0-9]+)$`
	Aggression string `json:"aggression,omitempty"`

	// The minimum or starting percentage of traffic to send to new endpoints.
	// Defaults to 10% if unspecified.
	//
	// +optional
	// +kubebuilder:default=10
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Maximum=100
	StartWeightPercent uint32 `json:"startWeightPercent,omitempty"`
}

SlowStartConfig defines the configuration for slow start.

func (*SlowStartConfig) DeepCopy

func (in *SlowStartConfig) DeepCopy() *SlowStartConfig

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

func (*SlowStartConfig) DeepCopyInto

func (in *SlowStartConfig) DeepCopyInto(out *SlowStartConfig)

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

type StatusCodes

type StatusCodes struct {
	// Start defines the start of the range of status codes to use for HealthCheck checks.
	// This is inclusive.
	//
	// +optional
	Start int32 `json:"start,omitempty"`

	// End defines the end of the range of status codes to use for HealthCheck checks.
	// This is inclusive.
	//
	// +optional
	End int32 `json:"end,omitempty"`
}

StatusCodes defines the HTTP status code matchers to use for HealthCheck checks.

func (*StatusCodes) DeepCopy

func (in *StatusCodes) DeepCopy() *StatusCodes

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

func (*StatusCodes) DeepCopyInto

func (in *StatusCodes) DeepCopyInto(out *StatusCodes)

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

type TargetRefSpec

type TargetRefSpec struct {
	// TargetRef identifies an API object to apply policy to.
	TargetRef CustomTargetRef `json:"targetRef"`

	// Ports specifies the list of ports on the target where the policy is applied.
	// +optional
	Ports []BackendLoadBalancingPolicyPort `json:"ports,omitempty"`
}

TargetRefSpec defines the target reference and ports for the backend load balancing policy.

func (*TargetRefSpec) DeepCopy

func (in *TargetRefSpec) DeepCopy() *TargetRefSpec

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

func (*TargetRefSpec) DeepCopyInto

func (in *TargetRefSpec) DeepCopyInto(out *TargetRefSpec)

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

type URLRewriteFilter

type URLRewriteFilter struct {
	// Hostname is the value to be used to replace the Host header value during
	// forwarding.
	// +optional
	Hostname *PreciseHostname `json:"hostname,omitempty"`

	// Path defines a path rewrite.
	// +optional
	Path *HTTPPathModifier `json:"path,omitempty"`
}

URLRewriteFilter defines a filter that modifies a request during forwarding. At most one of these filters may be used on a rule. This MUST NOT be used on the same rule having an sslRedirect.

func (*URLRewriteFilter) DeepCopy

func (in *URLRewriteFilter) DeepCopy() *URLRewriteFilter

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

func (*URLRewriteFilter) DeepCopyInto

func (in *URLRewriteFilter) DeepCopyInto(out *URLRewriteFilter)

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

type WebApplicationFirewallConfig

type WebApplicationFirewallConfig struct {
	ID string `json:"id"`
}

WebApplicationFirewallConfig defines the web application firewall policy configuration for the Application Gateway for Containers Security Policy child resource.

func (*WebApplicationFirewallConfig) DeepCopy

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

func (*WebApplicationFirewallConfig) DeepCopyInto

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

type WebApplicationFirewallPolicy

type WebApplicationFirewallPolicy struct {
	// Object's type metadata.
	metav1.TypeMeta `json:",inline"`

	// Object's metadata.
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Spec is the specifications for Application Gateway for Containers Security Policy child resource.
	Spec WebApplicationFirewallPolicySpec `json:"spec,omitempty"`

	// Status defines the current state of Application Gateway for Containers Security Policy child resource.
	//
	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status WebApplicationFirewallPolicyStatus `json:"status,omitempty"`
}

WebApplicationFirewallPolicy is the schema for the Application Gateway for Containers Security Policy child resource.

func (*WebApplicationFirewallPolicy) DeepCopy

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

func (*WebApplicationFirewallPolicy) DeepCopyInto

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

func (*WebApplicationFirewallPolicy) DeepCopyObject

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

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

func (WebApplicationFirewallPolicy) GetNamespacedName

func (f WebApplicationFirewallPolicy) GetNamespacedName() types.NamespacedName

GetNamespacedName returns the policy's name

func (WebApplicationFirewallPolicy) GetWAFPolicyID

func (f WebApplicationFirewallPolicy) GetWAFPolicyID() (string, bool)

GetWAFPolicyID returns the ID of the WebApplicationFirewallPolicy

type WebApplicationFirewallPolicyList

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

WebApplicationFirewallPolicyList lists the WebApplicationFirewallPolicy objects. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*WebApplicationFirewallPolicyList) DeepCopy

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

func (*WebApplicationFirewallPolicyList) DeepCopyInto

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

func (*WebApplicationFirewallPolicyList) DeepCopyObject

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

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

type WebApplicationFirewallPolicySpec

type WebApplicationFirewallPolicySpec struct {
	// TargetRef identifies an API object to apply policy to.
	TargetRef CustomTargetRef `json:"targetRef"`

	// WebApplicationFirewallPolicy is used to specify a WebApplicationPolicy resource
	WebApplicationFirewallPolicy *WebApplicationFirewallConfig `json:"webApplicationFirewall,omitempty"`
}

WebApplicationFirewallPolicySpec defines the desired state of WebApplicationFirewallPolicy.

func (*WebApplicationFirewallPolicySpec) DeepCopy

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

func (*WebApplicationFirewallPolicySpec) DeepCopyInto

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

type WebApplicationFirewallPolicyStatus

type WebApplicationFirewallPolicyStatus struct {

	// +optional
	// Known condition types are:
	//
	// * "Accepted"
	// * "Deployment"
	// * "ResolvedRefs"
	// * "Programmed"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

WebApplicationFirewallPolicyStatus defines the observed state of Application Gateway for Containers Security Policy child resource.

func (*WebApplicationFirewallPolicyStatus) DeepCopy

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

func (*WebApplicationFirewallPolicyStatus) DeepCopyInto

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

Jump to

Keyboard shortcuts

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