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