v1beta1

package
v0.50.4 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2024 License: Apache-2.0 Imports: 13 Imported by: 2

Documentation

Overview

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

Index

Constants

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

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 (
	ClusterKind             = reflect.TypeOf(Cluster{}).Name()
	ClusterGroupKind        = schema.GroupKind{Group: Group, Kind: ClusterKind}.String()
	ClusterKindAPIVersion   = ClusterKind + "." + SchemeGroupVersion.String()
	ClusterGroupVersionKind = SchemeGroupVersion.WithKind(ClusterKind)

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

Cluster type metadata.

Functions

This section is empty.

Types

type AccessConfig added in v0.50.0

type AccessConfig struct {
	// The desired authentication mode for the cluster.
	// +kubebuilder:validation:Enum=API;API_AND_CONFIG_MAP;CONFIG_MAP
	// +optional
	AuthenticationMode *AuthenticationMode `json:"authenticationMode,omitempty"`
}

func (*AccessConfig) DeepCopy added in v0.50.0

func (in *AccessConfig) DeepCopy() *AccessConfig

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

func (*AccessConfig) DeepCopyInto added in v0.50.0

func (in *AccessConfig) DeepCopyInto(out *AccessConfig)

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

type AccessConfigResponse added in v0.50.0

type AccessConfigResponse struct {
	// The authentication mode used for the cluster.
	AuthenticationMode AuthenticationMode `json:"authenticationMode,omitempty"`
}

AccessConfigResponse is the observed access configuration for a cluster.

func (*AccessConfigResponse) DeepCopy added in v0.50.0

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

func (*AccessConfigResponse) DeepCopyInto added in v0.50.0

func (in *AccessConfigResponse) DeepCopyInto(out *AccessConfigResponse)

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

type AuthenticationMode added in v0.50.0

type AuthenticationMode string

AuthenticationMode specifies the authentication mode of the cluster

const (
	AuthenticationModeApi             AuthenticationMode = "API"
	AuthenticationModeApiAndConfigMap AuthenticationMode = "API_AND_CONFIG_MAP"
	AuthenticationModeConfigMap       AuthenticationMode = "CONFIG_MAP"
)

type Cluster

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

	Spec   ClusterSpec   `json:"spec"`
	Status ClusterStatus `json:"status,omitempty"`
}

A Cluster is a managed resource that represents an AWS Elastic Kubernetes Service cluster. +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="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) GetCondition

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

GetCondition of this Cluster.

func (*Cluster) GetDeletionPolicy

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

GetDeletionPolicy of this Cluster.

func (*Cluster) GetManagementPolicies added in v0.43.0

func (mg *Cluster) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Cluster.

func (*Cluster) GetProviderConfigReference

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

GetProviderConfigReference of this Cluster.

func (*Cluster) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Cluster.

func (*Cluster) ResolveReferences

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

ResolveReferences of this Cluster.

func (*Cluster) SetConditions

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

SetConditions of this Cluster.

func (*Cluster) SetDeletionPolicy

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

SetDeletionPolicy of this Cluster.

func (*Cluster) SetManagementPolicies added in v0.43.0

func (mg *Cluster) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Cluster.

func (*Cluster) SetProviderConfigReference

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

SetProviderConfigReference of this Cluster.

func (*Cluster) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Cluster.

type ClusterList

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

ClusterList contains a list of Cluster items

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

func (*ClusterList) GetItems

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

GetItems of this ClusterList.

type ClusterObservation

