v1beta1

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the elbv2 v1beta1 API group +kubebuilder:object:generate=true +groupName=elbv2.k8s.aws

Index

Constants

This section is empty.

Variables

View Source
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

func (in *Attribute) DeepCopy() *Attribute

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

func (*Attribute) DeepCopyInto

func (in *Attribute) DeepCopyInto(out *Attribute)

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

func (in *IPBlock) DeepCopy() *IPBlock

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

func (*IPBlock) DeepCopyInto

func (in *IPBlock) DeepCopyInto(out *IPBlock)

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

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

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

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

func (in *Tag) DeepCopy() *Tag

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

func (*Tag) DeepCopyInto

func (in *Tag) DeepCopyInto(out *Tag)

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

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

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

func (*TargetGroupBindingNetworking) DeepCopyInto

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

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

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

Jump to

Keyboard shortcuts

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