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
withPRESERVE
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)
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:
- 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- 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.
- 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- 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.
- 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- 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.
- 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- {[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
andPRESERVE
. 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.
- 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.
- 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- 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.
- 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_tags
configuration 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_tags
configuration 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_tags
configuration 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_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.
- 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.
- 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_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.
- 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- 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.- Dictionary<string, string>
(Optional) Key-value map of resource tags, including those inherited from the provider
default_tags
configuration 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- 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.- map[string]string
(Optional) Key-value map of resource tags, including those inherited from the provider
default_tags
configuration 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- 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.- Map<String,String>
(Optional) Key-value map of resource tags, including those inherited from the provider
default_tags
configuration 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- {[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.- {[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
andPRESERVE
. 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.
- 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.- Mapping[str, str]
(Optional) Key-value map of resource tags, including those inherited from the provider
default_tags
configuration 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\-_]+$
).- 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
,OVERWRITE
andPRESERVE
. 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.
- 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.- 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.