AWS::EKS::Addon - AWS CloudFormation

AWS::EKS::Addon

Creates an Amazon EKS add-on.

Amazon EKS add-ons help to automate the provisioning and lifecycle management of common operational software for Amazon EKS clusters. For more information, see Amazon EKS add-ons in the Amazon EKS User Guide.

Syntax

To declare this entity in your AWS CloudFormation template, use the following syntax:

JSON

{ "Type" : "AWS::EKS::Addon", "Properties" : { "AddonName" : String, "AddonVersion" : String, "ClusterName" : String, "ConfigurationValues" : String, "PodIdentityAssociations" : [ PodIdentityAssociation, ... ], "PreserveOnDelete" : Boolean, "ResolveConflicts" : String, "ServiceAccountRoleArn" : String, "Tags" : [ Tag, ... ] } }

YAML

Type: AWS::EKS::Addon Properties: AddonName: String AddonVersion: String ClusterName: String ConfigurationValues: String PodIdentityAssociations: - PodIdentityAssociation PreserveOnDelete: Boolean ResolveConflicts: String ServiceAccountRoleArn: String Tags: - Tag

Properties

AddonName

The name of the add-on.

Required: Yes

Type: String

Minimum: 1

Update requires: Replacement

AddonVersion

The version of the add-on.

Required: No

Type: String

Minimum: 1

Update requires: No interruption

ClusterName

The name of your cluster.

Required: Yes

Type: String

Minimum: 1

Update requires: Replacement

ConfigurationValues

The configuration values that you provided.

Required: No

Type: String

Minimum: 1

Update requires: No interruption

PodIdentityAssociations

An array of Pod Identity Assocations owned by the Addon. Each EKS Pod Identity association maps a role to a service account in a namespace in the cluster.

For more information, see Attach an IAM Role to an Amazon EKS add-on using Pod Identity in the Amazon EKS User Guide.

Required: No

Type: Array of PodIdentityAssociation

Update requires: No interruption

PreserveOnDelete

Specifying this option preserves the add-on software on your cluster but Amazon EKS stops managing any settings for the add-on. If an IAM account is associated with the add-on, it isn't removed.

Required: No

Type: Boolean

Update requires: No interruption

ResolveConflicts

How to resolve field value conflicts for an Amazon EKS add-on. Conflicts are handled based on the value you choose:

  • None – If the self-managed version of the add-on is installed on your cluster, Amazon EKS doesn't change the value. Creation of the add-on might fail.

  • Overwrite – If the self-managed version of the add-on is installed on your cluster and the Amazon EKS default value is different than the existing value, Amazon EKS changes the value to the Amazon EKS default value.

  • Preserve – This is similar to the NONE option. If the self-managed version of the add-on is installed on your cluster Amazon EKS doesn't change the add-on resource properties. Creation of the add-on might fail if conflicts are detected. This option works differently during the update operation. For more information, see UpdateAddon.

If you don't currently have the self-managed version of the add-on installed on your cluster, the Amazon EKS add-on is installed. Amazon EKS sets all values to default values, regardless of the option that you specify.

Required: No

Type: String

Allowed values: NONE | OVERWRITE | PRESERVE

Minimum: 1

Update requires: No interruption

ServiceAccountRoleArn

The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role. For more information, see Amazon EKS node IAM role in the Amazon EKS User Guide.

Note

To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see Enabling IAM roles for service accounts on your cluster in the Amazon EKS User Guide.

Required: No

Type: String

Minimum: 1

Update requires: No interruption

Tags

The metadata that you apply to the add-on to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Add-on tags do not propagate to any other resources associated with the cluster.

Required: No

Type: Array of Tag

Update requires: No interruption

Return values

Ref

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the resource name. For example:

{ "Ref": "vpc-cni" }

For the add-on vpc-cni, Ref returns the name of the add-on. For example, cluster-name|vpc-cni.

For more information about using the Ref function, see Ref.

Fn::GetAtt

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.

Arn

The ARN of the add-on, such as arn:aws:eks:us-west-2:111122223333:addon/1-19/vpc-cni/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.

See also