manualv1alpha1

package
v0.42.0 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 15 Imported by: 2

Documentation

Overview

Package manualv1alpha1 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)

	IdentityProviderConfigKind             = reflect.TypeOf(IdentityProviderConfig{}).Name()
	IdentityProviderConfigGroupKind        = schema.GroupKind{Group: Group, Kind: IdentityProviderConfigKind}.String()
	IdentityProviderConfigKindAPIVersion   = IdentityProviderConfigKind + "." + SchemeGroupVersion.String()
	IdentityProviderConfigGroupVersionKind = SchemeGroupVersion.WithKind(IdentityProviderConfigKind)
)

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

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} +kubebuilder:deprecatedversion:warning="Please use v1beta1 version of this resource that has identical schema." Deprecated: Please use v1beta1 version of this resource.

func (*FargateProfile) DeepCopy

func (in *FargateProfile) DeepCopy() *FargateProfile

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

func (*FargateProfile) DeepCopyInto

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

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

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

func (*FargateProfile) GetCondition

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

GetCondition of this FargateProfile.

func (*FargateProfile) GetDeletionPolicy

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

GetDeletionPolicy of this FargateProfile.

func (*FargateProfile) GetProviderConfigReference

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

GetProviderConfigReference of this FargateProfile.

func (*FargateProfile) GetProviderReference

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

GetProviderReference of this FargateProfile. Deprecated: Use GetProviderConfigReference.

func (*FargateProfile) GetPublishConnectionDetailsTo

func (mg *FargateProfile) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this FargateProfile.

func (*FargateProfile) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this FargateProfile.

func (*FargateProfile) SetConditions

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

SetConditions of this FargateProfile.

func (*FargateProfile) SetDeletionPolicy

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

SetDeletionPolicy of this FargateProfile.

func (*FargateProfile) SetProviderConfigReference

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

SetProviderConfigReference of this FargateProfile.

func (*FargateProfile) SetProviderReference

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

SetProviderReference of this FargateProfile. Deprecated: Use SetProviderConfigReference.

func (*FargateProfile) SetPublishConnectionDetailsTo

func (mg *FargateProfile) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this FargateProfile.

func (*FargateProfile) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this FargateProfile.

type FargateProfileList

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

FargateProfileList contains a list of FargateProfile items +kubebuilder:deprecatedversion:warning="Please use v1beta1 version of this resource that has identical schema." Deprecated: Please use v1beta1 version of this resource.

func (*FargateProfileList) DeepCopy

func (in *FargateProfileList) DeepCopy() *FargateProfileList

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

func (*FargateProfileList) DeepCopyInto

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

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

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

func (*FargateProfileList) GetItems

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

GetItems of this FargateProfileList.

type FargateProfileObservation

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

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

func (*FargateProfileObservation) DeepCopyInto

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

type FargateProfileParameters

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

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

func (*FargateProfileParameters) DeepCopyInto

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

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

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

func (*FargateProfileSelector) DeepCopyInto

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

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

A FargateProfileSpec defines the desired state of an EKS FargateProfile.

func (*FargateProfileSpec) DeepCopy

func (in *FargateProfileSpec) DeepCopy() *FargateProfileSpec

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

func (*FargateProfileSpec) DeepCopyInto

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

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

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

func (*FargateProfileStatus) DeepCopyInto

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

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 IdentityProviderConfig

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

	Spec   IdentityProviderConfigSpec   `json:"spec"`
	Status IdentityProviderConfigStatus `json:"status,omitempty"`
}

An IdentityProviderConfig is a managed resource that represents an AWS Elastic Kubernetes Service IdentityProviderConfig. +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 (*IdentityProviderConfig) DeepCopy

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

func (*IdentityProviderConfig) DeepCopyInto

func (in *IdentityProviderConfig) DeepCopyInto(out *IdentityProviderConfig)

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

func (*IdentityProviderConfig) DeepCopyObject

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

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

func (*IdentityProviderConfig) GetCondition

GetCondition of this IdentityProviderConfig.

func (*IdentityProviderConfig) GetDeletionPolicy

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

GetDeletionPolicy of this IdentityProviderConfig.

func (*IdentityProviderConfig) GetProviderConfigReference

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

GetProviderConfigReference of this IdentityProviderConfig.

