Documentation ¶
Overview ¶
Package v1alpha2 contains managed resources for AWS compute services such as EKS. +kubebuilder:object:generate=true +groupName=compute.aws.crossplane.io +versionName=v1alpha2
Index ¶
- Constants
- Variables
- type EKSCluster
- func (in *EKSCluster) DeepCopy() *EKSCluster
- func (in *EKSCluster) DeepCopyInto(out *EKSCluster)
- func (in *EKSCluster) DeepCopyObject() runtime.Object
- func (c *EKSCluster) GetBindingPhase() runtimev1alpha1.BindingPhase
- func (c *EKSCluster) GetClaimReference() *corev1.ObjectReference
- func (c *EKSCluster) GetNonPortableClassReference() *corev1.ObjectReference
- func (c *EKSCluster) GetReclaimPolicy() runtimev1alpha1.ReclaimPolicy
- func (c *EKSCluster) GetWriteConnectionSecretToReference() corev1.LocalObjectReference
- func (c *EKSCluster) SetBindingPhase(p runtimev1alpha1.BindingPhase)
- func (c *EKSCluster) SetClaimReference(r *corev1.ObjectReference)
- func (c *EKSCluster) SetConditions(cd ...runtimev1alpha1.Condition)
- func (c *EKSCluster) SetNonPortableClassReference(r *corev1.ObjectReference)
- func (c *EKSCluster) SetReclaimPolicy(p runtimev1alpha1.ReclaimPolicy)
- func (c *EKSCluster) SetWriteConnectionSecretToReference(r corev1.LocalObjectReference)
- type EKSClusterClass
- func (in *EKSClusterClass) DeepCopy() *EKSClusterClass
- func (in *EKSClusterClass) DeepCopyInto(out *EKSClusterClass)
- func (in *EKSClusterClass) DeepCopyObject() runtime.Object
- func (i *EKSClusterClass) GetReclaimPolicy() runtimev1alpha1.ReclaimPolicy
- func (i *EKSClusterClass) SetReclaimPolicy(p runtimev1alpha1.ReclaimPolicy)
- type EKSClusterClassList
- type EKSClusterClassSpecTemplate
- type EKSClusterList
- type EKSClusterParameters
- type EKSClusterSpec
- type EKSClusterStatus
- type EKSRegion
- type MapRole
- type MapUser
- type WorkerNodesSpec
Constants ¶
const ( Group = "compute.aws.crossplane.io" Version = "v1alpha2" )
Package type metadata.
const ( // The resource is inaccessible while it is being created. ClusterStatusCreating = "CREATING" ClusterStatusActive = "ACTIVE" )
Cluster statuses.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
var ( EKSClusterKind = reflect.TypeOf(EKSCluster{}).Name() EKSClusterKindAPIVersion = EKSClusterKind + "." + SchemeGroupVersion.String() EKSClusterGroupVersionKind = SchemeGroupVersion.WithKind(EKSClusterKind) )
EKSCluster type metadata.
var ( EKSClusterClassKind = reflect.TypeOf(EKSClusterClass{}).Name() EKSClusterClassKindAPIVersion = EKSClusterClassKind + "." + SchemeGroupVersion.String() EKSClusterClassGroupVersionKind = SchemeGroupVersion.WithKind(EKSClusterClassKind) )
EKSClusterClass type metadata.
Functions ¶
This section is empty.
Types ¶
type EKSCluster ¶
type EKSCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec EKSClusterSpec `json:"spec,omitempty"` Status EKSClusterStatus `json:"status,omitempty"` }
An EKSCluster is a managed resource that represents an AWS Elastic Kubernetes Service cluster. +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.bindingPhase" +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.state" +kubebuilder:printcolumn:name="CLUSTER-NAME",type="string",JSONPath=".status.clusterName" +kubebuilder:printcolumn:name="ENDPOINT",type="string",JSONPath=".status.endpoint" +kubebuilder:printcolumn:name="CLUSTER-CLASS",type="string",JSONPath=".spec.classRef.name" +kubebuilder:printcolumn:name="LOCATION",type="string",JSONPath=".spec.location" +kubebuilder:printcolumn:name="RECLAIM-POLICY",type="string",JSONPath=".spec.reclaimPolicy" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*EKSCluster) DeepCopy ¶
func (in *EKSCluster) DeepCopy() *EKSCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSCluster.
func (*EKSCluster) DeepCopyInto ¶
func (in *EKSCluster) DeepCopyInto(out *EKSCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EKSCluster) DeepCopyObject ¶
func (in *EKSCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EKSCluster) GetBindingPhase ¶
func (c *EKSCluster) GetBindingPhase() runtimev1alpha1.BindingPhase
GetBindingPhase of this EKSCluster.
func (*EKSCluster) GetClaimReference ¶
func (c *EKSCluster) GetClaimReference() *corev1.ObjectReference
GetClaimReference of this EKSCluster.
func (*EKSCluster) GetNonPortableClassReference ¶
func (c *EKSCluster) GetNonPortableClassReference() *corev1.ObjectReference
GetNonPortableClassReference of this EKSCluster.
func (*EKSCluster) GetReclaimPolicy ¶
func (c *EKSCluster) GetReclaimPolicy() runtimev1alpha1.ReclaimPolicy
GetReclaimPolicy of this EKSCluster.
func (*EKSCluster) GetWriteConnectionSecretToReference ¶
func (c *EKSCluster) GetWriteConnectionSecretToReference() corev1.LocalObjectReference
GetWriteConnectionSecretToReference of this EKSCluster.
func (*EKSCluster) SetBindingPhase ¶
func (c *EKSCluster) SetBindingPhase(p runtimev1alpha1.BindingPhase)
SetBindingPhase of this EKSCluster.
func (*EKSCluster) SetClaimReference ¶
func (c *EKSCluster) SetClaimReference(r *corev1.ObjectReference)
SetClaimReference of this EKSCluster.
func (*EKSCluster) SetConditions ¶
func (c *EKSCluster) SetConditions(cd ...runtimev1alpha1.Condition)
SetConditions of this EKSCluster.
func (*EKSCluster) SetNonPortableClassReference ¶
func (c *EKSCluster) SetNonPortableClassReference(r *corev1.ObjectReference)
SetNonPortableClassReference of this EKSCluster.
func (*EKSCluster) SetReclaimPolicy ¶
func (c *EKSCluster) SetReclaimPolicy(p runtimev1alpha1.ReclaimPolicy)
SetReclaimPolicy of this EKSCluster.
func (*EKSCluster) SetWriteConnectionSecretToReference ¶
func (c *EKSCluster) SetWriteConnectionSecretToReference(r corev1.LocalObjectReference)
SetWriteConnectionSecretToReference of this EKSCluster.
type EKSClusterClass ¶
type EKSClusterClass struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // SpecTemplate is a template for the spec of a dynamically provisioned // EKSCluster. SpecTemplate EKSClusterClassSpecTemplate `json:"specTemplate"` }
An EKSClusterClass is a non-portable resource class. It defines the desired spec of resource claims that use it to dynamically provision a managed resource. +kubebuilder:printcolumn:name="PROVIDER-REF",type="string",JSONPath=".specTemplate.providerRef.name" +kubebuilder:printcolumn:name="RECLAIM-POLICY",type="string",JSONPath=".specTemplate.reclaimPolicy" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*EKSClusterClass) DeepCopy ¶
func (in *EKSClusterClass) DeepCopy() *EKSClusterClass
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSClusterClass.
func (*EKSClusterClass) DeepCopyInto ¶
func (in *EKSClusterClass) DeepCopyInto(out *EKSClusterClass)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EKSClusterClass) DeepCopyObject ¶
func (in *EKSClusterClass) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*EKSClusterClass) GetReclaimPolicy ¶
func (i *EKSClusterClass) GetReclaimPolicy() runtimev1alpha1.ReclaimPolicy
GetReclaimPolicy of this EKSClusterClass.
func (*EKSClusterClass) SetReclaimPolicy ¶
func (i *EKSClusterClass) SetReclaimPolicy(p runtimev1alpha1.ReclaimPolicy)
SetReclaimPolicy of this EKSClusterClass.
type EKSClusterClassList ¶
type EKSClusterClassList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []EKSClusterClass `json:"items"` }
EKSClusterClassList contains a list of cloud memorystore resource classes.
func (*EKSClusterClassList) DeepCopy ¶
func (in *EKSClusterClassList) DeepCopy() *EKSClusterClassList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSClusterClassList.
func (*EKSClusterClassList) DeepCopyInto ¶
func (in *EKSClusterClassList) DeepCopyInto(out *EKSClusterClassList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EKSClusterClassList) DeepCopyObject ¶
func (in *EKSClusterClassList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EKSClusterClassSpecTemplate ¶
type EKSClusterClassSpecTemplate struct { runtimev1alpha1.NonPortableClassSpecTemplate `json:",inline"` EKSClusterParameters `json:",inline"` }
An EKSClusterClassSpecTemplate is a template for the spec of a dynamically provisioned EKSCluster.
func (*EKSClusterClassSpecTemplate) DeepCopy ¶
func (in *EKSClusterClassSpecTemplate) DeepCopy() *EKSClusterClassSpecTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSClusterClassSpecTemplate.
func (*EKSClusterClassSpecTemplate) DeepCopyInto ¶
func (in *EKSClusterClassSpecTemplate) DeepCopyInto(out *EKSClusterClassSpecTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EKSClusterList ¶
type EKSClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []EKSCluster `json:"items"` }
EKSClusterList contains a list of EKSCluster items
func (*EKSClusterList) DeepCopy ¶
func (in *EKSClusterList) DeepCopy() *EKSClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSClusterList.
func (*EKSClusterList) DeepCopyInto ¶
func (in *EKSClusterList) DeepCopyInto(out *EKSClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EKSClusterList) DeepCopyObject ¶
func (in *EKSClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EKSClusterParameters ¶
type EKSClusterParameters struct { // Region for this EKS Cluster. // +kubebuilder:validation:Enum=us-west-2;us-east-1;eu-west-1 Region EKSRegion `json:"region"` // RoleARN: The Amazon Resource Name (ARN) of the IAM role that provides // permis sions for Amazon EKS to make calls to other AWS API operations // on your behalf. For more information, see 'Amazon EKS Service IAM Role' // in the Amazon EKS User Guide. RoleARN string `json:"roleARN"` // VpcID of this EKS cluster. VpcID string `json:"vpcId"` // SubnetIds of this EKS cluster. SubnetIds []string `json:"subnetIds"` // SecurityGroupIds of this EKS cluster. SecurityGroupIds []string `json:"securityGroupIds"` // ClusterVersion: The desired Kubernetes version of this EKS Cluster. If // you do not specify a value here, the latest version available is used. // +optional ClusterVersion string `json:"clusterVersion,omitempty"` // WorkerNodes configuration for cloudformation WorkerNodes WorkerNodesSpec `json:"workerNodes"` // MapRoles map AWS roles to one or more Kubernetes groups. A Default role // that allows nodes access to communicate with master is autogenerated when // a node pool comes online. // +optional MapRoles []MapRole `json:"mapRoles,omitempty"` // MapUsers map AWS users to one or more Kubernetes groups. // +optional MapUsers []MapUser `json:"mapUsers,omitempty"` }
EKSClusterParameters define the desired state of an AWS Elastic Kubernetes Service cluster.
func (*EKSClusterParameters) DeepCopy ¶
func (in *EKSClusterParameters) DeepCopy() *EKSClusterParameters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSClusterParameters.
func (*EKSClusterParameters) DeepCopyInto ¶
func (in *EKSClusterParameters) DeepCopyInto(out *EKSClusterParameters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EKSClusterSpec ¶
type EKSClusterSpec struct { runtimev1alpha1.ResourceSpec `json:",inline"` EKSClusterParameters `json:",inline"` }
An EKSClusterSpec defines the desired state of an EKSCluster.
func (*EKSClusterSpec) DeepCopy ¶
func (in *EKSClusterSpec) DeepCopy() *EKSClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSClusterSpec.
func (*EKSClusterSpec) DeepCopyInto ¶
func (in *EKSClusterSpec) DeepCopyInto(out *EKSClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EKSClusterStatus ¶
type EKSClusterStatus struct { runtimev1alpha1.ResourceStatus `json:",inline"` // State of the cluster. State string `json:"state,omitempty"` // ClusterName of the cluster. ClusterName string `json:"resourceName,omitempty"` // ClusterVersion of the cluster. ClusterVersion string `json:"resourceVersion,omitempty"` // Endpoint for connecting to the cluster. Endpoint string `json:"endpoint,omitempty"` // CloudFormationStackID of the Stack used to create node groups. CloudFormationStackID string `json:"cloudformationStackId,omitempty"` }
An EKSClusterStatus represents the observed state of an EKSCluster.
func (*EKSClusterStatus) DeepCopy ¶
func (in *EKSClusterStatus) DeepCopy() *EKSClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSClusterStatus.
func (*EKSClusterStatus) DeepCopyInto ¶
func (in *EKSClusterStatus) DeepCopyInto(out *EKSClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EKSRegion ¶
type EKSRegion string
EKSRegion represents an EKS enabled AWS region.
const ( // EKSRegionUSWest2 - us-west-2 (Oregon) region for eks cluster EKSRegionUSWest2 EKSRegion = "us-west-2" // EKSRegionUSEast1 - us-east-1 (N. Virginia) region for eks cluster EKSRegionUSEast1 EKSRegion = "us-east-1" // EKSRegionUSEast2 - us-east-2 (Ohio) region for eks worker only EKSRegionUSEast2 EKSRegion = "us-east-2" // EKSRegionEUWest1 - eu-west-1 (Ireland) region for eks cluster EKSRegionEUWest1 EKSRegion = "eu-west-1" )
EKS regions.
type MapRole ¶
type MapRole struct { // RoleARN to match, e.g. 'arn:aws:iam::000000000000:role/KubernetesNode'. RoleARN string `json:"rolearn"` // Username (in Kubernetes) the RoleARN should map to. Username string `json:"username"` // Groups (in Kubernetes) the RoleARN should map to. Groups []string `json:"groups"` }
MapRole maps an AWS IAM role to one or more Kubernetes groups. See https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html and https://github.com/kubernetes-sigs/aws-iam-authenticator/blob/master/README.md
func (*MapRole) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MapRole.
func (*MapRole) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MapUser ¶
type MapUser struct { // UserARN to match, e.g. 'arn:aws:iam::000000000000:user/Alice' UserARN string `json:"userarn"` // Username (in Kubernetes) the UserARN should map to. Username string `json:"username"` // Groups (in Kubernetes) the UserARN should map to. Groups []string `json:"groups"` }
MapUser maps an AWS IAM user to one or more Kubernetes groups. See https://docs.aws.amazon.com/eks/latest/userguide/add-user-role.html and https://github.com/kubernetes-sigs/aws-iam-authenticator/blob/master/README.md
func (*MapUser) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MapUser.
func (*MapUser) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkerNodesSpec ¶
type WorkerNodesSpec struct { // KeyName of the EC2 Key Pair to allow SSH access to the EC2 instances. // +optional KeyName string `json:"keyName,omitempty"` // NodeImageId that the EC2 instances should run. Defaults to the region's // standard AMI. // +optional NodeImageID string `json:"nodeImageId,omitempty"` // NodeInstanceType of the EC2 instances. // +kubebuilder:validation:Enum=t2.small;t2.medium;t2.large;t2.xlarge;t2.2xlarge;t3.nano;t3.micro;t3.small;t3.medium;t3.large;t3.xlarge;t3.2xlarge;m3.medium;m3.large;m3.xlarge;m3.2xlarge;m4.large;m4.xlarge;m4.2xlarge;m4.4xlarge;m4.10xlarge;m5.large;m5.xlarge;m5.2xlarge;m5.4xlarge;m5.12xlarge;m5.24xlarge;c4.large;c4.xlarge;c4.2xlarge;c4.4xlarge;c4.8xlarge;c5.large;c5.xlarge;c5.2xlarge;c5.4xlarge;c5.9xlarge;c5.18xlarge;i3.large;i3.xlarge;i3.2xlarge;i3.4xlarge;i3.8xlarge;i3.16xlarge;r3.xlarge;r3.2xlarge;r3.4xlarge;r3.8xlarge;r4.large;r4.xlarge;r4.2xlarge;r4.4xlarge;r4.8xlarge;r4.16xlarge;x1.16xlarge;x1.32xlarge;p2.xlarge;p2.8xlarge;p2.16xlarge;p3.2xlarge;p3.8xlarge;p3.16xlarge;r5.large;r5.xlarge;r5.2xlarge;r5.4xlarge;r5.12xlarge;r5.24xlarge;r5d.large;r5d.xlarge;r5d.2xlarge;r5d.4xlarge;r5d.12xlarge;r5d.24xlarge;z1d.large;z1d.xlarge;z1d.2xlarge;z1d.3xlarge;z1d.6xlarge;z1d.12xlarge NodeInstanceType string `json:"nodeInstanceType"` // NodeAutoScalingGroupMinSize configures the minimum size of this node // group's Autoscaling Group. Defaults to 1. // +optional NodeAutoScalingGroupMinSize *int `json:"nodeAutoScalingGroupMinSize,omitempty"` // NodeAutoScalingGroupMaxSize configures the maximum size of this node // group's Autoscaling Group. Defaults to 3. // +optional NodeAutoScalingGroupMaxSize *int `json:"nodeAutoScalingGroupMaxSize,omitempty"` // NodeVolumeSize configures the volume size in GB. Defaults to 20. // +optional NodeVolumeSize *int `json:"nodeVolumeSize,omitempty"` // BootstrapArguments to pass to the bootstrap script. See // files/bootstrap.sh in https://github.com/awslabs/amazon-eks-ami // +optional BootstrapArguments string `json:"bootstrapArguments,omitempty"` // NodeGroupName is a unique identifier for the Node Group. // +optional NodeGroupName string `json:"nodeGroupName,omitempty"` // ClusterControlPlaneSecurityGroup configures the security group of the // cluster control plane in order to allow communication to this node group. // +optional ClusterControlPlaneSecurityGroup string `json:"clusterControlPlaneSecurityGroup,omitempty"` }
WorkerNodesSpec - Worker node spec used to define cloudformation template that provisions workers for cluster
func (*WorkerNodesSpec) DeepCopy ¶
func (in *WorkerNodesSpec) DeepCopy() *WorkerNodesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkerNodesSpec.
func (*WorkerNodesSpec) DeepCopyInto ¶
func (in *WorkerNodesSpec) DeepCopyInto(out *WorkerNodesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.