Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the elbv2 v1beta1 API group +kubebuilder:object:generate=true +groupName=elbv2.k8s.aws
Index ¶
- Variables
- type Attribute
- type IPAddressType
- type IPBlock
- type IngressClassParams
- type IngressClassParamsList
- type IngressClassParamsSpec
- type IngressGroup
- type LoadBalancerScheme
- type NetworkingIngressRule
- type NetworkingPeer
- type NetworkingPort
- type NetworkingProtocol
- type SecurityGroup
- type ServiceReference
- type SubnetID
- type SubnetSelector
- type Tag
- type TargetGroupBinding
- type TargetGroupBindingList
- type TargetGroupBindingNetworking
- type TargetGroupBindingSpec
- type TargetGroupBindingStatus
- type TargetGroupIPAddressType
- type TargetType
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "elbv2.k8s.aws", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type Attribute ¶
type Attribute struct {
// The key of the attribute.
Key string `json:"key"`
// The value of the attribute.
Value string `json:"value"`
}
Attributes defines custom attributes on resources.
func (*Attribute) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Attribute.
func (*Attribute) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IPAddressType ¶
type IPAddressType string
+kubebuilder:validation:Enum=ipv4;dualstack IPAddressType is the ip address type of load balancer.
const ( IPAddressTypeIPV4 IPAddressType = "ipv4" IPAddressTypeDualStack IPAddressType = "dualstack" )
type IPBlock ¶
type IPBlock struct {
// CIDR is the network CIDR.
// Both IPV4 or IPV6 CIDR are accepted.
CIDR string `json:"cidr"`
}
IPBlock defines source/destination IPBlock in networking rules.
func (*IPBlock) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPBlock.
func (*IPBlock) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressClassParams ¶
type IngressClassParams struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec IngressClassParamsSpec `json:"spec,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:storageversion +kubebuilder:printcolumn:name="GROUP-NAME",type="string",JSONPath=".spec.group.name",description="The Ingress Group name" +kubebuilder:printcolumn:name="SCHEME",type="string",JSONPath=".spec.scheme",description="The AWS Load Balancer scheme" +kubebuilder:printcolumn:name="IP-ADDRESS-TYPE",type="string",JSONPath=".spec.ipAddressType",description="The AWS Load Balancer ipAddressType" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" IngressClassParams is the Schema for the IngressClassParams API
func (*IngressClassParams) DeepCopy ¶
func (in *IngressClassParams) DeepCopy() *IngressClassParams
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressClassParams.
func (*IngressClassParams) DeepCopyInto ¶
func (in *IngressClassParams) DeepCopyInto(out *IngressClassParams)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressClassParams) DeepCopyObject ¶
func (in *IngressClassParams) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressClassParamsList ¶
type IngressClassParamsList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []IngressClassParams `json:"items"`
}
IngressClassParamsList contains a list of IngressClassParams
func (*IngressClassParamsList) DeepCopy ¶
func (in *IngressClassParamsList) DeepCopy() *IngressClassParamsList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressClassParamsList.
func (*IngressClassParamsList) DeepCopyInto ¶
func (in *IngressClassParamsList) DeepCopyInto(out *IngressClassParamsList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IngressClassParamsList) DeepCopyObject ¶
func (in *IngressClassParamsList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type IngressClassParamsSpec ¶
type IngressClassParamsSpec struct {
// NamespaceSelector restrict the namespaces of Ingresses that are allowed to specify the IngressClass with this IngressClassParams.
// * if absent or present but empty, it selects all namespaces.
// +optional
NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
// Group defines the IngressGroup for all Ingresses that belong to IngressClass with this IngressClassParams.
// +optional
Group *IngressGroup `json:"group,omitempty"`
// Scheme defines the scheme for all Ingresses that belong to IngressClass with this IngressClassParams.
// +optional
Scheme *LoadBalancerScheme `json:"scheme,omitempty"`
// InboundCIDRs specifies the CIDRs that are allowed to access the Ingresses that belong to IngressClass with this IngressClassParams.
// +optional
InboundCIDRs []string `json:"inboundCIDRs,omitempty"`
// SSLPolicy specifies the SSL Policy for all Ingresses that belong to IngressClass with this IngressClassParams.
// +optional
SSLPolicy string `json:"sslPolicy,omitEmpty"`
// Subnets defines the subnets for all Ingresses that belong to IngressClass with this IngressClassParams.
// +optional
Subnets *SubnetSelector `json:"subnets,omitempty"`
// IPAddressType defines the ip address type for all Ingresses that belong to IngressClass with this IngressClassParams.
// +optional
IPAddressType *IPAddressType `json:"ipAddressType,omitempty"`
// Tags defines list of Tags on AWS resources provisioned for Ingresses that belong to IngressClass with this IngressClassParams.
Tags []Tag `json:"tags,omitempty"`
// LoadBalancerAttributes define the custom attributes to LoadBalancers for all Ingress that that belong to IngressClass with this IngressClassParams.
// +optional
LoadBalancerAttributes []Attribute `json:"loadBalancerAttributes,omitempty"`
}
IngressClassParamsSpec defines the desired state of IngressClassParams
func (*IngressClassParamsSpec) DeepCopy ¶
func (in *IngressClassParamsSpec) DeepCopy() *IngressClassParamsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressClassParamsSpec.
func (*IngressClassParamsSpec) DeepCopyInto ¶
func (in *IngressClassParamsSpec) DeepCopyInto(out *IngressClassParamsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressGroup ¶
type IngressGroup struct {
// Name is the name of IngressGroup.
Name string `json:"name"`
}
IngressGroup defines IngressGroup configuration.
func (*IngressGroup) DeepCopy ¶
func (in *IngressGroup) DeepCopy() *IngressGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressGroup.
func (*IngressGroup) DeepCopyInto ¶
func (in *IngressGroup) DeepCopyInto(out *IngressGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerScheme ¶
type LoadBalancerScheme string
+kubebuilder:validation:Enum=internal;internet-facing Scheme is the scheme of load balancer.
* the nodes of an internet-facing load balancer have public IP addresses. * the nodes of an internal load balancer have only private IP addresses.
const ( LoadBalancerSchemeInternal LoadBalancerScheme = "internal" LoadBalancerSchemeInternetFacing LoadBalancerScheme = "internet-facing" )
type NetworkingIngressRule ¶
type NetworkingIngressRule struct {
// List of peers which should be able to access the targets in TargetGroup.
// At least one NetworkingPeer should be specified.
From []NetworkingPeer `json:"from"`
// List of ports which should be made accessible on the targets in TargetGroup.
// If ports is empty or unspecified, it defaults to all ports with TCP.
Ports []NetworkingPort `json:"ports"`
}
NetworkingIngressRule defines a particular set of traffic that is allowed to access TargetGroup's targets.
func (*NetworkingIngressRule) DeepCopy ¶
func (in *NetworkingIngressRule) DeepCopy() *NetworkingIngressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingIngressRule.
func (*NetworkingIngressRule) DeepCopyInto ¶
func (in *NetworkingIngressRule) DeepCopyInto(out *NetworkingIngressRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkingPeer ¶
type NetworkingPeer struct {
// IPBlock defines an IPBlock peer.
// If specified, none of the other fields can be set.
// +optional
IPBlock *IPBlock `json:"ipBlock,omitempty"`
// SecurityGroup defines a SecurityGroup peer.
// If specified, none of the other fields can be set.
// +optional
SecurityGroup *SecurityGroup `json:"securityGroup,omitempty"`
}
NetworkingPeer defines the source/destination peer for networking rules.
func (*NetworkingPeer) DeepCopy ¶
func (in *NetworkingPeer) DeepCopy() *NetworkingPeer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingPeer.
func (*NetworkingPeer) DeepCopyInto ¶
func (in *NetworkingPeer) DeepCopyInto(out *NetworkingPeer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkingPort ¶
type NetworkingPort struct {
// The protocol which traffic must match.
// If protocol is unspecified, it defaults to TCP.
Protocol *NetworkingProtocol `json:"protocol,omitempty"`
// The port which traffic must match.
// When NodePort endpoints(instance TargetType) is used, this must be a numerical port.
// When Port endpoints(ip TargetType) is used, this can be either numerical or named port on pods.
// if port is unspecified, it defaults to all ports.
// +optional
Port *intstr.IntOrString `json:"port,omitempty"`
}
NetworkingPort defines the port and protocol for networking rules.
func (*NetworkingPort) DeepCopy ¶
func (in *NetworkingPort) DeepCopy() *NetworkingPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkingPort.
func (*NetworkingPort) DeepCopyInto ¶
func (in *NetworkingPort) DeepCopyInto(out *NetworkingPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkingProtocol ¶
type NetworkingProtocol string
+kubebuilder:validation:Enum=TCP;UDP NetworkingProtocol defines the protocol for networking rules.
const ( // NetworkingProtocolTCP is the TCP protocol. NetworkingProtocolTCP NetworkingProtocol = "TCP" // NetworkingProtocolUDP is the UDP protocol. NetworkingProtocolUDP NetworkingProtocol = "UDP" )
type SecurityGroup ¶
type SecurityGroup struct {
// GroupID is the EC2 SecurityGroupID.
GroupID string `json:"groupID"`
}
SecurityGroup defines reference to an AWS EC2 SecurityGroup.
func (*SecurityGroup) DeepCopy ¶
func (in *SecurityGroup) DeepCopy() *SecurityGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroup.
func (*SecurityGroup) DeepCopyInto ¶
func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceReference ¶
type ServiceReference struct {
// Name is the name of the Service.
Name string `json:"name"`
// Port is the port of the ServicePort.
Port intstr.IntOrString `json:"port"`
}
ServiceReference defines reference to a Kubernetes Service and its ServicePort.
func (*ServiceReference) DeepCopy ¶
func (in *ServiceReference) DeepCopy() *ServiceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceReference.
func (*ServiceReference) DeepCopyInto ¶
func (in *ServiceReference) DeepCopyInto(out *ServiceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubnetID ¶
type SubnetID string
SubnetID specifies a subnet ID. +kubebuilder:validation:Pattern=subnet-[0-9a-f]+
type SubnetSelector ¶
type SubnetSelector struct {
// IDs specify the resource IDs of subnets. Exactly one of this or `tags` must be specified.
// +kubebuilder:validation:MinItems=1
// +optional
IDs []SubnetID `json:"ids,omitempty"`
// Tags specifies subnets in the load balancer's VPC where each
// tag specified in the map key contains one of the values in the corresponding
// value list.
// Exactly one of this or `ids` must be specified.
// +optional
Tags map[string][]string `json:"tags,omitempty"`
}
SubnetSelector selects one or more existing subnets.
func (*SubnetSelector) DeepCopy ¶
func (in *SubnetSelector) DeepCopy() *SubnetSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSelector.
func (*SubnetSelector) DeepCopyInto ¶
func (in *SubnetSelector) DeepCopyInto(out *SubnetSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Tag ¶
type Tag struct {
// The key of the tag.
Key string `json:"key"`
// The value of the tag.
Value string `json:"value"`
}
Tag defines a AWS Tag on resources.
func (*Tag) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tag.
func (*Tag) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetGroupBinding ¶
type TargetGroupBinding struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec TargetGroupBindingSpec `json:"spec,omitempty"`
Status TargetGroupBindingStatus `json:"status,omitempty"`
}
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="SERVICE-NAME",type="string",JSONPath=".spec.serviceRef.name",description="The Kubernetes Service's name" +kubebuilder:printcolumn:name="SERVICE-PORT",type="string",JSONPath=".spec.serviceRef.port",description="The Kubernetes Service's port" +kubebuilder:printcolumn:name="TARGET-TYPE",type="string",JSONPath=".spec.targetType",description="The AWS TargetGroup's TargetType" +kubebuilder:printcolumn:name="ARN",type="string",JSONPath=".spec.targetGroupARN",description="The AWS TargetGroup's Amazon Resource Name",priority=1 +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" TargetGroupBinding is the Schema for the TargetGroupBinding API
func (*TargetGroupBinding) DeepCopy ¶
func (in *TargetGroupBinding) DeepCopy() *TargetGroupBinding
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGroupBinding.
func (*TargetGroupBinding) DeepCopyInto ¶
func (in *TargetGroupBinding) DeepCopyInto(out *TargetGroupBinding)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TargetGroupBinding) DeepCopyObject ¶
func (in *TargetGroupBinding) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TargetGroupBindingList ¶
type TargetGroupBindingList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []TargetGroupBinding `json:"items"`
}
TargetGroupBindingList contains a list of TargetGroupBinding
func (*TargetGroupBindingList) DeepCopy ¶
func (in *TargetGroupBindingList) DeepCopy() *TargetGroupBindingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGroupBindingList.
func (*TargetGroupBindingList) DeepCopyInto ¶
func (in *TargetGroupBindingList) DeepCopyInto(out *TargetGroupBindingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TargetGroupBindingList) DeepCopyObject ¶
func (in *TargetGroupBindingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TargetGroupBindingNetworking ¶
type TargetGroupBindingNetworking struct {
// List of ingress rules to allow ELBV2 LoadBalancer to access targets in TargetGroup.
// +optional
Ingress []NetworkingIngressRule `json:"ingress,omitempty"`
}
TargetGroupBindingNetworking defines the networking rules to allow ELBV2 LoadBalancer to access targets in TargetGroup.
func (*TargetGroupBindingNetworking) DeepCopy ¶
func (in *TargetGroupBindingNetworking) DeepCopy() *TargetGroupBindingNetworking
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGroupBindingNetworking.
func (*TargetGroupBindingNetworking) DeepCopyInto ¶
func (in *TargetGroupBindingNetworking) DeepCopyInto(out *TargetGroupBindingNetworking)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetGroupBindingSpec ¶
type TargetGroupBindingSpec struct {
// targetGroupARN is the Amazon Resource Name (ARN) for the TargetGroup.
// +kubebuilder:validation:MinLength=1
TargetGroupARN string `json:"targetGroupARN"`
// targetType is the TargetType of TargetGroup. If unspecified, it will be automatically inferred.
// +optional
TargetType *TargetType `json:"targetType,omitempty"`
// serviceRef is a reference to a Kubernetes Service and ServicePort.
ServiceRef ServiceReference `json:"serviceRef"`
// networking defines the networking rules to allow ELBV2 LoadBalancer to access targets in TargetGroup.
// +optional
Networking *TargetGroupBindingNetworking `json:"networking,omitempty"`
// node selector for instance type target groups to only register certain nodes
// +optional
NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"`
// ipAddressType specifies whether the target group is of type IPv4 or IPv6. If unspecified, it will be automatically inferred.
// +optional
IPAddressType *TargetGroupIPAddressType `json:"ipAddressType,omitempty"`
}
TargetGroupBindingSpec defines the desired state of TargetGroupBinding
func (*TargetGroupBindingSpec) DeepCopy ¶
func (in *TargetGroupBindingSpec) DeepCopy() *TargetGroupBindingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGroupBindingSpec.
func (*TargetGroupBindingSpec) DeepCopyInto ¶
func (in *TargetGroupBindingSpec) DeepCopyInto(out *TargetGroupBindingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetGroupBindingStatus ¶
type TargetGroupBindingStatus struct {
// The generation observed by the TargetGroupBinding controller.
// +optional
ObservedGeneration *int64 `json:"observedGeneration,omitempty"`
}
TargetGroupBindingStatus defines the observed state of TargetGroupBinding
func (*TargetGroupBindingStatus) DeepCopy ¶
func (in *TargetGroupBindingStatus) DeepCopy() *TargetGroupBindingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetGroupBindingStatus.
func (*TargetGroupBindingStatus) DeepCopyInto ¶
func (in *TargetGroupBindingStatus) DeepCopyInto(out *TargetGroupBindingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetGroupIPAddressType ¶
type TargetGroupIPAddressType string
+kubebuilder:validation:Enum=ipv4;ipv6 TargetGroupIPAddressType is the IP Address type of your ELBV2 TargetGroup.
const ( TargetGroupIPAddressTypeIPv4 TargetGroupIPAddressType = "ipv4" TargetGroupIPAddressTypeIPv6 TargetGroupIPAddressType = "ipv6" )
type TargetType ¶
type TargetType string
+kubebuilder:validation:Enum=instance;ip TargetType is the targetType of your ELBV2 TargetGroup.
* with `instance` TargetType, nodes with nodePort for your service will be registered as targets * with `ip` TargetType, Pods with containerPort for your service will be registered as targets
const ( TargetTypeInstance TargetType = "instance" TargetTypeIP TargetType = "ip" )