func (*IdentityProviderConfig) GetProviderReference

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

GetProviderReference of this IdentityProviderConfig. Deprecated: Use GetProviderConfigReference.

func (*IdentityProviderConfig) GetPublishConnectionDetailsTo

func (mg *IdentityProviderConfig) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this IdentityProviderConfig.

func (*IdentityProviderConfig) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this IdentityProviderConfig.

func (*IdentityProviderConfig) ResolveReferences

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

ResolveReferences of this IdentityProviderConfig.

func (*IdentityProviderConfig) SetConditions

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

SetConditions of this IdentityProviderConfig.

func (*IdentityProviderConfig) SetDeletionPolicy

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

SetDeletionPolicy of this IdentityProviderConfig.

func (*IdentityProviderConfig) SetProviderConfigReference

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

SetProviderConfigReference of this IdentityProviderConfig.

func (*IdentityProviderConfig) SetProviderReference

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

SetProviderReference of this IdentityProviderConfig. Deprecated: Use SetProviderConfigReference.

func (*IdentityProviderConfig) SetPublishConnectionDetailsTo

func (mg *IdentityProviderConfig) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this IdentityProviderConfig.

func (*IdentityProviderConfig) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this IdentityProviderConfig.

type IdentityProviderConfigList

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

IdentityProviderConfigList contains a list of IdentityProviderConfig items

func (*IdentityProviderConfigList) DeepCopy

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

func (*IdentityProviderConfigList) DeepCopyInto

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

func (*IdentityProviderConfigList) DeepCopyObject

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

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

func (*IdentityProviderConfigList) GetItems

GetItems of this IdentityProviderConfigList.

type IdentityProviderConfigObservation

type IdentityProviderConfigObservation struct {
	// The current status of the managed identity provider config.
	Status IdentityProviderConfigStatusType `json:"status,omitempty"`

	IdentityProviderConfigArn string `json:"identityProviderConfigArn,omitempty"`
}

IdentityProviderConfigObservation is the observed state of an identity provider.

func (*IdentityProviderConfigObservation) DeepCopy

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

func (*IdentityProviderConfigObservation) DeepCopyInto

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

type IdentityProviderConfigParameters

type IdentityProviderConfigParameters struct {
	// Region is the region you'd like the identity provider to be created in.
	// +immutable
	Region string `json:"region"`

	// The name of the cluster to associate the identity provider with.
	// +immutable
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/eks/v1beta1.Cluster
	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"`

	// An object that represents an OpenID Connect (OIDC) identity provider
	// configuration.
	// +immutable
	Oidc *OIDCIdentityProvider `json:"oidc"`

	// The metadata to apply to the configuration to assist with categorization and
	// organization. Each tag consists of a key and an optional value, both of which
	// you define.
	// +optional
	Tags map[string]string `json:"tags,omitempty"`
}

IdentityProviderConfigParameters define the desired state of an AWS Elastic Kubernetes Service Identity Provider.

func (*IdentityProviderConfigParameters) DeepCopy

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

func (*IdentityProviderConfigParameters) DeepCopyInto

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

type IdentityProviderConfigSpec

type IdentityProviderConfigSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       IdentityProviderConfigParameters `json:"forProvider"`
}

A IdentityProviderConfigSpec defines the desired state of an EKS identity provider.

func (*IdentityProviderConfigSpec) DeepCopy

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

func (*IdentityProviderConfigSpec) DeepCopyInto

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

type IdentityProviderConfigStatus

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

An IdentityProviderConfigStatus represents the observed state of an EKS associated identity provider.

func (*IdentityProviderConfigStatus) DeepCopy

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

func (*IdentityProviderConfigStatus) DeepCopyInto

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

type IdentityProviderConfigStatusType

type IdentityProviderConfigStatusType string

IdentityProviderConfigStatusType is a type of IdentityProviderConfig status.

const (
	IdentityProviderConfigStatusCreating     IdentityProviderConfigStatusType = "CREATING"
	IdentityProviderConfigStatusActive       IdentityProviderConfigStatusType = "ACTIVE"
	IdentityProviderConfigStatusDeleting     IdentityProviderConfigStatusType = "DELETING"
	IdentityProviderConfigStatusCreateFailed IdentityProviderConfigStatusType = "CREATE_FAILED"
	IdentityProviderConfigStatusDeleteFailed IdentityProviderConfigStatusType = "DELETE_FAILED"
)

