v1alpha1

package
v0.20.3 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1alpha1 contains managed resources for AWS Elastic Kubernetes Service such as NodeGroup. +kubebuilder:object:generate=true +groupName=eks.aws.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	Group   = "eks.aws.crossplane.io"
	Version = "v1alpha1"
)

Package type metadata.

Variables

View Source
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}
)
View Source
var (
	NodeGroupKind             = reflect.TypeOf(NodeGroup{}).Name()
	NodeGroupGroupKind        = schema.GroupKind{Group: Group, Kind: NodeGroupKind}.String()
	NodeGroupKindAPIVersion   = NodeGroupKind + "." + SchemeGroupVersion.String()
	NodeGroupGroupVersionKind = SchemeGroupVersion.WithKind(NodeGroupKind)

	FargateProfileKind             = reflect.TypeOf(FargateProfile{}).Name()
	FargateProfileGroupKind        = schema.GroupKind{Group: Group, Kind: FargateProfileKind}.String()
	FargateProfileKindAPIVersion   = FargateProfileKind + "." + SchemeGroupVersion.String()
	FargateProfileGroupVersionKind = SchemeGroupVersion.WithKind(FargateProfileKind)
)

NodeGroup type metadata.

Functions

This section is empty.

Types

type AutoScalingGroup

type AutoScalingGroup struct {
	// The name of the Auto Scaling group associated with an Amazon EKS managed
	// node group.
	Name string `json:"name,omitempty"`
}

AutoScalingGroup is an autoscaling group associated with a NodeGroup.

func (*AutoScalingGroup) DeepCopy

func (in *AutoScalingGroup) DeepCopy() *AutoScalingGroup

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

func (*AutoScalingGroup) DeepCopyInto

func (in *AutoScalingGroup) DeepCopyInto(out *AutoScalingGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FargateProfile added in v0.16.0

type FargateProfile struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FargateProfileSpec   `json:"spec"`
	Status FargateProfileStatus `json:"status,omitempty"`
}

A FargateProfile is a managed resource that represents an AWS Elastic Kubernetes Service FargateProfile. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="CLUSTER",type="string",JSONPath=".spec.forProvider.clusterName" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*FargateProfile) DeepCopy added in v0.16.0

func (in *FargateProfile) DeepCopy() *FargateProfile

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

func (*FargateProfile) DeepCopyInto added in v0.16.0

func (in *FargateProfile) DeepCopyInto(out *FargateProfile)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FargateProfile) DeepCopyObject added in v0.16.0

func (in *FargateProfile) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*FargateProfile) GetCondition added in v0.16.0

func (mg *FargateProfile) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this FargateProfile.

func (*FargateProfile) GetDeletionPolicy added in v0.16.0

func (mg *FargateProfile) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this FargateProfile.

func (*FargateProfile) GetProviderConfigReference added in v0.16.0

func (mg *FargateProfile) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this FargateProfile.

func (*FargateProfile) GetProviderReference added in v0.16.0

func (mg *FargateProfile) GetProviderReference() *xpv1.Reference

GetProviderReference of this FargateProfile. Deprecated: Use GetProviderConfigReference.

func (*FargateProfile) GetWriteConnectionSecretToReference added in v0.16.0

func (mg *FargateProfile) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this FargateProfile.

func (*FargateProfile) ResolveReferences added in v0.16.0

func (mg *FargateProfile) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of FargateProfile

func (*FargateProfile) SetConditions added in v0.16.0

func (mg *FargateProfile) SetConditions(c ...xpv1.Condition)

SetConditions of this FargateProfile.

func (*FargateProfile) SetDeletionPolicy added in v0.16.0

func (mg *FargateProfile) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this FargateProfile.

func (*FargateProfile) SetProviderConfigReference added in v0.16.0

func (mg *FargateProfile) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this FargateProfile.

func (*FargateProfile) SetProviderReference added in v0.16.0

func (mg *FargateProfile) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this FargateProfile. Deprecated: Use SetProviderConfigReference.

func (*FargateProfile) SetWriteConnectionSecretToReference added in v0.16.0