type ClusterObservation struct {
	// The Amazon Resource Name (ARN) of the cluster.
	Arn string `json:"arn,omitempty"`

	// The Unix epoch timestamp in seconds for when the cluster was created.
	CreatedAt *metav1.Time `json:"createdAt,omitempty"`

	// The endpoint for your Kubernetes API server.
	Endpoint string `json:"endpoint,omitempty"`

	// The Base64-encoded certificate data required to communicate with your cluster.
	CertificateAuthorityData string `json:"certificateAuthorityData,omitempty"`

	// The identity provider information for the cluster.
	Identity Identity `json:"identity,omitempty"`

	// The kubernetes version of your Amazon EKS cluster. For more information, see
	// Kubernetes Versions (https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html)
	// in the Amazon EKS User Guide .
	Version string `json:"version,omitempty"`

	// The platform version of your Amazon EKS cluster. For more information, see
	// Platform Versions (https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html)
	// in the Amazon EKS User Guide .
	PlatformVersion string `json:"platformVersion,omitempty"`

	// An object representing the configuration of your local Amazon EKS cluster on an
	// Amazon Web Services Outpost. This object isn't available for clusters on the
	// Amazon Web Services cloud.
	OutpostConfig OutpostConfigResponse `json:"outpostConfig,omitempty"`

	// The Kubernetes network configuration for the cluster.
	KubernetesNetworkConfig KubernetesNetworkConfigResponse `json:"kubernetesNetworkConfig,omitempty"`

	// The VPC configuration used by the cluster control plane. Amazon EKS VPC resources
	// have specific requirements to work properly with Kubernetes. For more information,
	// see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html)
	// and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html)
	// in the Amazon EKS User Guide.
	ResourcesVpcConfig VpcConfigResponse `json:"resourcesVpcConfig,omitempty"`

	// The access configuration for the cluster.
	AccessConfig AccessConfigResponse `json:"accessConfig,omitempty"`

	// The current status of the cluster.
	Status ClusterStatusType `json:"status,omitempty"`
}

ClusterObservation is the observed state of a cluster.

func (*ClusterObservation) DeepCopy

func (in *ClusterObservation) DeepCopy() *ClusterObservation

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

func (*ClusterObservation) DeepCopyInto

func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation)

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

type ClusterParameters

type ClusterParameters struct {
	// The access configuration for the cluster.
	// +optional
	AccessConfig *AccessConfig `json:"accessConfig,omitempty"`

	// Region is the region you'd like your Cluster to be created in.
	// +optional
	Region *string `json:"region,omitempty"`

	// The encryption configuration for the cluster.
	// +immutable
	// +optional
	EncryptionConfig []EncryptionConfig `json:"encryptionConfig,omitempty"`

	// The Kubernetes network configuration for the cluster.
	// +immutable
	// +optional
	KubernetesNetworkConfig *KubernetesNetworkConfigRequest `json:"kubernetesNetworkConfig,omitempty"`

	// Enable or disable exporting the Kubernetes control plane logs for your cluster
	// to CloudWatch Logs. By default, cluster control plane logs aren't exported
	// to CloudWatch Logs. For more information, see Amazon EKS Cluster Control
	// Plane Logs (https://docs.aws.amazon.com/eks/latest/userguide/control-plane-logs.html)
	// in the Amazon EKS User Guide .
	//
	// CloudWatch Logs ingestion, archive storage, and data scanning rates apply
	// to exported control plane logs. For more information, see Amazon CloudWatch
	// Pricing (http://aws.amazon.com/cloudwatch/pricing/).
	// +optional
	Logging *Logging `json:"logging,omitempty"`

	// An object representing the configuration of your local Amazon EKS cluster on an
	// Amazon Web Services Outpost. Before creating a local cluster on an Outpost,
	// review Creating an Amazon EKS cluster on an Amazon Web Services Outpost
	// (https://docs.aws.amazon.com/eks/latest/userguide/create-cluster-outpost.html)
	// in the Amazon EKS User Guide. This object isn't available for creating Amazon
	// EKS clusters on the Amazon Web Services cloud.
	// +optional
	OutpostConfig *OutpostConfigRequest `json:"outpostConfig,omitempty"`

	// The VPC configuration used by the cluster control plane. Amazon EKS VPC resources
	// have specific requirements to work properly with Kubernetes. For more information,
	// see Cluster VPC Considerations (https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html)
	// and Cluster Security Group Considerations (https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html)
	// in the Amazon EKS User Guide. You must specify at least two subnets. You
	// can specify up to five security groups, but we recommend that you use a dedicated
	// security group for your cluster control plane.
	//
	// ResourcesVpcConfig is a required field
	ResourcesVpcConfig VpcConfigRequest `json:"resourcesVpcConfig"`

	// The Amazon Resource Name (ARN) of the IAM role that provides permissions
	// for Amazon EKS to make calls to other AWS API operations on your behalf.
	// For more information, see Amazon EKS Service IAM Role (https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html)
	// in the Amazon EKS User Guide .
	//
	// RoleArn 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()
	RoleArn string `json:"roleArn,omitempty"`

	// RoleArnRef is a reference to an IAMRole used to set
	// the RoleArn.
	// +immutable
	// +optional
	RoleArnRef *xpv1.Reference `json:"roleArnRef,omitempty"`

	// RoleArnSelector selects references to IAMRole used
	// to set the RoleArn.
	// +optional
	RoleArnSelector *xpv1.Selector `json:"roleArnSelector,omitempty"`

	// The metadata to apply to the cluster 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"`

	// The desired Kubernetes version for your cluster. If you don't specify a value
	// here, the latest version available in Amazon EKS is used.
	// Example: 1.15
	// +optional
	Version *string `json:"version,omitempty"`
}

