v1alpha1

package
v0.0.16 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2023 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Overview

+kubebuilder:object:generate=true +groupName=application-networking.k8s.aws

Index

Constants

View Source
const GroupName = "application-networking.k8s.aws"

GroupName specifies the group name used to register the objects.

View Source
const (
	TargetGroupPolicyKind = "TargetGroupPolicy"
)

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Depreciated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type HealthCheckConfig

type HealthCheckConfig struct {
	// Indicates whether health checking is enabled.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// The approximate amount of time, in seconds, between health checks of an individual target.
	// +optional
	// +kubebuilder:validation:Minimum=5
	// +kubebuilder:validation:Maximum=300
	IntervalSeconds *int64 `json:"intervalSeconds,omitempty"`

	// The amount of time, in seconds, to wait before reporting a target as unhealthy.
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=120
	TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty"`

	// The number of consecutive successful health checks required before considering an unhealthy target healthy.
	// +optional
	// +kubebuilder:validation:Minimum=2
	// +kubebuilder:validation:Maximum=10
	HealthyThresholdCount *int64 `json:"healthyThresholdCount,omitempty"`

	// The number of consecutive failed health checks required before considering a target unhealthy.
	// +optional
	// +kubebuilder:validation:Minimum=2
	// +kubebuilder:validation:Maximum=10
	UnhealthyThresholdCount *int64 `json:"unhealthyThresholdCount,omitempty"`

	// A regular expression to match HTTP status codes when checking for successful response from a target.
	// +optional
	StatusMatch *string `json:"statusMatch,omitempty"`

	// The destination for health checks on the targets.
	// +optional
	Path *string `json:"path,omitempty"`

	// The port used when performing health checks on targets. If not specified, health check defaults to the
	// port that a target receives traffic on.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int64 `json:"port,omitempty"`

	// The protocol used when performing health checks on targets.
	// +optional
	Protocol *HealthCheckProtocol `json:"protocol,omitempty"`

	// The protocol version used when performing health checks on targets. Defaults to HTTP/1.
	// +optional
	ProtocolVersion *HealthCheckProtocolVersion `json:"protocolVersion,omitempty"`
}

HealthCheckConfig defines health check configuration for given VPC Lattice target group. For the detailed explanation and supported values, please refer to VPC Lattice documentationon health checks.

func (*HealthCheckConfig) DeepCopy

func (in *HealthCheckConfig) DeepCopy() *HealthCheckConfig

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

func (*HealthCheckConfig) DeepCopyInto

func (in *HealthCheckConfig) DeepCopyInto(out *HealthCheckConfig)

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

type HealthCheckProtocol

type HealthCheckProtocol string

+kubebuilder:validation:Enum=HTTP;HTTPS

const (
	HealthCheckProtocolHTTP  HealthCheckProtocol = "HTTP"
	HealthCheckProtocolHTTPS HealthCheckProtocol = "HTTPS"
)

type HealthCheckProtocolVersion

type HealthCheckProtocolVersion string

+kubebuilder:validation:Enum=HTTP1;HTTP2

const (
	HealthCheckProtocolVersionHTTP1 HealthCheckProtocolVersion = "HTTP1"
	HealthCheckProtocolVersionHTTP2 HealthCheckProtocolVersion = "HTTP2"
)

type TargetGroupPolicy

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

	Spec TargetGroupPolicySpec `json:"spec"`
}

+genclient +kubebuilder:object:root=true +kubebuilder:resource:categories=gateway-api,shortName=tgp +kubebuilder:storageversion +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`

func (*TargetGroupPolicy) DeepCopy

func (in *TargetGroupPolicy) DeepCopy() *TargetGroupPolicy

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

func (*TargetGroupPolicy) DeepCopyInto

func (in *TargetGroupPolicy) DeepCopyInto(out *TargetGroupPolicy)

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

func (*TargetGroupPolicy) DeepCopyObject

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

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

type TargetGroupPolicyList

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

+kubebuilder:object:root=true TargetGroupPolicyList contains a list of TargetGroupPolicies.

func (*TargetGroupPolicyList) DeepCopy

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

func (*TargetGroupPolicyList) DeepCopyInto

func (in *TargetGroupPolicyList) DeepCopyInto(out *TargetGroupPolicyList)

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

func (*TargetGroupPolicyList) DeepCopyObject

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

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

type TargetGroupPolicySpec

type TargetGroupPolicySpec struct {
	// The protocol to use for routing traffic to the targets. Supported values are HTTP (default) and HTTPS.
	//
	// Changes to this value results in a replacement of VPC Lattice target group.
	// +optional
	Protocol *string `json:"protocol,omitempty"`

	// The protocol version to use. Supported values are HTTP1 (default) and HTTP2. When a policy is behind GRPCRoute,
	// this field value will be ignored as GRPC is only supported through HTTP/2.
	//
	// Changes to this value results in a replacement of VPC Lattice target group.
	// +optional
	ProtocolVersion *string `json:"protocolVersion,omitempty"`

	// TargetRef points to the kubernetes Service resource that will have this policy attached.
	//
	// This field is following the guidelines of Kubernetes Gateway API policy attachment.
	TargetRef *v1alpha2.PolicyTargetReference `json:"targetRef"`

	// The health check configuration.
	//
	// Changes to this value will update VPC Lattice resource in place.
	// +optional
	HealthCheck *HealthCheckConfig `json:"healthCheck,omitempty"`
}

TargetGroupPolicySpec defines the desired state of TargetGroupPolicy.

func (*TargetGroupPolicySpec) DeepCopy

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

func (*TargetGroupPolicySpec) DeepCopyInto

func (in *TargetGroupPolicySpec) DeepCopyInto(out *TargetGroupPolicySpec)

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