func (mg *FargateProfile) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this FargateProfile.

type FargateProfileList added in v0.16.0

type FargateProfileList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FargateProfile `json:"items"`
}

FargateProfileList contains a list of FargateProfile items

func (*FargateProfileList) DeepCopy added in v0.16.0

func (in *FargateProfileList) DeepCopy() *FargateProfileList

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

func (*FargateProfileList) DeepCopyInto added in v0.16.0

func (in *FargateProfileList) DeepCopyInto(out *FargateProfileList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*FargateProfileList) DeepCopyObject added in v0.16.0

func (in *FargateProfileList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*FargateProfileList) GetItems added in v0.16.0

func (l *FargateProfileList) GetItems() []resource.Managed

GetItems of this FargateProfileList.

type FargateProfileObservation added in v0.16.0

type FargateProfileObservation struct {
	// The Unix epoch timestamp in seconds for when the Fargate profile was created.
	CreatedAt *metav1.Time `json:"createdAt,omitempty"`

	// The full Amazon Resource Name (ARN) of the Fargate profile.
	FargateProfileArn string `json:"fargateProfileArn,omitempty"`

	// The current status of the Fargate profile.
	Status FargateProfileStatusType `json:"status,omitempty"`
}

FargateProfileObservation is the observed state of a FargateProfile.

func (*FargateProfileObservation) DeepCopy added in v0.16.0

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

func (*FargateProfileObservation) DeepCopyInto added in v0.16.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FargateProfileParameters added in v0.16.0

type FargateProfileParameters struct {

	// Region is the region you'd like  the FargateProfile to be created in.
	// +immutable
	Region string `json:"region"`

	// The name of the Amazon EKS cluster to apply the Fargate profile to.
	//
	// ClusterName is a required field
	// +immutable
	ClusterName string `json:"clusterName,omitempty"`

	// ClusterNameRef is a reference to a Cluster used to set
	// the ClusterName.
	// +immutable
	// +optional
	ClusterNameRef *xpv1.Reference `json:"clusterNameRef,omitempty"`

	// ClusterNameSelector selects references to a Cluster used
	// to set the ClusterName.
	// +optional
	ClusterNameSelector *xpv1.Selector `json:"clusterNameSelector,omitempty"`

	// The Amazon Resource Name (ARN) of the pod execution role to use for pods
	// that match the selectors in the Fargate profile. The pod execution role allows
	// Fargate infrastructure to register with your cluster as a node, and it provides
	// read access to Amazon ECR image repositories. For more information, see Pod
	// Execution Role (https://docs.aws.amazon.com/eks/latest/userguide/pod-execution-role.html)
	// in the Amazon EKS User Guide.
	//
	// At least one of podExecutionRoleArn, podExecutionRoleArnRef or podExecutionRoleArnSelector has to be given
	// +immutable
	// +optional
	PodExecutionRoleArn string `json:"podExecutionRoleArn,omitempty"`

	// PodExecutionRoleArnRef is a reference to an IAMRole used to set
	// the PodExecutionRoleArn.
	// At least one of podExecutionRoleArn, podExecutionRoleArnRef or podExecutionRoleArnSelector has to be given
	// +immutable
	// +optional
	PodExecutionRoleArnRef *xpv1.Reference `json:"podExecutionRoleArnRef,omitempty"`

	// PodExecutionRoleArnSelector selects references to IAMRole used
	// to set the PodExecutionRoleArn.
	// At least one of podExecutionRoleArn, podExecutionRoleArnRef or podExecutionRoleArnSelector has to be given
	// +optional
	PodExecutionRoleArnSelector *xpv1.Selector `json:"podExecutionRoleArnSelector,omitempty"`

	// The selectors to match for pods to use this Fargate profile. Each selector
	// must have an associated namespace. Optionally, you can also specify labels
	// for a namespace. You may specify up to five selectors in a Fargate profile.
	// +immutable
	Selectors []FargateProfileSelector `json:"selectors,omitempty"`

	// The IDs of subnets to launch your pods into. At this time, pods running on
	// Fargate are not assigned public IP addresses, so only private subnets (with
	// no direct route to an Internet Gateway) are accepted for this parameter.
	// +optional
	// +immutable
	Subnets []string `json:"subnets,omitempty"`

	// SubnetRefs are references to Subnets used to set the Subnets.
	// +immutable
	// +optional
	SubnetRefs []xpv1.Reference `json:"subnetRefs,omitempty"`

	// SubnetSelector selects references to Subnets used to set the Subnets.
	// +optional
	SubnetSelector *xpv1.Selector `json:"subnetSelector,omitempty"`

	// The metadata to apply to the Fargate profile to assist with categorization
	// and organization. Each tag consists of a key and an optional value, both
	// of which you define. Fargate profile tags do not propagate to any other resources
	// associated with the Fargate profile, such as the pods that are scheduled
	// with it.
	// +optional
	Tags map[string]string `json:"tags,omitempty"`
}