ClusterParameters define the desired state of an AWS Elastic Kubernetes Service cluster.

func (*ClusterParameters) DeepCopy

func (in *ClusterParameters) DeepCopy() *ClusterParameters

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

func (*ClusterParameters) DeepCopyInto

func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters)

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

type ClusterSpec

type ClusterSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       ClusterParameters `json:"forProvider"`
}

A ClusterSpec defines the desired state of an EKS Cluster.

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

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

A ClusterStatus represents the observed state of an EKS Cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type ClusterStatusType

type ClusterStatusType string

ClusterStatusType is the status of an EKS cluster.

const (
	ClusterStatusCreating ClusterStatusType = "CREATING"
	ClusterStatusActive   ClusterStatusType = "ACTIVE"
	ClusterStatusDeleting ClusterStatusType = "DELETING"
	ClusterStatusFailed   ClusterStatusType = "FAILED"
	ClusterStatusUpdating ClusterStatusType = "UPDATING"
)

Cluster statuses.

type EncryptionConfig

type EncryptionConfig struct {

	// AWS Key Management Service (AWS KMS) customer master key (CMK). Either the
	// ARN or the alias can be used.
	Provider Provider `json:"provider"`

	// Specifies the resources to be encrypted. The only supported value is "secrets".
	Resources []string `json:"resources"`
}

EncryptionConfig is the encryption configuration for a cluster.

func (*EncryptionConfig) DeepCopy

func (in *EncryptionConfig) DeepCopy() *EncryptionConfig

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

func (*EncryptionConfig) DeepCopyInto

func (in *EncryptionConfig) DeepCopyInto(out *EncryptionConfig)

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}

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) GetManagementPolicies added in v0.43.0

func (mg *FargateProfile) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this FargateProfile.

func (*FargateProfile) GetProviderConfigReference

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

GetProviderConfigReference of this FargateProfile.

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

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

ResolveReferences 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) SetManagementPolicies added in v0.43.0

func (mg *FargateProfile) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this FargateProfile.

func (*FargateProfile) SetProviderConfigReference

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

SetProviderConfigReference of this FargateProfile.

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

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
	// +crossplane:generate:reference:type=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"`

	// 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
	// +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()
	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
	// +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 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 IPFamily added in v0.36.0

type IPFamily string

IPFamily specifies the ip family

const (
	// IPFamilyIpv4 means ipv4
	IPFamilyIpv4 IPFamily = "ipv4"
	// IPFamilyIpv6 means ipv6
	IPFamilyIpv6 IPFamily = "ipv6"
)

type Identity

type Identity struct {

	// The OpenID Connect (https://openid.net/connect/) identity provider information
	// for the cluster.
	OIDC OIDC `json:"oidc,omitempty"`
}

Identity is the identity information for a cluster.

func (*Identity) DeepCopy

func (in *Identity) DeepCopy() *Identity

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

func (*Identity) DeepCopyInto

func (in *Identity) DeepCopyInto(out *Identity)

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

type KubernetesNetworkConfigRequest added in v0.36.0

