published on Tuesday, Mar 10, 2026 by Pulumi
published on Tuesday, Mar 10, 2026 by Pulumi
Manages an EKS add-on.
Note: Amazon EKS add-on can only be used with Amazon EKS Clusters running version 1.18 with platform version eks.3 or later because add-ons rely on the Server-side Apply Kubernetes feature, which is only available in Kubernetes 1.18 and later.
Example Update add-on usage with resolve_conflicts and PRESERVE
resolve_conflicts with PRESERVE can be used to retain the config changes applied to the add-on with kubectl while upgrading to a newer version of the add-on.
Note:
resolve_conflictswithPRESERVEcan only be used for upgrading the add-ons but not during the creation of add-on.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.eks.Addon("example", {
clusterName: aws_eks_cluster.example.name,
addonName: "coredns",
addonVersion: "v1.8.7-eksbuild.3",
resolveConflicts: "PRESERVE",
});
import pulumi
import pulumi_aws as aws
example = aws.eks.Addon("example",
cluster_name=aws_eks_cluster["example"]["name"],
addon_name="coredns",
addon_version="v1.8.7-eksbuild.3",
resolve_conflicts="PRESERVE")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Eks.Addon("example", new()
{
ClusterName = aws_eks_cluster.Example.Name,
AddonName = "coredns",
AddonVersion = "v1.8.7-eksbuild.3",
ResolveConflicts = "PRESERVE",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/eks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := eks.NewAddon(ctx, "example", &eks.AddonArgs{
ClusterName: pulumi.Any(aws_eks_cluster.Example.Name),
AddonName: pulumi.String("coredns"),
AddonVersion: pulumi.String("v1.8.7-eksbuild.3"),
ResolveConflicts: pulumi.String("PRESERVE"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.eks.Addon;
import com.pulumi.aws.eks.AddonArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Addon("example", AddonArgs.builder()
.clusterName(aws_eks_cluster.example().name())
.addonName("coredns")
.addonVersion("v1.8.7-eksbuild.3")
.resolveConflicts("PRESERVE")
.build());
}
}
resources:
example:
type: aws:eks:Addon
properties:
clusterName: ${aws_eks_cluster.example.name}
addonName: coredns
addonVersion: v1.8.7-eksbuild.3
#e.g., previous version v1.8.7-eksbuild.2 and the new version is v1.8.7-eksbuild.3
resolveConflicts: PRESERVE
Example add-on usage with custom configuration_values
Custom add-on configuration can be passed using configuration_values as a single JSON string while creating or updating the add-on.
Note:
configuration_valuesis a single JSON string should match the valid JSON schema for each add-on with specific version.
To find the correct JSON schema for each add-on can be extracted using describe-addon-configuration call.
This below is an example for extracting the configuration_values schema for coredns.
import * as pulumi from "@pulumi/pulumi";
import pulumi
using System.Collections.Generic;
using System.Linq;
using Pulumi;
return await Deployment.RunAsync(() =>
{
});
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
}
}
{}
Example to create a coredns managed addon with custom configuration_values.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.eks.Addon("example", {
addonName: "coredns",
addonVersion: "v1.8.7-eksbuild.3",
clusterName: "mycluster",
configurationValues: "{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}",
resolveConflicts: "OVERWRITE",
});
import pulumi
import pulumi_aws as aws
example = aws.eks.Addon("example",
addon_name="coredns",
addon_version="v1.8.7-eksbuild.3",
cluster_name="mycluster",
configuration_values="{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}",
resolve_conflicts="OVERWRITE")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Eks.Addon("example", new()
{
AddonName = "coredns",
AddonVersion = "v1.8.7-eksbuild.3",
ClusterName = "mycluster",
ConfigurationValues = "{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}",
ResolveConflicts = "OVERWRITE",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/eks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := eks.NewAddon(ctx, "example", &eks.AddonArgs{
AddonName: pulumi.String("coredns"),
AddonVersion: pulumi.String("v1.8.7-eksbuild.3"),
ClusterName: pulumi.String("mycluster"),
ConfigurationValues: pulumi.String("{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}"),
ResolveConflicts: pulumi.String("OVERWRITE"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.eks.Addon;
import com.pulumi.aws.eks.AddonArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Addon("example", AddonArgs.builder()
.addonName("coredns")
.addonVersion("v1.8.7-eksbuild.3")
.clusterName("mycluster")
.configurationValues("{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}")
.resolveConflicts("OVERWRITE")
.build());
}
}
resources:
example:
type: aws:eks:Addon
properties:
addonName: coredns
addonVersion: v1.8.7-eksbuild.3
clusterName: mycluster
configurationValues: '{"replicaCount":4,"resources":{"limits":{"cpu":"100m","memory":"150Mi"},"requests":{"cpu":"100m","memory":"150Mi"}}}'
resolveConflicts: OVERWRITE
Example Usage
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Eks.Addon("example", new()
{
ClusterName = aws_eks_cluster.Example.Name,
AddonName = "vpc-cni",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/eks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := eks.NewAddon(ctx, "example", &eks.AddonArgs{
ClusterName: pulumi.Any(aws_eks_cluster.Example.Name),
AddonName: pulumi.String("vpc-cni"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.eks.Addon;
import com.pulumi.aws.eks.AddonArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Addon("example", AddonArgs.builder()
.clusterName(aws_eks_cluster.example().name())
.addonName("vpc-cni")
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.eks.Addon("example", {
clusterName: aws_eks_cluster.example.name,
addonName: "vpc-cni",
});
import pulumi
import pulumi_aws as aws
example = aws.eks.Addon("example",
cluster_name=aws_eks_cluster["example"]["name"],
addon_name="vpc-cni")
resources:
example:
type: aws:eks:Addon
properties:
clusterName: ${aws_eks_cluster.example.name}
addonName: vpc-cni
can only be used for upgrading the add-ons but not during the creation of add-on.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Eks.Addon("example", new()
{
ClusterName = aws_eks_cluster.Example.Name,
AddonName = "coredns",
AddonVersion = "v1.8.7-eksbuild.3",
ResolveConflicts = "PRESERVE",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/eks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := eks.NewAddon(ctx, "example", &eks.AddonArgs{
ClusterName: pulumi.Any(aws_eks_cluster.Example.Name),
AddonName: pulumi.String("coredns"),
AddonVersion: pulumi.String("v1.8.7-eksbuild.3"),
ResolveConflicts: pulumi.String("PRESERVE"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.eks.Addon;
import com.pulumi.aws.eks.AddonArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Addon("example", AddonArgs.builder()
.clusterName(aws_eks_cluster.example().name())
.addonName("coredns")
.addonVersion("v1.8.7-eksbuild.3")
.resolveConflicts("PRESERVE")
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.eks.Addon("example", {
clusterName: aws_eks_cluster.example.name,
addonName: "coredns",
addonVersion: "v1.8.7-eksbuild.3",
resolveConflicts: "PRESERVE",
});
import pulumi
import pulumi_aws as aws
example = aws.eks.Addon("example",
cluster_name=aws_eks_cluster["example"]["name"],
addon_name="coredns",
addon_version="v1.8.7-eksbuild.3",
resolve_conflicts="PRESERVE")
resources:
example:
type: aws:eks:Addon
properties:
clusterName: ${aws_eks_cluster.example.name}
addonName: coredns
addonVersion: v1.8.7-eksbuild.3
#e.g., previous version v1.8.7-eksbuild.2 and the new version is v1.8.7-eksbuild.3
resolveConflicts: PRESERVE
.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
return await Deployment.RunAsync(() =>
{
});
package main
import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
}
}
import * as pulumi from "@pulumi/pulumi";
import pulumi
{}
.
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Eks.Addon("example", new()
{
AddonName = "coredns",
AddonVersion = "v1.8.7-eksbuild.3",
ClusterName = "mycluster",
ConfigurationValues = "{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}",
ResolveConflicts = "OVERWRITE",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/eks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := eks.NewAddon(ctx, "example", &eks.AddonArgs{
AddonName: pulumi.String("coredns"),
AddonVersion: pulumi.String("v1.8.7-eksbuild.3"),
ClusterName: pulumi.String("mycluster"),
ConfigurationValues: pulumi.String("{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}"),
ResolveConflicts: pulumi.String("OVERWRITE"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.eks.Addon;
import com.pulumi.aws.eks.AddonArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Addon("example", AddonArgs.builder()
.addonName("coredns")
.addonVersion("v1.8.7-eksbuild.3")
.clusterName("mycluster")
.configurationValues("{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}")
.resolveConflicts("OVERWRITE")
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.eks.Addon("example", {
addonName: "coredns",
addonVersion: "v1.8.7-eksbuild.3",
clusterName: "mycluster",
configurationValues: "{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}",
resolveConflicts: "OVERWRITE",
});
import pulumi
import pulumi_aws as aws
example = aws.eks.Addon("example",
addon_name="coredns",
addon_version="v1.8.7-eksbuild.3",
cluster_name="mycluster",
configuration_values="{\"replicaCount\":4,\"resources\":{\"limits\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"},\"requests\":{\"cpu\":\"100m\",\"memory\":\"150Mi\"}}}",
resolve_conflicts="OVERWRITE")
resources:
example:
type: aws:eks:Addon
properties:
addonName: coredns
addonVersion: v1.8.7-eksbuild.3
clusterName: mycluster
configurationValues: '{"replicaCount":4,"resources":{"limits":{"cpu":"100m","memory":"150Mi"},"requests":{"cpu":"100m","memory":"150Mi"}}}'
resolveConflicts: OVERWRITE
Create Addon Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Addon(name: string, args: AddonArgs, opts?: CustomResourceOptions);@overload
def Addon(resource_name: str,
args: AddonArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Addon(resource_name: str,
opts: Optional[ResourceOptions] = None,
addon_name: Optional[str] = None,
cluster_name: Optional[str] = None,
addon_version: Optional[str] = None,
configuration_values: Optional[str] = None,
preserve: Optional[bool] = None,
resolve_conflicts: Optional[str] = None,
service_account_role_arn: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None)func NewAddon(ctx *Context, name string, args AddonArgs, opts ...ResourceOption) (*Addon, error)public Addon(string name, AddonArgs args, CustomResourceOptions? opts = null)type: aws:eks:Addon
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args AddonArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args AddonArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args AddonArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AddonArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args AddonArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var addonResource = new Aws.Eks.Addon("addonResource", new()
{
AddonName = "string",
ClusterName = "string",
AddonVersion = "string",
ConfigurationValues = "string",
Preserve = false,
ResolveConflicts = "string",
ServiceAccountRoleArn = "string",
Tags =
{
{ "string", "string" },
},
});
example, err := eks.NewAddon(ctx, "addonResource", &eks.AddonArgs{
AddonName: pulumi.String("string"),
ClusterName: pulumi.String("string"),
AddonVersion: pulumi.String("string"),
ConfigurationValues: pulumi.String("string"),
Preserve: pulumi.Bool(false),
ResolveConflicts: pulumi.String("string"),
ServiceAccountRoleArn: pulumi.String("string"),
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
})
var addonResource = new Addon("addonResource", AddonArgs.builder()
.addonName("string")
.clusterName("string")
.addonVersion("string")
.configurationValues("string")
.preserve(false)
.resolveConflicts("string")
.serviceAccountRoleArn("string")
.tags(Map.of("string", "string"))
.build());
addon_resource = aws.eks.Addon("addonResource",
addon_name="string",
cluster_name="string",
addon_version="string",
configuration_values="string",
preserve=False,
resolve_conflicts="string",
service_account_role_arn="string",
tags={
"string": "string",
})
const addonResource = new aws.eks.Addon("addonResource", {
addonName: "string",
clusterName: "string",
addonVersion: "string",
configurationValues: "string",
preserve: false,
resolveConflicts: "string",
serviceAccountRoleArn: "string",
tags: {
string: "string",
},
});
type: aws:eks:Addon
properties:
addonName: string
addonVersion: string
clusterName: string
configurationValues: string
preserve: false
resolveConflicts: string
serviceAccountRoleArn: string
tags:
string: string
Addon Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Addon resource accepts the following input properties:
- Addon
Name string - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- Cluster
Name string Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- Addon
Version string - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- Configuration
Values string - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- Preserve bool
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- Resolve
Conflicts string - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - Service
Account stringRole Arn 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.
- Dictionary<string, string>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- Addon
Name string - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- Cluster
Name string Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- Addon
Version string - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- Configuration
Values string - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- Preserve bool
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- Resolve
Conflicts string - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - Service
Account stringRole Arn 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.
- map[string]string
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- addon
Name String - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- cluster
Name String Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- addon
Version String - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration
Values String - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- preserve Boolean
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- resolve
Conflicts String - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - service
Account StringRole Arn 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.
- Map<String,String>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- addon
Name string - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- cluster
Name string Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- addon
Version string - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration
Values string - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- preserve boolean
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- resolve
Conflicts string - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - service
Account stringRole Arn 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.
- {[key: string]: string}
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- addon_
name str - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- cluster_
name str Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- addon_
version str - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration_
values str - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- preserve bool
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- resolve_
conflicts str - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - service_
account_ strrole_ arn 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.
- Mapping[str, str]
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
- addon
Name String - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- cluster
Name String Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- addon
Version String - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- configuration
Values String - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- preserve Boolean
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- resolve
Conflicts String - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - service
Account StringRole Arn 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.
- Map<String>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level.
Outputs
All input properties are implicitly available as output properties. Additionally, the Addon resource produces the following output properties:
- Arn string
- Amazon Resource Name (ARN) of the EKS add-on.
- Created
At string - Date and time in RFC3339 format that the EKS add-on was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Modified
At string - Date and time in RFC3339 format that the EKS add-on was updated.
- Dictionary<string, string>
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- Arn string
- Amazon Resource Name (ARN) of the EKS add-on.
- Created
At string - Date and time in RFC3339 format that the EKS add-on was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Modified
At string - Date and time in RFC3339 format that the EKS add-on was updated.
- map[string]string
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- arn String
- Amazon Resource Name (ARN) of the EKS add-on.
- created
At String - Date and time in RFC3339 format that the EKS add-on was created.
- id String
- The provider-assigned unique ID for this managed resource.
- modified
At String - Date and time in RFC3339 format that the EKS add-on was updated.
- Map<String,String>
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- arn string
- Amazon Resource Name (ARN) of the EKS add-on.
- created
At string - Date and time in RFC3339 format that the EKS add-on was created.
- id string
- The provider-assigned unique ID for this managed resource.
- modified
At string - Date and time in RFC3339 format that the EKS add-on was updated.
- {[key: string]: string}
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- arn str
- Amazon Resource Name (ARN) of the EKS add-on.
- created_
at str - Date and time in RFC3339 format that the EKS add-on was created.
- id str
- The provider-assigned unique ID for this managed resource.
- modified_
at str - Date and time in RFC3339 format that the EKS add-on was updated.
- Mapping[str, str]
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- arn String
- Amazon Resource Name (ARN) of the EKS add-on.
- created
At String - Date and time in RFC3339 format that the EKS add-on was created.
- id String
- The provider-assigned unique ID for this managed resource.
- modified
At String - Date and time in RFC3339 format that the EKS add-on was updated.
- Map<String>
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
Look up Existing Addon Resource
Get an existing Addon resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: AddonState, opts?: CustomResourceOptions): Addon@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
addon_name: Optional[str] = None,
addon_version: Optional[str] = None,
arn: Optional[str] = None,
cluster_name: Optional[str] = None,
configuration_values: Optional[str] = None,
created_at: Optional[str] = None,
modified_at: Optional[str] = None,
preserve: Optional[bool] = None,
resolve_conflicts: Optional[str] = None,
service_account_role_arn: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None) -> Addonfunc GetAddon(ctx *Context, name string, id IDInput, state *AddonState, opts ...ResourceOption) (*Addon, error)public static Addon Get(string name, Input<string> id, AddonState? state, CustomResourceOptions? opts = null)public static Addon get(String name, Output<String> id, AddonState state, CustomResourceOptions options)resources: _: type: aws:eks:Addon get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Addon
Name string - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- Addon
Version string - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- Arn string
- Amazon Resource Name (ARN) of the EKS add-on.
- Cluster
Name string Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- Configuration
Values string - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- Created
At string - Date and time in RFC3339 format that the EKS add-on was created.
- Modified
At string - Date and time in RFC3339 format that the EKS add-on was updated.
- Preserve bool
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- Resolve
Conflicts string - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - Service
Account stringRole Arn 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.
- Dictionary<string, string>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Dictionary<string, string>
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- Addon
Name string - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- Addon
Version string - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- Arn string
- Amazon Resource Name (ARN) of the EKS add-on.
- Cluster
Name string Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- Configuration
Values string - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- Created
At string - Date and time in RFC3339 format that the EKS add-on was created.
- Modified
At string - Date and time in RFC3339 format that the EKS add-on was updated.
- Preserve bool
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- Resolve
Conflicts string - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - Service
Account stringRole Arn 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.
- map[string]string
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - map[string]string
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- addon
Name String - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- addon
Version String - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- arn String
- Amazon Resource Name (ARN) of the EKS add-on.
- cluster
Name String Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- configuration
Values String - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- created
At String - Date and time in RFC3339 format that the EKS add-on was created.
- modified
At String - Date and time in RFC3339 format that the EKS add-on was updated.
- preserve Boolean
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- resolve
Conflicts String - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - service
Account StringRole Arn 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.
- Map<String,String>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String,String>
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- addon
Name string - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- addon
Version string - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- arn string
- Amazon Resource Name (ARN) of the EKS add-on.
- cluster
Name string Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- configuration
Values string - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- created
At string - Date and time in RFC3339 format that the EKS add-on was created.
- modified
At string - Date and time in RFC3339 format that the EKS add-on was updated.
- preserve boolean
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- resolve
Conflicts string - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - service
Account stringRole Arn 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.
- {[key: string]: string}
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - {[key: string]: string}
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- addon_
name str - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- addon_
version str - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- arn str
- Amazon Resource Name (ARN) of the EKS add-on.
- cluster_
name str Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- configuration_
values str - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- created_
at str - Date and time in RFC3339 format that the EKS add-on was created.
- modified_
at str - Date and time in RFC3339 format that the EKS add-on was updated.
- preserve bool
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- resolve_
conflicts str - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - service_
account_ strrole_ arn 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.
- Mapping[str, str]
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Mapping[str, str]
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
- addon
Name String - Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.
- addon
Version String - The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.
- arn String
- Amazon Resource Name (ARN) of the EKS add-on.
- cluster
Name String Name of the EKS Cluster. Must be between 1-100 characters in length. Must begin with an alphanumeric character, and must only contain alphanumeric characters, dashes and underscores (
^[0-9A-Za-z][A-Za-z0-9\-_]+$).The following arguments are optional:
- configuration
Values String - custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.
- created
At String - Date and time in RFC3339 format that the EKS add-on was created.
- modified
At String - Date and time in RFC3339 format that the EKS add-on was updated.
- preserve Boolean
- Indicates if you want to preserve the created resources when deleting the EKS add-on.
- resolve
Conflicts String - Define how to resolve parameter value conflicts
when migrating an existing add-on to an Amazon EKS add-on or when applying
version updates to the add-on. Valid values are
NONE,OVERWRITEandPRESERVE. For more details check UpdateAddon API Docs. - service
Account StringRole Arn 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.
- Map<String>
- Key-value map of resource tags. If configured with a provider
default_tagsconfiguration block present, tags with matching keys will overwrite those defined at the provider-level. - Map<String>
- (Optional) Key-value map of resource tags, including those inherited from the provider
default_tagsconfiguration block.
Import
EKS add-on can be imported using the cluster_name and addon_name separated by a colon (:), e.g.,
$ pulumi import aws:eks/addon:Addon my_eks_addon my_cluster_name:my_addon_name
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
awsTerraform Provider.
published on Tuesday, Mar 10, 2026 by Pulumi