FargateProfileParameters define the desired state of an AWS Elastic Kubernetes Service FargateProfile. All fields are immutable as it is not possible to update a Fargate profile.

func (*FargateProfileParameters) DeepCopy added in v0.16.0

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

func (*FargateProfileParameters) DeepCopyInto added in v0.16.0

func (in *FargateProfileParameters) DeepCopyInto(out *FargateProfileParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FargateProfileSelector added in v0.16.0

type FargateProfileSelector struct {

	// The Kubernetes labels that the selector should match. A pod must contain
	// all of the labels that are specified in the selector for it to be considered
	// a match.
	Labels map[string]string `json:"labels,omitempty"`

	// The Kubernetes namespace that the selector should match.
	Namespace *string `json:"namespace,omitempty"`
}

FargateProfileSelector is an object representing an AWS Fargate profile selector.

func (*FargateProfileSelector) DeepCopy added in v0.16.0

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

func (*FargateProfileSelector) DeepCopyInto added in v0.16.0

func (in *FargateProfileSelector) DeepCopyInto(out *FargateProfileSelector)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FargateProfileSpec added in v0.16.0

type FargateProfileSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       FargateProfileParameters `json:"forProvider"`
}

A FargateProfileSpec defines the desired state of an EKS FargateProfile.

func (*FargateProfileSpec) DeepCopy added in v0.16.0

func (in *FargateProfileSpec) DeepCopy() *FargateProfileSpec

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

func (*FargateProfileSpec) DeepCopyInto added in v0.16.0

func (in *FargateProfileSpec) DeepCopyInto(out *FargateProfileSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FargateProfileStatus added in v0.16.0

type FargateProfileStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          FargateProfileObservation `json:"atProvider,omitempty"`
}

A FargateProfileStatus represents the observed state of an EKS FargateProfile.

func (*FargateProfileStatus) DeepCopy added in v0.16.0

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

func (*FargateProfileStatus) DeepCopyInto added in v0.16.0