type KubernetesNetworkConfigRequest struct {
	// Specify which IP family is used to assign Kubernetes pod and service IP
	// addresses. If you don't specify a value, ipv4 is used by default. You can only
	// specify an IP family when you create a cluster and can't change this value once
	// the cluster is created. If you specify ipv6, the VPC and subnets that you
	// specify for cluster creation must have both IPv4 and IPv6 CIDR blocks assigned
	// to them. You can't specify ipv6 for clusters in China Regions. You can only
	// specify ipv6 for 1.21 and later clusters that use version 1.10.1 or later of the
	// Amazon VPC CNI add-on. If you specify ipv6, then ensure that your VPC meets the
	// requirements listed in the considerations listed in Assigning IPv6 addresses to
	// pods and services
	// (https://docs.aws.amazon.com/eks/latest/userguide/cni-ipv6.html) in the Amazon
	// EKS User Guide. Kubernetes assigns services IPv6 addresses from the unique local
	// address range (fc00::/7). You can't specify a custom IPv6 CIDR block. Pod
	// addresses are assigned from the subnet's IPv6 CIDR.
	IPFamily IPFamily `json:"ipFamily"`

	// Don't specify a value if you select ipv6 for ipFamily. The CIDR block to assign
	// Kubernetes service IP addresses from. If you don't specify a block, Kubernetes
	// assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We
	// recommend that you specify a block that does not overlap with resources in other
	// networks that are peered or connected to your VPC. The block must meet the
	// following requirements:
	//
	// * Within one of the following private IP address
	// blocks: 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16.
	//
	// * Doesn't overlap with
	// any CIDR block assigned to the VPC that you selected for VPC.
	//
	// * Between /24 and
	// /12.
	//
	// You can only specify a custom CIDR block when you create a cluster and
	// can't change this value once the cluster is created.
	ServiceIpv4Cidr string `json:"serviceIpv4Cidr,omitempty"`
}

KubernetesNetworkConfigRequest specifies the Kubernetes network configuration for the cluster.

func (*KubernetesNetworkConfigRequest) DeepCopy added in v0.36.0

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

func (*KubernetesNetworkConfigRequest) DeepCopyInto added in v0.36.0

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

type KubernetesNetworkConfigResponse added in v0.36.0

type KubernetesNetworkConfigResponse struct {
	// The IP family used to assign Kubernetes pod and service IP addresses. The IP
	// family is always ipv4, unless you have a 1.21 or later cluster running version
	// 1.10.1 or later of the Amazon VPC CNI add-on and specified ipv6 when you created
	// the cluster.
	IPFamily IPFamily `json:"ipFamily,omitempty"`

	// The CIDR block that Kubernetes pod and service IP addresses are assigned from.
	// Kubernetes assigns addresses from an IPv4 CIDR block assigned to a subnet that
	// the node is in. If you didn't specify a CIDR block when you created the cluster,
	// then Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16
	// CIDR blocks. If this was specified, then it was specified when the cluster was
	// created and it can't be changed.
	ServiceIpv4Cidr string `json:"serviceIpv4Cidr,omitempty"`

	// The CIDR block that Kubernetes pod and service IP addresses are assigned from if
	// you created a 1.21 or later cluster with version 1.10.1 or later of the Amazon
	// VPC CNI add-on and specified ipv6 for ipFamily when you created the cluster.
	// Kubernetes assigns service addresses from the unique local address range
	// (fc00::/7) because you can't specify a custom IPv6 CIDR block when you create
	// the cluster.
	ServiceIpv6Cidr string `json:"serviceIpv6Cidr,omitempty"`
}

KubernetesNetworkConfigResponse specifies the Kubernetes network configuration for the cluster. The response contains a value for serviceIpv6Cidr or serviceIpv4Cidr, but not both.

func (*KubernetesNetworkConfigResponse) DeepCopy added in v0.36.0

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

func (*KubernetesNetworkConfigResponse) DeepCopyInto added in v0.36.0

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

type LogSetup

type LogSetup struct {
	// If a log type is enabled, that log type exports its control plane logs to
	// CloudWatch Logs. If a log type isn't enabled, that log type doesn't export
	// its control plane logs. Each individual log type can be enabled or disabled
	// independently.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// The available cluster control plane log types.
	Types []LogType `json:"types,omitempty"`
}

LogSetup specifies the logging types that are enabled.

func (*LogSetup) DeepCopy

func (in *LogSetup) DeepCopy() *LogSetup

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

func (*LogSetup) DeepCopyInto

func (in *LogSetup) DeepCopyInto(out *LogSetup)

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

type LogType

type LogType string

LogType is a type of logging.

