Documentation
¶
Overview ¶
+kubebuilder:object:generate=true +groupName=application-networking.k8s.aws
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type HealthCheckConfig
- type HealthCheckProtocol
- type HealthCheckProtocolVersion
- type SecurityGroupId
- type TargetGroupPolicy
- func (in *TargetGroupPolicy) DeepCopy() *TargetGroupPolicy
- func (in *TargetGroupPolicy) DeepCopyInto(out *TargetGroupPolicy)
- func (in *TargetGroupPolicy) DeepCopyObject() runtime.Object
- func (p *TargetGroupPolicy) GetNamespacedName() types.NamespacedName
- func (p *TargetGroupPolicy) GetTargetRef() *v1alpha2.PolicyTargetReference
- type TargetGroupPolicyList
- type TargetGroupPolicySpec
- type VpcAssociationPolicy
- func (in *VpcAssociationPolicy) DeepCopy() *VpcAssociationPolicy
- func (in *VpcAssociationPolicy) DeepCopyInto(out *VpcAssociationPolicy)
- func (in *VpcAssociationPolicy) DeepCopyObject() runtime.Object
- func (p *VpcAssociationPolicy) GetNamespacedName() types.NamespacedName
- func (p *VpcAssociationPolicy) GetTargetRef() *v1alpha2.PolicyTargetReference
- type VpcAssociationPolicyList
- type VpcAssociationPolicySpec
Constants ¶
const GroupName = "application-networking.k8s.aws"
GroupName specifies the group name used to register the objects.
const (
TargetGroupPolicyKind = "TargetGroupPolicy"
)
const (
VpcAssociationPolicyKind = "VpcAssociationPolicy"
)
Variables ¶
var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder // Depreciated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme Install = localSchemeBuilder.AddToScheme )
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}
GroupVersion specifies the group and the version used to register the objects.
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 SecurityGroupId ¶ added in v0.0.17
type SecurityGroupId string
+kubebuilder:validation:MaxLength=32 +kubebuilder:validation:MinLength=3 +kubebuilder:validation:Pattern=`^sg-[0-9a-z]+$`
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.
func (*TargetGroupPolicy) GetNamespacedName ¶ added in v0.0.17
func (p *TargetGroupPolicy) GetNamespacedName() types.NamespacedName
func (*TargetGroupPolicy) GetTargetRef ¶ added in v0.0.17
func (p *TargetGroupPolicy) GetTargetRef() *v1alpha2.PolicyTargetReference
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 ¶
func (in *TargetGroupPolicyList) DeepCopy() *TargetGroupPolicyList
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.
func (*TargetGroupPolicyList) GetItems ¶ added in v0.0.17
func (pl *TargetGroupPolicyList) GetItems() []core.Policy
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 ¶
func (in *TargetGroupPolicySpec) DeepCopy() *TargetGroupPolicySpec
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.
type VpcAssociationPolicy ¶ added in v0.0.17
type VpcAssociationPolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VpcAssociationPolicySpec `json:"spec"`
}
+genclient +kubebuilder:object:root=true +kubebuilder:resource:categories=gateway-api,shortName=vap +kubebuilder:storageversion +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
func (*VpcAssociationPolicy) DeepCopy ¶ added in v0.0.17
func (in *VpcAssociationPolicy) DeepCopy() *VpcAssociationPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VpcAssociationPolicy.
func (*VpcAssociationPolicy) DeepCopyInto ¶ added in v0.0.17
func (in *VpcAssociationPolicy) DeepCopyInto(out *VpcAssociationPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VpcAssociationPolicy) DeepCopyObject ¶ added in v0.0.17
func (in *VpcAssociationPolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VpcAssociationPolicy) GetNamespacedName ¶ added in v0.0.17
func (p *VpcAssociationPolicy) GetNamespacedName() types.NamespacedName
func (*VpcAssociationPolicy) GetTargetRef ¶ added in v0.0.17
func (p *VpcAssociationPolicy) GetTargetRef() *v1alpha2.PolicyTargetReference
type VpcAssociationPolicyList ¶ added in v0.0.17
type VpcAssociationPolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VpcAssociationPolicy `json:"items"`
}
+kubebuilder:object:root=true VpcAssociationPolicyList contains a list of VpcAssociationPolicies.
func (*VpcAssociationPolicyList) DeepCopy ¶ added in v0.0.17
func (in *VpcAssociationPolicyList) DeepCopy() *VpcAssociationPolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VpcAssociationPolicyList.
func (*VpcAssociationPolicyList) DeepCopyInto ¶ added in v0.0.17
func (in *VpcAssociationPolicyList) DeepCopyInto(out *VpcAssociationPolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VpcAssociationPolicyList) DeepCopyObject ¶ added in v0.0.17
func (in *VpcAssociationPolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*VpcAssociationPolicyList) GetItems ¶ added in v0.0.17
func (pl *VpcAssociationPolicyList) GetItems() []core.Policy
type VpcAssociationPolicySpec ¶ added in v0.0.17
type VpcAssociationPolicySpec struct {
// SecurityGroupIds defines the security groups enforced on the VpcServiceNetworkAssociation.
// Security groups does not take effect if AssociateWithVpc is set to false.
//
// For more details, please check the VPC Lattice documentation https://docs.aws.amazon.com/vpc-lattice/latest/ug/security-groups.html
//
// +optional
// +kubebuilder:validation:MinItems=1
SecurityGroupIds []SecurityGroupId `json:"securityGroupIds,omitempty"`
// AssociateWithVpc indicates whether the VpcServiceNetworkAssociation should be created for the current VPC of k8s cluster.
//
// Both this flag and Gateway annotation "application-networking.k8s.aws/lattice-vpc-association" are reserved tentatively for backward compatibility.
// Either one of them set to true or both of them undefined will result in the VpcServiceNetworkAssociation created.
// +optional
AssociateWithVpc *bool `json:"associateWithVpc,omitempty"`
// TargetRef points to the kubernetes Gateway resource that will have this policy attached.
//
// This field is following the guidelines of Kubernetes Gateway API policy attachment.
TargetRef *v1alpha2.PolicyTargetReference `json:"targetRef"`
}
VpcAssociationPolicySpec defines the desired state of VpcAssociationPolicy.
func (*VpcAssociationPolicySpec) DeepCopy ¶ added in v0.0.17
func (in *VpcAssociationPolicySpec) DeepCopy() *VpcAssociationPolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VpcAssociationPolicySpec.
func (*VpcAssociationPolicySpec) DeepCopyInto ¶ added in v0.0.17
func (in *VpcAssociationPolicySpec) DeepCopyInto(out *VpcAssociationPolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.