func (in *FargateProfileStatus) DeepCopyInto(out *FargateProfileStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FargateProfileStatusType added in v0.16.0

type FargateProfileStatusType string

FargateProfileStatusType is a type of FargateProfile status.

const (
	FargateProfileStatusCreating     FargateProfileStatusType = "CREATING"
	FargateProfileStatusActive       FargateProfileStatusType = "ACTIVE"
	FargateProfileStatusDeleting     FargateProfileStatusType = "DELETING"
	FargateProfileStatusCreateFailed FargateProfileStatusType = "CREATE_FAILED"
	FargateProfileStatusDeleteFailed FargateProfileStatusType = "DELETE_FAILED"
)

Types of FargateProfile status.

type Issue

type Issue struct {

	// A brief description of the error.
	//
	//    * AutoScalingGroupNotFound: We couldn't find the Auto Scaling group associated
	//    with the managed node group. You may be able to recreate an Auto Scaling
	//    group with the same settings to recover.
	//
	//    * Ec2SecurityGroupNotFound: We couldn't find the cluster security group
	//    for the cluster. You must recreate your cluster.
	//
	//    * Ec2SecurityGroupDeletionFailure: We could not delete the remote access
	//    security group for your managed node group. Remove any dependencies from
	//    the security group.
	//
	//    * Ec2LaunchTemplateNotFound: We couldn't find the Amazon EC2 launch template
	//    for your managed node group. You may be able to recreate a launch template
	//    with the same settings to recover.
	//
	//    * Ec2LaunchTemplateVersionMismatch: The Amazon EC2 launch template version
	//    for your managed node group does not match the version that Amazon EKS
	//    created. You may be able to revert to the version that Amazon EKS created
	//    to recover.
	//
	//    * IamInstanceProfileNotFound: We couldn't find the IAM instance profile
	//    for your managed node group. You may be able to recreate an instance profile
	//    with the same settings to recover.
	//
	//    * IamNodeRoleNotFound: We couldn't find the IAM role for your managed
	//    node group. You may be able to recreate an IAM role with the same settings
	//    to recover.
	//
	//    * AsgInstanceLaunchFailures: Your Auto Scaling group is experiencing failures
	//    while attempting to launch instances.
	//
	//    * NodeCreationFailure: Your launched instances are unable to register
	//    with your Amazon EKS cluster. Common causes of this failure are insufficient
	//    worker node IAM role (https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html)
	//    permissions or lack of outbound internet access for the nodes.
	//
	//    * InstanceLimitExceeded: Your AWS account is unable to launch any more
	//    instances of the specified instance type. You may be able to request an
	//    Amazon EC2 instance limit increase to recover.
	//
	//    * InsufficientFreeAddresses: One or more of the subnets associated with
	//    your managed node group does not have enough available IP addresses for
	//    new nodes.
	//
	//    * AccessDenied: Amazon EKS or one or more of your managed nodes is unable
	//    to communicate with your cluster API server.
	//
	//    * InternalFailure: These errors are usually caused by an Amazon EKS server-side
	//    issue.
	Code string `json:"code,omitempty"`

	// The error message associated with the issue.
	Message string `json:"message,omitempty"`

	// The AWS resources that are afflicted by this issue.
	ResourceIDs []string `json:"resourceIds,omitempty"`
}

Issue is an issue with a NodeGroup.

func (*Issue) DeepCopy

func (in *Issue) DeepCopy() *Issue

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

func (*Issue) DeepCopyInto

func (in *Issue) DeepCopyInto(out *Issue)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LaunchTemplateSpecification added in v0.20.0

type LaunchTemplateSpecification struct {

	// The ID of the launch template.
	ID *string `json:"id,omitempty"`

	// The name of the launch template.
	Name *string `json:"name,omitempty"`

	// The version of the launch template to use. If no version is specified, then the
	// template's default version is used.
	Version *string `json:"version,omitempty"`
}

LaunchTemplateSpecification is an object representing a node group launch template specification. The launch template cannot include SubnetId (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateNetworkInterface.html), IamInstanceProfile (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_IamInstanceProfile.html), RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html), HibernationOptions (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_HibernationOptionsRequest.html), or TerminateInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TerminateInstances.html), or the node group deployment or update will fail. For more information about launch templates, see CreateLaunchTemplate (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) in the Amazon EC2 API Reference. For more information about using launch templates with Amazon EKS, see Launch template support (https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html) in the Amazon EKS User Guide. Specify either name or id, but not both.

func (*LaunchTemplateSpecification) DeepCopy added in v0.20.0

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

func (*LaunchTemplateSpecification) DeepCopyInto added in v0.20.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroup

type NodeGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NodeGroupSpec   `json:"spec"`
	Status NodeGroupStatus `json:"status,omitempty"`
}

A NodeGroup is a managed resource that represents an AWS Elastic Kubernetes Service NodeGroup. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="CLUSTER",type="string",JSONPath=".spec.forProvider.clusterName" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*NodeGroup) DeepCopy

func (in *NodeGroup) DeepCopy() *NodeGroup

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

func (*NodeGroup) DeepCopyInto

func (in *NodeGroup) DeepCopyInto(out *NodeGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeGroup) DeepCopyObject