Types of IdentityProviderConfig status.

type IdentityProviderConfigType

type IdentityProviderConfigType string

IdentityProviderConfigType is a type of IdentityProviderConfig

const (
	// OidcIdentityProviderConfigType represent an OpenID Connect identity provider.
	OidcIdentityProviderConfigType IdentityProviderConfigType = "oidc"
)

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

type LaunchTemplateSpecification struct {

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

	// The name of the launch template.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1alpha1.LaunchTemplate
	Name *string `json:"name,omitempty"`

	// NameRef is a reference to a LaunchTemplate used to set
	// the Name.
	// +immutable
	// +optional
	NameRef *xpv1.Reference `json:"nameRef,omitempty"`

	// NameSelector selects references to a LaunchTemplate used
	// to set the Name.
	// +optional
	NameSelector *xpv1.Selector `json:"nameSelector,omitempty"`

	// The version of the launch template to use. If no version is specified, then the
	// template's default version is used.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1alpha1.LaunchTemplateVersion
	Version *string `json:"version,omitempty"`

	// VersionRef is a reference to a LaunchTemplateVersion used to set
	// the Version.
	// +immutable
	// +optional
	VersionRef *xpv1.Reference `json:"versionRef,omitempty"`

	// VersionSelector selects references to a LaunchTemplateVersion used
	// to set the Version.
	// +optional
	VersionSelector *xpv1.Selector `json:"versionSelector,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

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

func (*LaunchTemplateSpecification) DeepCopyInto

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

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

GetDeletionPolicy of this NodeGroup.

func (*NodeGroup) GetProviderConfigReference

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

func (mg *NodeGroup) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this NodeGroup.

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

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

SetDeletionPolicy of this NodeGroup.

func (*NodeGroup) SetProviderConfigReference

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

func (mg *NodeGroup) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this NodeGroup.

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 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.
	Version string `json:"version,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.
	ReleaseVersion string `json:"releaseVersion,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 update configuration of the node group
	UpdateConfig NodeGroupUpdateConfigStatus `json:"updateConfig,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 can use
	// AL2_x86_64_GPU AMI type,
	// which uses the Amazon EKS-optimized Linux AMI with GPU support.
	// Non-GPU instances can use
	// AL2_x86_64 (default) AMI type,
	// which uses the Amazon EKS-optimized Linux AMI or,
	// BOTTLEROCKET_ARM_64 AMI type,
	// which uses the Amazon Bottlerocket AMI for ARM instances, or
	// BOTTLEROCKET_x86_64 AMI type,
	// which uses the Amazon Bottlerocket AMI fir x86_64 instances.
	//
	// +immutable
	// +optional
	AMIType *string `json:"amiType,omitempty"`

	// The name of the cluster to create the node group in.
	//
	// ClusterName is a required field
	// +immutable
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/eks/v1beta1.Cluster
	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
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:extractor=github.com/crossplane-contrib/provider-aws/apis/iam/v1beta1.RoleARN()
	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
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1beta1.Subnet
	// +crossplane:generate:reference:refFieldName=SubnetRefs
	// +crossplane:generate:reference:selectorFieldName=SubnetSelector
	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"`

	// Specifies details on how the Nodes in this NodeGroup should be updated.
	// +optional
	UpdateConfig *NodeGroupUpdateConfig `json:"updateConfig,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

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

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

func (*NodeGroupScalingConfigStatus) DeepCopyInto

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 NodeGroupUpdateConfig added in v0.32.0

type NodeGroupUpdateConfig struct {
	// The maximum number of nodes unavailable at once during a version update.
	// Nodes will be updated in parallel. The maximum number is 100.
	// This value or maxUnavailablePercentage is required to have a value, but
	// not both.
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=100
	// +optional
	MaxUnavailable *int32 `json:"maxUnavailable,omitempty"`

	// The maximum percentage of nodes unavailable during a version update. This
	// percentage of nodes will be updated in parallel, up to 100 nodes at once.
	// This value or maxUnavailable is required to have a value, but not both.
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=100
	// +optional
	MaxUnavailablePercentage *int32 `json:"maxUnavailablePercentage,omitempty"`

	// Force the update if the existing node group's pods are unable to be
	// drained due to a pod disruption budget issue. If an update fails because
	// pods could not be drained, you can force the update after it fails to
	// terminate the old node whether any pods are running on the node.
	// +optional
	Force *bool `json:"force,omitempty"`
}

NodeGroupUpdateConfig specifies how an Update to the NodeGroup should be performed.

func (*NodeGroupUpdateConfig) DeepCopy added in v0.32.0

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

func (*NodeGroupUpdateConfig) DeepCopyInto added in v0.32.0

func (in *NodeGroupUpdateConfig) DeepCopyInto(out *NodeGroupUpdateConfig)

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

type NodeGroupUpdateConfigStatus added in v0.32.0

type NodeGroupUpdateConfigStatus struct {
	// The current maximum number of nodes unavailable at once during a version update.
	// +optional
	MaxUnavailable *int32 `json:"maxUnavailable,omitempty"`

	// The current maximum percentage of nodes unavailable during a version
	// update. This percentage of nodes will be updated in parallel.
	// +optional
	MaxUnavailablePercentage *int32 `json:"maxUnavailablePercentage,omitempty"`
}

NodeGroupUpdateConfigStatus is the observed update configuration for a node group.

func (*NodeGroupUpdateConfigStatus) DeepCopy added in v0.32.0

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

func (*NodeGroupUpdateConfigStatus) DeepCopyInto added in v0.32.0

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

type OIDCIdentityProvider

type OIDCIdentityProvider struct {
	// This is also known as audience. The ID for the client application that makes
	// authentication requests to the OpenID identity provider.
	// +immutable
	ClientID string `json:"clientId"`

	// The URL of the OpenID identity provider that allows the API server to discover
	// public signing keys for verifying tokens. The URL must begin with https:// and
	// should correspond to the iss claim in the provider's OIDC ID tokens. Per the
	// OIDC standard, path components are allowed but query parameters are not.
	// Typically the URL consists of only a hostname, like https://server.example.org
	// or https://example.com. This URL should point to the level below
	// .well-known/openid-configuration and must be publicly accessible over the
	// internet.
	// +immutable
	IssuerURL string `json:"issuerUrl"`

	// The JWT claim that the provider uses to return your groups.
	// +immutable
	// +optional
	GroupsClaim string `json:"groupsClaim,omitempty"`

	// The prefix that is prepended to group claims to prevent clashes with existing
	// names (such as system: groups). For example, the value oidc: will create group
	// names like oidc:engineering and oidc:infra.
	// +immutable
	// +optional
	GroupsPrefix string `json:"groupsPrefix,omitempty"`

	// The key value pairs that describe required claims in the identity token. If set,
	// each claim is verified to be present in the token with a matching value. For the
	// maximum number of claims that you can require, see Amazon EKS service quotas
	// (https://docs.aws.amazon.com/eks/latest/userguide/service-quotas.html) in the
	// Amazon EKS User Guide.
	// +immutable
	// +optional
	RequiredClaims map[string]string `json:"requiredClaims,omitempty"`

	// The JSON Web Token (JWT) claim to use as the username. The default is sub, which
	// is expected to be a unique identifier of the end user. You can choose other
	// claims, such as email or name, depending on the OpenID identity provider. Claims
	// other than email are prefixed with the issuer URL to prevent naming clashes with
	// other plug-ins.
	// +immutable
	// +optional
	UsernameClaim string `json:"usernameClaim,omitempty"`

	// The prefix that is prepended to username claims to prevent clashes with existing
	// names. If you do not provide this field, and username is a value other than
	// email, the prefix defaults to issuerurl#. You can use the value - to disable all
	// prefixing.
	// +optional
	UsernamePrefix string `json:"usernamePrefix,omitempty"`
}

OIDCIdentityProvider describes an OpenID identity provider configuration

func (*OIDCIdentityProvider) DeepCopy

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

func (*OIDCIdentityProvider) DeepCopyInto

func (in *OIDCIdentityProvider) DeepCopyInto(out *OIDCIdentityProvider)

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

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
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SourceSecurityGroupRefs
	// +crossplane:generate:reference:selectorFieldName=SourceSecurityGroupSelector
	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

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

func (in *Taint) DeepCopy() *Taint

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

func (*Taint) DeepCopyInto

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