aws logo
AWS Classic v5.41.0, May 15 23

aws.eks.Addon

Explore with Pulumi AI

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_conflicts with PRESERVE can 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_values is 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 pulumi
import pulumi_aws as aws

example = aws.eks.Addon("example",
    cluster_name=aws_eks_cluster["example"]["name"],
    addon_name="vpc-cni")
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",
});
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 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")
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",
});
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 pulumi
import * as pulumi from "@pulumi/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 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")
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",
});
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

new Addon(name: string, args: AddonArgs, opts?: CustomResourceOptions);
@overload
def Addon(resource_name: str,
          opts: Optional[ResourceOptions] = None,
          addon_name: Optional[str] = None,
          addon_version: Optional[str] = None,
          cluster_name: 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)
@overload
def Addon(resource_name: str,
          args: AddonArgs,
          opts: Optional[ResourceOptions] = None)
func NewAddon(ctx *Context, name string, args AddonArgs, opts ...ResourceOption) (*Addon, error)
public Addon(string name, AddonArgs args, CustomResourceOptions? opts = null)
public Addon(String name, AddonArgs args)
public Addon(String name, AddonArgs args, CustomResourceOptions options)
type: aws:eks:Addon
properties: # The arguments to resource properties.
options: # 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.
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.

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

The Addon resource accepts the following input properties:

AddonName string

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

ClusterName 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\-_]+$).

AddonVersion string

The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.

ConfigurationValues 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.

ResolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

ServiceAccountRoleArn string

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.

Tags Dictionary<string, string>

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

AddonName string

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

ClusterName 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\-_]+$).

AddonVersion string

The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.

ConfigurationValues 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.

ResolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

ServiceAccountRoleArn string

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.

Tags map[string]string

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

addonName String

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

clusterName 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\-_]+$).

addonVersion String

The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.

configurationValues 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.

resolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

serviceAccountRoleArn String

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.

tags Map<String,String>

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

addonName string

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

clusterName 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\-_]+$).

addonVersion string

The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.

configurationValues 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.

resolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

serviceAccountRoleArn string

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.

tags {[key: string]: string}

Key-value map of resource tags. If configured with a provider default_tags configuration 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\-_]+$).

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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

service_account_role_arn str

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.

tags Mapping[str, str]

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

addonName String

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

clusterName 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\-_]+$).

addonVersion String

The version of the EKS add-on. The version must match one of the versions returned by describe-addon-versions.

configurationValues 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.

resolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

serviceAccountRoleArn String

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.

tags Map<String>

Key-value map of resource tags. If configured with a provider default_tags configuration 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.

CreatedAt 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.

ModifiedAt string

Date and time in RFC3339 format that the EKS add-on was updated.

TagsAll Dictionary<string, string>

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration block.

Arn string

Amazon Resource Name (ARN) of the EKS add-on.

CreatedAt 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.

ModifiedAt string

Date and time in RFC3339 format that the EKS add-on was updated.

TagsAll map[string]string

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration block.

arn String

Amazon Resource Name (ARN) of the EKS add-on.

createdAt 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.

modifiedAt String

Date and time in RFC3339 format that the EKS add-on was updated.

tagsAll Map<String,String>

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration block.

arn string

Amazon Resource Name (ARN) of the EKS add-on.

createdAt 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.

modifiedAt string

Date and time in RFC3339 format that the EKS add-on was updated.

tagsAll {[key: string]: string}

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration 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.

tags_all Mapping[str, str]

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration block.

arn String

Amazon Resource Name (ARN) of the EKS add-on.

createdAt 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.

modifiedAt String

Date and time in RFC3339 format that the EKS add-on was updated.

tagsAll Map<String>

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration 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) -> Addon
func 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)
Resource lookup is not supported in YAML
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.
The following state arguments are supported:
AddonName string

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

AddonVersion 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.

ClusterName 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\-_]+$).

ConfigurationValues string

custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.

CreatedAt string

Date and time in RFC3339 format that the EKS add-on was created.

ModifiedAt 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.

ResolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

ServiceAccountRoleArn string

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.

Tags Dictionary<string, string>

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

TagsAll Dictionary<string, string>

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration block.

AddonName string

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

AddonVersion 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.

ClusterName 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\-_]+$).

ConfigurationValues string

custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.

CreatedAt string

Date and time in RFC3339 format that the EKS add-on was created.

ModifiedAt 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.

ResolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

ServiceAccountRoleArn string

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.

Tags map[string]string

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

TagsAll map[string]string

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration block.

addonName String

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

addonVersion 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.

clusterName 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\-_]+$).

configurationValues String

custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.

createdAt String

Date and time in RFC3339 format that the EKS add-on was created.

modifiedAt 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.

resolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

serviceAccountRoleArn String

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.

tags Map<String,String>

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tagsAll Map<String,String>

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration block.

addonName string

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

addonVersion 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.

clusterName 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\-_]+$).

configurationValues string

custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.

createdAt string

Date and time in RFC3339 format that the EKS add-on was created.

modifiedAt 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.

resolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

serviceAccountRoleArn string

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.

tags {[key: string]: string}

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tagsAll {[key: string]: string}

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration 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\-_]+$).

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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

service_account_role_arn str

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.

tags Mapping[str, str]

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tags_all Mapping[str, str]

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration block.

addonName String

Name of the EKS add-on. The name must match one of the names returned by describe-addon-versions.

addonVersion 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.

clusterName 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\-_]+$).

configurationValues String

custom configuration values for addons with single JSON string. This JSON string value must match the JSON schema derived from describe-addon-configuration.

createdAt String

Date and time in RFC3339 format that the EKS add-on was created.

modifiedAt 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.

resolveConflicts 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, OVERWRITE and PRESERVE. For more details check UpdateAddon API Docs.

serviceAccountRoleArn String

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.

tags Map<String>

Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tagsAll Map<String>

(Optional) Key-value map of resource tags, including those inherited from the provider default_tags configuration 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

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.