func (in *NodeGroup) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NodeGroup) GetCondition

func (mg *NodeGroup) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this NodeGroup.

func (*NodeGroup) GetDeletionPolicy added in v0.12.0

func (mg *NodeGroup) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this NodeGroup.

func (*NodeGroup) GetProviderConfigReference added in v0.12.0

func (mg *NodeGroup) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this NodeGroup.

func (*NodeGroup) GetProviderReference

func (mg *NodeGroup) GetProviderReference() *xpv1.Reference

GetProviderReference of this NodeGroup. Deprecated: Use GetProviderConfigReference.

func (*NodeGroup) GetWriteConnectionSecretToReference

func (mg *NodeGroup) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this NodeGroup.

func (*NodeGroup) ResolveReferences

func (mg *NodeGroup) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this NodeGroup

func (*NodeGroup) SetConditions

func (mg *NodeGroup) SetConditions(c ...xpv1.Condition)

SetConditions of this NodeGroup.

func (*NodeGroup) SetDeletionPolicy added in v0.12.0

func (mg *NodeGroup) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this NodeGroup.

func (*NodeGroup) SetProviderConfigReference added in v0.12.0

func (mg *NodeGroup) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this NodeGroup.

func (*NodeGroup) SetProviderReference

func (mg *NodeGroup) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this NodeGroup. Deprecated: Use SetProviderConfigReference.

func (*NodeGroup) SetWriteConnectionSecretToReference

func (mg *NodeGroup) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this NodeGroup.

type NodeGroupHealth

type NodeGroupHealth struct {
	// Any issues that are associated with the node group.
	Issues []Issue `json:"issues,omitempty"`
}

NodeGroupHealth describes the health of a node group.

func (*NodeGroupHealth) DeepCopy

func (in *NodeGroupHealth) DeepCopy() *NodeGroupHealth

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

func (*NodeGroupHealth) DeepCopyInto

func (in *NodeGroupHealth) DeepCopyInto(out *NodeGroupHealth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupList

type NodeGroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NodeGroup `json:"items"`
}

NodeGroupList contains a list of NodeGroup items

func (*NodeGroupList) DeepCopy

func (in *NodeGroupList) DeepCopy() *NodeGroupList

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

func (*NodeGroupList) DeepCopyInto

func (in *NodeGroupList) DeepCopyInto(out *NodeGroupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeGroupList) DeepCopyObject

func (in *NodeGroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NodeGroupList) GetItems

func (l *NodeGroupList) GetItems() []resource.Managed

GetItems of this NodeGroupList.

type NodeGroupObservation

type NodeGroupObservation struct {
	// The Unix epoch timestamp in seconds for when the managed node group was created.
	CreatedAt *metav1.Time `json:"createdAt,omitempty"`

	// The health status of the node group. If there are issues with your node group's
	// health, they are listed here.
	Health NodeGroupHealth `json:"nodeGroupHealth,omitempty"`

	// The Unix epoch timestamp in seconds for when the managed node group was last
	// modified.
	ModifiedAt *metav1.Time `json:"modifiedAt,omitempty"`

	// The Amazon Resource Name (ARN) associated with the managed node group.
	NodeGroupArn string `json:"nodeGroupArn,omitempty"`

	// The resources associated with the node group, such as Auto Scaling groups
	// and security groups for remote access.
	Resources NodeGroupResources `json:"resources,omitempty"`

	// The scaling configuration details for the Auto Scaling group that is created
	// for your node group.
	ScalingConfig NodeGroupScalingConfigStatus `json:"scalingConfig,omitempty"`

	// The current status of the managed node group.
	Status NodeGroupStatusType `json:"status,omitempty"`
}

NodeGroupObservation is the observed state of a NodeGroup.

func (*NodeGroupObservation) DeepCopy

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

func (*NodeGroupObservation) DeepCopyInto

