# CfnAddonProps

Properties for defining a `CfnAddon`.

Extends: CfnAddonProps
Used as props by: CfnAddon

- Source: Generated code
- Type last changed: v2.227.0 · 21 Nov 2025

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_eks as eks } from 'aws-cdk-lib';
const cfnAddonProps: eks.CfnAddonProps = {
  addonName: 'addonName',
  clusterName: 'clusterName',

  // the properties below are optional
  addonVersion: 'addonVersion',
  configurationValues: 'configurationValues',
  namespaceConfig: {
    namespace: 'namespace',
  },
  podIdentityAssociations: [{
    roleArn: 'roleArn',
    serviceAccount: 'serviceAccount',
  }],
  preserveOnDelete: false,
  resolveConflicts: 'resolveConflicts',
  serviceAccountRoleArn: 'serviceAccountRoleArn',
  tags: [{
    key: 'key',
    value: 'value',
  }],
};
```

## Properties

- `addonName`: string (required) — The name of the add-on.

- `addonVersion`: string — The version of the add-on.

- `clusterName`: string (required) — The name of your cluster.

- `configurationValues`: string — The configuration values that you provided.

- `namespaceConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnAddon.NamespaceConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eks.CfnAddon.NamespaceConfigProperty.html) — The namespace configuration for the addon.

  This specifies the Kubernetes namespace where the addon is installed.

- `podIdentityAssociations`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnAddon.PodIdentityAssociationProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_eks.CfnAddon.PodIdentityAssociationProperty.html)[] — An array of EKS Pod Identity associations owned by the add-on.

  Each 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 EKS Pod Identity](https://docs.aws.amazon.com/eks/latest/userguide/add-ons-iam.html) in the *Amazon EKS User Guide* .

- `preserveOnDelete`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — 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.

- `resolveConflicts`: string — 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`](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html) .

  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.

- `serviceAccountRoleArn`: string | [IRoleRef](/cdk/api/v2/docs/aws-cdk-lib.interfaces.aws_iam.IRoleRef.html) — 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](https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) in the *Amazon EKS User Guide* .

  > 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](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) in the *Amazon EKS User Guide* .

- `tags`: [CfnTag](/cdk/api/v2/docs/aws-cdk-lib.CfnTag.html)[] — 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.