const (
	LogTypeAPI               LogType = "api"
	LogTypeAudit             LogType = "audit"
	LogTypeAuthenticator     LogType = "authenticator"
	LogTypeControllerManager LogType = "controllerManager"
	LogTypeScheduler         LogType = "scheduler"
)

Log types.

type Logging

type Logging struct {
	// The cluster control plane logging configuration for your cluster.
	ClusterLogging []LogSetup `json:"clusterLogging"`
}

Logging in the logging configuration for a cluster.

func (*Logging) DeepCopy

func (in *Logging) DeepCopy() *Logging

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

func (*Logging) DeepCopyInto

func (in *Logging) DeepCopyInto(out *Logging)

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

type OIDC

type OIDC struct {
	// The issuer URL for the OpenID Connect identity provider.
	Issuer string `json:"issuer,omitempty"`
}

OIDC is the OpenID Connect issuer URL.

func (*OIDC) DeepCopy

func (in *OIDC) DeepCopy() *OIDC

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

func (*OIDC) DeepCopyInto

func (in *OIDC) DeepCopyInto(out *OIDC)

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

type OutpostConfigRequest added in v0.34.0

type OutpostConfigRequest struct {
	// The Amazon EC2 instance type that you want to use for your local Amazon EKS
	// cluster on Outposts. The instance type that you specify is used for all
	// Kubernetes control plane instances. The instance type can't be changed after
	// cluster creation. Choose an instance type based on the number of nodes that your
	// cluster will have. If your cluster will have:
	//
	// * 1–20 nodes, then we recommend
	// specifying a large instance type.
	//
	// * 21–100 nodes, then we recommend specifying
	// an xlarge instance type.
	//
	// * 101–250 nodes, then we recommend specifying a
	// 2xlarge instance type.
	//
	// For a list of the available Amazon EC2 instance types,
	// see Compute and storage in Outposts rack features
	// (http://aws.amazon.com/outposts/rack/features/). The control plane is not
	// automatically scaled by Amazon EKS.
	//
	// This member is required.
	ControlPlaneInstanceType string `json:"controlPlaneInstanceType"`

	// The ARN of the Outpost that you want to use for your local Amazon EKS cluster on
	// Outposts. Only a single Outpost ARN is supported.
	//
	// This member is required.
	OutpostArns []string `json:"outpostArns"`
}

OutpostConfigRequest describes the Outposts configuration for eks

func (*OutpostConfigRequest) DeepCopy added in v0.34.0

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

func (*OutpostConfigRequest) DeepCopyInto added in v0.34.0

func (in *OutpostConfigRequest) DeepCopyInto(out *OutpostConfigRequest)

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

type OutpostConfigResponse added in v0.34.0

type OutpostConfigResponse struct {
	// The Amazon EC2 instance type used for the control plane. The instance type is
	// the same for all control plane instances.
	//
	// This member is required.
	ControlPlaneInstanceType string `json:"controlPlaneInstanceType,omitempty"`

	// The ARN of the Outpost that you specified for use with your local Amazon EKS
	// cluster on Outposts.
	//
	// This member is required.
	OutpostArns []string `json:"outpostArns,omitempty"`
}

OutpostConfigResponse describse the observed Outposts configuration for a cluster

func (*OutpostConfigResponse) DeepCopy added in v0.34.0

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

func (*OutpostConfigResponse) DeepCopyInto added in v0.34.0

func (in *OutpostConfigResponse) DeepCopyInto(out *OutpostConfigResponse)

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

type Provider

type Provider struct {

	// Amazon Resource Name (ARN) or alias of the customer master key (CMK). The
	// CMK must be symmetric, created in the same region as the cluster, and if
	// the CMK was created in a different account, the user must have access to
	// the CMK. For more information, see Allowing Users in Other Accounts to Use
	// a CMK (https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html)
	// in the AWS Key Management Service Developer Guide.
	KeyArn string `json:"keyArn"`
}

Provider is an encryption provider.

func (*Provider) DeepCopy

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto

func (in *Provider) DeepCopyInto(out *Provider)

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

type VpcConfigRequest