func (in *NodeGroupObservation) DeepCopyInto(out *NodeGroupObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupParameters

type NodeGroupParameters struct {
	// Region is the region you'd like  the NodeGroup to be created in.
	Region string `json:"region"`

	// The AMI type for your node group. GPU instance types should use the AL2_x86_64_GPU
	// AMI type, which uses the Amazon EKS-optimized Linux AMI with GPU support.
	// Non-GPU instances should use the AL2_x86_64 AMI type, which uses the Amazon
	// EKS-optimized Linux AMI.
	// +immutable
	// +optional
	AMIType *string `json:"amiType,omitempty"`

	// The name of the cluster to create the node group in.
	//
	// ClusterName is a required field
	// +immutable
	ClusterName string `json:"clusterName,omitempty"`

	// ClusterNameRef is a reference to a Cluster used to set
	// the ClusterName.
	// +immutable
	// +optional
	ClusterNameRef *xpv1.Reference `json:"clusterNameRef,omitempty"`

	// ClusterNameSelector selects references to a Cluster used
	// to set the ClusterName.
	// +optional
	ClusterNameSelector *xpv1.Selector `json:"clusterNameSelector,omitempty"`

	// CapacityType for your node group.
	// +kubebuilder:validation:Enum=ON_DEMAND;SPOT
	CapacityType *string `json:"capacityType,omitempty"`

	// The root device disk size (in GiB) for your node group instances. The default
	// disk size is 20 GiB.
	// +immutable
	// +optional
	DiskSize *int32 `json:"diskSize,omitempty"`

	// The instance type to use for your node group. Currently, you can specify
	// a single instance type for a node group. The default value for this parameter
	// is t3.medium. If you choose a GPU instance type, be sure to specify the AL2_x86_64_GPU
	// with the amiType parameter.
	// +immutable
	// +optional
	InstanceTypes []string `json:"instanceTypes,omitempty"`

	// The Kubernetes labels to be applied to the nodes in the node group when they
	// are created.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// An object representing a node group's launch template specification. If
	// specified, then do not specify instanceTypes, diskSize, or remoteAccess and make
	// sure that the launch template meets the requirements in
	// launchTemplateSpecification.
	LaunchTemplate *LaunchTemplateSpecification `json:"launchTemplate,omitempty"`

	// The Amazon Resource Name (ARN) of the IAM role to associate with your node
	// group. The Amazon EKS worker node kubelet daemon makes calls to AWS APIs
	// on your behalf. Worker nodes receive permissions for these API calls through
	// an IAM instance profile and associated policies. Before you can launch worker
	// nodes and register them into a cluster, you must create an IAM role for those
	// worker nodes to use when they are launched. For more information, see Amazon
	// EKS Worker Node IAM Role (https://docs.aws.amazon.com/eks/latest/userguide/worker_node_IAM_role.html)
	// in the Amazon EKS User Guide .
	//
	// NodeRole is a required field
	// +immutable
	NodeRole string `json:"nodeRole,omitempty"`

	// NodeRoleRef is a reference to a Cluster used to set the NodeRole.
	// +immutable
	// +optional
	NodeRoleRef *xpv1.Reference `json:"nodeRoleRef,omitempty"`

	// NodeRoleSelector selects references to a Cluster used
	// to set the NodeRole.
	// +optional
	NodeRoleSelector *xpv1.Selector `json:"nodeRoleSelector,omitempty"`

	// The AMI version of the Amazon EKS-optimized AMI to use with your node group.
	// By default, the latest available AMI version for the node group's current
	// Kubernetes version is used. For more information, see Amazon EKS-Optimized
	// Linux AMI Versions (https://docs.aws.amazon.com/eks/latest/userguide/eks-linux-ami-versions.html)
	// in the Amazon EKS User Guide.
	// +immutable
	// +optional
	ReleaseVersion *string `json:"releaseVersion,omitempty"`

	// The remote access (SSH) configuration to use with your node group.
	// +immutable
	// +optional
	RemoteAccess *RemoteAccessConfig `json:"remoteAccess,omitempty"`

	// The scaling configuration details for the Auto Scaling group that is created
	// for your node group.
	// +optional
	ScalingConfig *NodeGroupScalingConfig `json:"scalingConfig,omitempty"`

	// The subnets to use for the Auto Scaling group that is created for your node
	// group. These subnets must have the tag key kubernetes.io/cluster/CLUSTER_NAME
	// with a value of shared, where CLUSTER_NAME is replaced with the name of your
	// cluster.
	//
	// Subnets is a required field
	// +immutable
	Subnets []string `json:"subnets,omitempty"`

	// SubnetRefs are references to Subnets used to set the Subnets.
	// +immutable
	// +optional
	SubnetRefs []xpv1.Reference `json:"subnetRefs,omitempty"`

	// SubnetSelector selects references to Subnets used to set the Subnets.
	// +optional
	SubnetSelector *xpv1.Selector `json:"subnetSelector,omitempty"`

	// The metadata to apply to the node group to assist with categorization and
	// organization. Each tag consists of a key and an optional value, both of which
	// you define. Node group tags do not propagate to any other resources associated
	// with the node group, such as the Amazon EC2 instances or subnets.
	// +optional
	Tags map[string]string `json:"tags,omitempty"`

	// The Kubernetes taints to be applied to the nodes in the node group.
	Taints []Taint `json:"taints,omitempty"`

	// The Kubernetes version to use for your managed nodes. By default, the Kubernetes
	// version of the cluster is used, and this is the only accepted specified value.
	// +optional
	Version *string `json:"version,omitempty"`
}

NodeGroupParameters define the desired state of an AWS Elastic Kubernetes Service NodeGroup.

func (*NodeGroupParameters) DeepCopy

func (in *NodeGroupParameters) DeepCopy() *NodeGroupParameters

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

func (*NodeGroupParameters) DeepCopyInto

func (in *NodeGroupParameters) DeepCopyInto(out *NodeGroupParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupResources

type NodeGroupResources struct {
	// The Auto Scaling groups associated with the node group.
	AutoScalingGroups []AutoScalingGroup `json:"autoScalingGroup,omitempty"`

	// The remote access security group associated with the node group. This security
	// group controls SSH access to the worker nodes.
	RemoteAccessSecurityGroup string `json:"remoteAccessSecurityGroup,omitempty"`
}

NodeGroupResources describe resources in a NodeGroup.

func (*NodeGroupResources) DeepCopy

func (in *NodeGroupResources) DeepCopy() *NodeGroupResources

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

func (*NodeGroupResources) DeepCopyInto

func (in *NodeGroupResources) DeepCopyInto(out *NodeGroupResources)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupScalingConfig

type NodeGroupScalingConfig struct {
	// The current number of worker nodes that the managed node group should maintain.
	// This value should be left unset if another controller, such as cluster-autoscaler,
	// is expected to manage the desired size of the node group. If not set, the initial
	// desired size will be the configured minimum size of the node group.
	// +optional
	DesiredSize *int32 `json:"desiredSize,omitempty"`

	// The maximum number of worker nodes that the managed node group can scale
	// out to. Managed node groups can support up to 100 nodes by default.
	// +optional
	MaxSize *int32 `json:"maxSize,omitempty"`

	// The minimum number of worker nodes that the managed node group can scale
	// in to. This number must be greater than zero.
	// +optional
	MinSize *int32 `json:"minSize,omitempty"`
}

NodeGroupScalingConfig is the configuration for scaling a node group.

func (*NodeGroupScalingConfig) DeepCopy

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

func (*NodeGroupScalingConfig) DeepCopyInto

func (in *NodeGroupScalingConfig) DeepCopyInto(out *NodeGroupScalingConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupScalingConfigStatus added in v0.17.0

type NodeGroupScalingConfigStatus struct {
	// The current number of worker nodes for the managed node group.
	DesiredSize *int32 `json:"desiredSize,omitempty"`
}

NodeGroupScalingConfigStatus is the observed scaling configuration for a node group.

func (*NodeGroupScalingConfigStatus) DeepCopy added in v0.17.0

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

func (*NodeGroupScalingConfigStatus) DeepCopyInto added in v0.17.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupSpec

type NodeGroupSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       NodeGroupParameters `json:"forProvider"`
}

A NodeGroupSpec defines the desired state of an EKS NodeGroup.

func (*NodeGroupSpec) DeepCopy

func (in *NodeGroupSpec) DeepCopy() *NodeGroupSpec

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

func (*NodeGroupSpec) DeepCopyInto

func (in *NodeGroupSpec) DeepCopyInto(out *NodeGroupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupStatus

type NodeGroupStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          NodeGroupObservation `json:"atProvider,omitempty"`
}

A NodeGroupStatus represents the observed state of an EKS NodeGroup.

func (*NodeGroupStatus) DeepCopy

func (in *NodeGroupStatus) DeepCopy() *NodeGroupStatus

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

func (*NodeGroupStatus) DeepCopyInto

func (in *NodeGroupStatus) DeepCopyInto(out *NodeGroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NodeGroupStatusType

type NodeGroupStatusType string

NodeGroupStatusType is a type of NodeGroup status.

const (
	NodeGroupStatusCreating     NodeGroupStatusType = "CREATING"
	NodeGroupStatusActive       NodeGroupStatusType = "ACTIVE"
	NodeGroupStatusUpdating     NodeGroupStatusType = "UPDATING"
	NodeGroupStatusDeleting     NodeGroupStatusType = "DELETING"
	NodeGroupStatusCreateFailed NodeGroupStatusType = "CREATE_FAILED"
	NodeGroupStatusDeleteFailed NodeGroupStatusType = "DELETE_FAILED"
	NodeGroupStatusDegraded     NodeGroupStatusType = "DEGRADED"
)

Types of NodeGroup status.

type RemoteAccessConfig

type RemoteAccessConfig struct {
	// The Amazon EC2 SSH key that provides access for SSH communication with the
	// worker nodes in the managed node group. For more information, see Amazon
	// EC2 Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
	// in the Amazon Elastic Compute Cloud User Guide for Linux Instances.
	EC2SSHKey *string `json:"ec2SSHKey,omitempty"`

	// The security groups that are allowed SSH access (port 22) to the worker nodes.
	// If you specify an Amazon EC2 SSH key but do not specify a source security
	// group when you create a managed node group, then port 22 on the worker nodes
	// is opened to the internet (0.0.0.0/0). For more information, see Security
	// Groups for Your VPC (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)
	// in the Amazon Virtual Private Cloud User Guide.
	// +optional
	SourceSecurityGroups []string `json:"sourceSecurityGroups,omitempty"`

	// SourceSecurityGroupRefs are references to SecurityGroups used to set
	// the SourceSecurityGroups.
	// +optional
	SourceSecurityGroupRefs []xpv1.Reference `json:"sourceSecurityGroupRefs,omitempty"`

	// SourceSecurityGroupSelector selects references to SecurityGroups used
	// to set the SourceSecurityGroups.
	// +optional
	SourceSecurityGroupSelector *xpv1.Selector `json:"sourceSecurityGroupSelector,omitempty"`
}

RemoteAccessConfig is the configuration for remotely accessing a node.

func (*RemoteAccessConfig) DeepCopy

func (in *RemoteAccessConfig) DeepCopy() *RemoteAccessConfig

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

func (*RemoteAccessConfig) DeepCopyInto

func (in *RemoteAccessConfig) DeepCopyInto(out *RemoteAccessConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Taint added in v0.20.0

type Taint struct {
	// The effect of the taint.
	// +kubebuilder:validation:Enum=NO_SCHEDULE;NO_EXECUTE;PREFER_NO_SCHEDULE
	Effect string `json:"effect"`

	// The key of the taint.
	Key *string `json:"key,omitempty"`

	// The value of the taint.
	Value *string `json:"value,omitempty"`
}

Taint is a property that allows a node to repel a set of pods.

func (*Taint) DeepCopy added in v0.20.0

func (in *Taint) DeepCopy() *Taint

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

func (*Taint) DeepCopyInto added in v0.20.0

func (in *Taint) DeepCopyInto(out *Taint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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