type VpcConfigRequest struct {
	// Set this value to true to enable private access for your cluster's Kubernetes
	// API server endpoint. If you enable private access, Kubernetes API requests
	// from within your cluster's VPC use the private VPC endpoint. The default
	// value for this parameter is false, which disables private access for your
	// Kubernetes API server. For more information, see Amazon EKS Cluster Endpoint
	// Access Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html)
	// in the Amazon EKS User Guide.
	// +optional
	EndpointPrivateAccess *bool `json:"endpointPrivateAccess,omitempty"`

	// Set this value to false to disable public access for your cluster's Kubernetes
	// API server endpoint. If you disable public access, your cluster's Kubernetes
	// API server can receive only requests from within the cluster VPC. The default
	// value for this parameter is true, which enables public access for your Kubernetes
	// API server. For more information, see Amazon EKS Cluster Endpoint Access
	// Control (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html)
	// in the Amazon EKS User Guide.
	// +optional
	EndpointPublicAccess *bool `json:"endpointPublicAccess,omitempty"`

	// The CIDR blocks that are allowed access to your cluster's public Kubernetes
	// API server endpoint. Communication to the endpoint from addresses outside
	// of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0.
	// If you've disabled private endpoint access and you have worker nodes or AWS
	// Fargate pods in the cluster, then ensure that you specify the necessary CIDR
	// blocks. For more information, see Amazon EKS Cluster Endpoint Access Control
	// (https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html)
	// in the Amazon EKS User Guide.
	// +optional
	PublicAccessCidrs []string `json:"publicAccessCidrs,omitempty"`

	// Specify one or more security groups for the cross-account elastic network
	// interfaces that Amazon EKS creates to use to allow communication between
	// your worker nodes and the Kubernetes control plane. If you don't specify
	// a security group, the default security group for your VPC is used.
	// +immutable
	// +optional
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupIDSelector
	SecurityGroupIDs []string `json:"securityGroupIds,omitempty"`

	// SecurityGroupIDRefs are references to SecurityGroups used to set
	// the SecurityGroupIDs.
	// +optional
	SecurityGroupIDRefs []xpv1.Reference `json:"securityGroupIdRefs,omitempty"`

	// SecurityGroupIDSelector selects references to SecurityGroups used
	// to set the SecurityGroupIDs.
	// +optional
	SecurityGroupIDSelector *xpv1.Selector `json:"securityGroupIdSelector,omitempty"`

	// Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account
	// elastic network interfaces in these subnets to allow communication between
	// your worker nodes and the Kubernetes control plane.
	// +immutable
	// +optional
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-aws/apis/ec2/v1beta1.Subnet
	// +crossplane:generate:reference:refFieldName=SubnetIDRefs
	// +crossplane:generate:reference:selectorFieldName=SubnetIDSelector
	SubnetIDs []string `json:"subnetIds,omitempty"`

	// SubnetIDRefs are references to Subnets used to set
	// the SubnetIDs.
	// +optional
	SubnetIDRefs []xpv1.Reference `json:"subnetIdRefs,omitempty"`

	// SubnetIDSelector selects references to Subnets used
	// to set the SubnetIDs.
	// +optional
	SubnetIDSelector *xpv1.Selector `json:"subnetIdSelector,omitempty"`
}

VpcConfigRequest specifies the VPC configuration for a cluster.

func (*VpcConfigRequest) DeepCopy

func (in *VpcConfigRequest) DeepCopy() *VpcConfigRequest

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

func (*VpcConfigRequest) DeepCopyInto

func (in *VpcConfigRequest) DeepCopyInto(out *VpcConfigRequest)

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

type VpcConfigResponse

type VpcConfigResponse struct {
	// The cluster security group that was created by Amazon EKS for the cluster.
	// Managed node groups use this security group for control-plane-to-data-plane
	// communication.
	ClusterSecurityGroupID string `json:"clusterSecurityGroupId,omitempty"`

	// The VPC associated with your cluster.
	VpcID string `json:"vpcId,omitempty"`
}

VpcConfigResponse is the observed VPC configuration for a cluster.

func (*VpcConfigResponse) DeepCopy

func (in *VpcConfigResponse) DeepCopy() *VpcConfigResponse

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

func (*VpcConfigResponse) DeepCopyInto

func (in *VpcConfigResponse) DeepCopyInto(out *VpcConfigResponse)

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