The Automation API is now available. No CLI. No human-in-the-loop. Just your code. Learn More

Module eks

This page documents the language specification for the aws package. If you're looking for help working with the inputs, outputs, or functions of aws resources in a Pulumi program, please see the resource documentation for examples and API reference.

Resources

Functions

Others

Resources

Resource Cluster

class Cluster extends CustomResource

Manages an EKS Cluster.

Example Usage

Example IAM Role for EKS Cluster
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.iam.Role("example", {assumeRolePolicy: `{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
`});
const example_AmazonEKSClusterPolicy = new aws.iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", {
    policyArn: "arn:aws:iam::aws:policy/AmazonEKSClusterPolicy",
    role: example.name,
});
// Optionally, enable Security Groups for Pods
// Reference: https://docs.aws.amazon.com/eks/latest/userguide/security-groups-for-pods.html
const example_AmazonEKSVPCResourceController = new aws.iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", {
    policyArn: "arn:aws:iam::aws:policy/AmazonEKSVPCResourceController",
    role: example.name,
});
Enabling Control Plane Logging

EKS Control Plane Logging can be enabled via the enabledClusterLogTypes argument. To manage the CloudWatch Log Group retention period, the aws.cloudwatch.LogGroup resource can be used.

The below configuration uses dependsOn to prevent ordering issues with EKS automatically creating the log group first and a variable for naming consistency. Other ordering and naming methodologies may be more appropriate for your environment.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const clusterName = config.get("clusterName") || "example";
const exampleLogGroup = new aws.cloudwatch.LogGroup("exampleLogGroup", {retentionInDays: 7});
// ... potentially other configuration ...
const exampleCluster = new aws.eks.Cluster("exampleCluster", {enabledClusterLogTypes: [
    "api",
    "audit",
]}, {
    dependsOn: [exampleLogGroup],
});
// ... other configuration ...

constructor

new Cluster(name: string, args: ClusterArgs, opts?: pulumi.CustomResourceOptions)

Create a Cluster resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ClusterState, opts?: pulumi.CustomResourceOptions): Cluster

Get an existing Cluster resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Cluster

Returns true if the given object is an instance of Cluster. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

The Amazon Resource Name (ARN) of the cluster.

property certificateAuthority

public certificateAuthority: pulumi.Output<ClusterCertificateAuthority>;

Nested attribute containing certificate-authority-data for your cluster.

property createdAt

public createdAt: pulumi.Output<string>;

property enabledClusterLogTypes

public enabledClusterLogTypes: pulumi.Output<string[] | undefined>;

A list of the desired control plane logging to enable. For more information, see Amazon EKS Control Plane Logging

property encryptionConfig

public encryptionConfig: pulumi.Output<ClusterEncryptionConfig | undefined>;

Configuration block with encryption configuration for the cluster. Only available on Kubernetes 1.13 and above clusters created after March 6, 2020. Detailed below.

property endpoint

public endpoint: pulumi.Output<string>;

The endpoint for your Kubernetes API server.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identities

public identities: pulumi.Output<ClusterIdentity[]>;

Nested attribute containing identity provider information for your cluster. Only available on Kubernetes version 1.13 and 1.14 clusters created or upgraded on or after September 3, 2019.

property name

public name: pulumi.Output<string>;

Name of the cluster.

property platformVersion

public platformVersion: pulumi.Output<string>;

The platform version for the cluster.

property roleArn

public roleArn: pulumi.Output<string>;

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding dependsOn if using the aws.iam.RolePolicy resource) or aws.iam.RolePolicyAttachment resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion.

property status

public status: pulumi.Output<string>;

The status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

Key-value map of resource tags.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property version

public version: pulumi.Output<string>;

Desired Kubernetes master version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except those automatically triggered by EKS. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by EKS.

property vpcConfig

public vpcConfig: pulumi.Output<ClusterVpcConfig>;

Nested argument for the VPC associated with your cluster. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. Configuration detailed below.

Resource FargateProfile

class FargateProfile extends CustomResource

Manages an EKS Fargate Profile.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.eks.FargateProfile("example", {
    clusterName: aws_eks_cluster.example.name,
    podExecutionRoleArn: aws_iam_role.example.arn,
    subnetIds: aws_subnet.example.map(__item => __item.id),
    selectors: [{
        namespace: "example",
    }],
});
Example IAM Role for EKS Fargate Profile
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.iam.Role("example", {assumeRolePolicy: JSON.stringify({
    Statement: [{
        Action: "sts:AssumeRole",
        Effect: "Allow",
        Principal: {
            Service: "eks-fargate-pods.amazonaws.com",
        },
    }],
    Version: "2012-10-17",
})});
const example_AmazonEKSFargatePodExecutionRolePolicy = new aws.iam.RolePolicyAttachment("example-AmazonEKSFargatePodExecutionRolePolicy", {
    policyArn: "arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy",
    role: example.name,
});

constructor

new FargateProfile(name: string, args: FargateProfileArgs, opts?: pulumi.CustomResourceOptions)

Create a FargateProfile resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FargateProfileState, opts?: pulumi.CustomResourceOptions): FargateProfile

Get an existing FargateProfile resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is FargateProfile

Returns true if the given object is an instance of FargateProfile. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property arn

public arn: pulumi.Output<string>;

Amazon Resource Name (ARN) of the EKS Fargate Profile.

property clusterName

public clusterName: pulumi.Output<string>;

Name of the EKS Cluster.

property fargateProfileName

public fargateProfileName: pulumi.Output<string>;

Name of the EKS Fargate Profile.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property podExecutionRoleArn

public podExecutionRoleArn: pulumi.Output<string>;

Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Fargate Profile.

property selectors

public selectors: pulumi.Output<FargateProfileSelector[]>;

Configuration block(s) for selecting Kubernetes Pods to execute with this EKS Fargate Profile. Detailed below.

property status

public status: pulumi.Output<string>;

Status of the EKS Fargate Profile.

property subnetIds

public subnetIds: pulumi.Output<string[] | undefined>;

Identifiers of private EC2 Subnets to associate with the EKS Fargate Profile. These subnets must have the following resource tag: kubernetes.io/cluster/CLUSTER_NAME (where CLUSTER_NAME is replaced with the name of the EKS Cluster).

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

Key-value map of resource tags.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource NodeGroup

class NodeGroup extends CustomResource

Manages an EKS Node Group, which can provision and optionally update an Auto Scaling Group of Kubernetes worker nodes compatible with EKS. Additional documentation about this functionality can be found in the EKS User Guide.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.eks.NodeGroup("example", {
    clusterName: aws_eks_cluster.example.name,
    nodeRoleArn: aws_iam_role.example.arn,
    subnetIds: aws_subnet.example.map(__item => __item.id),
    scalingConfig: {
        desiredSize: 1,
        maxSize: 1,
        minSize: 1,
    },
}, {
    dependsOn: [
        aws_iam_role_policy_attachment["example-AmazonEKSWorkerNodePolicy"],
        aws_iam_role_policy_attachment["example-AmazonEKS_CNI_Policy"],
        aws_iam_role_policy_attachment["example-AmazonEC2ContainerRegistryReadOnly"],
    ],
});
Ignoring Changes to Desired Size

You can utilize ignoreChanges create an EKS Node Group with an initial size of running instances, then ignore any changes to that count caused externally (e.g. Application Autoscaling).

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// ... other configurations ...
const example = new aws.eks.NodeGroup("example", {scalingConfig: {
    desiredSize: 2,
}});
Example IAM Role for EKS Node Group
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const example = new aws.iam.Role("example", {assumeRolePolicy: JSON.stringify({
    Statement: [{
        Action: "sts:AssumeRole",
        Effect: "Allow",
        Principal: {
            Service: "ec2.amazonaws.com",
        },
    }],
    Version: "2012-10-17",
})});
const example_AmazonEKSWorkerNodePolicy = new aws.iam.RolePolicyAttachment("example-AmazonEKSWorkerNodePolicy", {
    policyArn: "arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy",
    role: example.name,
});
const example_AmazonEKSCNIPolicy = new aws.iam.RolePolicyAttachment("example-AmazonEKSCNIPolicy", {
    policyArn: "arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy",
    role: example.name,
});
const example_AmazonEC2ContainerRegistryReadOnly = new aws.iam.RolePolicyAttachment("example-AmazonEC2ContainerRegistryReadOnly", {
    policyArn: "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly",
    role: example.name,
});

constructor

new NodeGroup(name: string, args: NodeGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a NodeGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: NodeGroupState, opts?: pulumi.CustomResourceOptions): NodeGroup

Get an existing NodeGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is NodeGroup

Returns true if the given object is an instance of NodeGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property amiType

public amiType: pulumi.Output<string>;

Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to AL2_x86_64. Valid values: AL2_x86_64, AL2_x86_64_GPU, AL2_ARM_64. This provider will only perform drift detection if a configuration value is provided.

property arn

public arn: pulumi.Output<string>;

Amazon Resource Name (ARN) of the EKS Node Group.

property clusterName

public clusterName: pulumi.Output<string>;

Name of the EKS Cluster.

property diskSize

public diskSize: pulumi.Output<number>;

Disk size in GiB for worker nodes. Defaults to 20. This provider will only perform drift detection if a configuration value is provided.

property forceUpdateVersion

public forceUpdateVersion: pulumi.Output<boolean | undefined>;

Force version update if existing pods are unable to be drained due to a pod disruption budget issue.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceTypes

public instanceTypes: pulumi.Output<string>;

Set of instance types associated with the EKS Node Group. Defaults to ["t3.medium"]. This provider will only perform drift detection if a configuration value is provided. Currently, the EKS API only accepts a single value in the set.

property labels

public labels: pulumi.Output<{[key: string]: string} | undefined>;

Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.

property launchTemplate

public launchTemplate: pulumi.Output<NodeGroupLaunchTemplate | undefined>;

Configuration block with Launch Template settings. Detailed below.

property nodeGroupName

public nodeGroupName: pulumi.Output<string>;

Name of the EKS Node Group.

property nodeRoleArn

public nodeRoleArn: pulumi.Output<string>;

Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.

property releaseVersion

public releaseVersion: pulumi.Output<string>;

AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.

property remoteAccess

public remoteAccess: pulumi.Output<NodeGroupRemoteAccess | undefined>;

Configuration block with remote access settings. Detailed below.

property resources

public resources: pulumi.Output<NodeGroupResource[]>;

List of objects containing information about underlying resources.

property scalingConfig

public scalingConfig: pulumi.Output<NodeGroupScalingConfig>;

Configuration block with scaling settings. Detailed below.

property status

public status: pulumi.Output<string>;

Status of the EKS Node Group.

property subnetIds

public subnetIds: pulumi.Output<string[]>;

Identifiers of EC2 Subnets to associate with the EKS Node Group. These subnets must have the following resource tag: kubernetes.io/cluster/CLUSTER_NAME (where CLUSTER_NAME is replaced with the name of the EKS Cluster).

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

Key-value mapping of resource tags.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property version

public version: pulumi.Output<string>;

Functions

Function getCluster

getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetClusterResult>

Retrieve information about an EKS Cluster.

Function getClusterAuth

getClusterAuth(args: GetClusterAuthArgs, opts?: pulumi.InvokeOptions): Promise<GetClusterAuthResult>

Get an authentication token to communicate with an EKS cluster.

Uses IAM credentials from the AWS provider to generate a temporary token that is compatible with AWS IAM Authenticator authentication. This can be used to authenticate to an EKS cluster or to a cluster that has the AWS IAM Authenticator server configured.

Others

interface ClusterArgs

interface ClusterArgs

The set of arguments for constructing a Cluster resource.

property enabledClusterLogTypes

enabledClusterLogTypes?: pulumi.Input<pulumi.Input<string>[]>;

A list of the desired control plane logging to enable. For more information, see Amazon EKS Control Plane Logging

property encryptionConfig

encryptionConfig?: pulumi.Input<ClusterEncryptionConfig>;

Configuration block with encryption configuration for the cluster. Only available on Kubernetes 1.13 and above clusters created after March 6, 2020. Detailed below.

property name

name?: pulumi.Input<string>;

Name of the cluster.

property roleArn

roleArn: pulumi.Input<string>;

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding dependsOn if using the aws.iam.RolePolicy resource) or aws.iam.RolePolicyAttachment resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of resource tags.

property version

version?: pulumi.Input<string>;

Desired Kubernetes master version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except those automatically triggered by EKS. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by EKS.

property vpcConfig

vpcConfig: pulumi.Input<ClusterVpcConfig>;

Nested argument for the VPC associated with your cluster. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. Configuration detailed below.

interface ClusterState

interface ClusterState

Input properties used for looking up and filtering Cluster resources.

property arn

arn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) of the cluster.

property certificateAuthority

certificateAuthority?: pulumi.Input<ClusterCertificateAuthority>;

Nested attribute containing certificate-authority-data for your cluster.

property createdAt

createdAt?: pulumi.Input<string>;

property enabledClusterLogTypes

enabledClusterLogTypes?: pulumi.Input<pulumi.Input<string>[]>;

A list of the desired control plane logging to enable. For more information, see Amazon EKS Control Plane Logging

property encryptionConfig

encryptionConfig?: pulumi.Input<ClusterEncryptionConfig>;

Configuration block with encryption configuration for the cluster. Only available on Kubernetes 1.13 and above clusters created after March 6, 2020. Detailed below.

property endpoint

endpoint?: pulumi.Input<string>;

The endpoint for your Kubernetes API server.

property identities

identities?: pulumi.Input<pulumi.Input<ClusterIdentity>[]>;

Nested attribute containing identity provider information for your cluster. Only available on Kubernetes version 1.13 and 1.14 clusters created or upgraded on or after September 3, 2019.

property name

name?: pulumi.Input<string>;

Name of the cluster.

property platformVersion

platformVersion?: pulumi.Input<string>;

The platform version for the cluster.

property roleArn

roleArn?: pulumi.Input<string>;

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. Ensure the resource configuration includes explicit dependencies on the IAM Role permissions by adding dependsOn if using the aws.iam.RolePolicy resource) or aws.iam.RolePolicyAttachment resource, otherwise EKS cannot delete EKS managed EC2 infrastructure such as Security Groups on EKS Cluster deletion.

property status

status?: pulumi.Input<string>;

The status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of resource tags.

property version

version?: pulumi.Input<string>;

Desired Kubernetes master version. If you do not specify a value, the latest available version at resource creation is used and no upgrades will occur except those automatically triggered by EKS. The value must be configured and increased to upgrade the version when desired. Downgrades are not supported by EKS.

property vpcConfig

vpcConfig?: pulumi.Input<ClusterVpcConfig>;

Nested argument for the VPC associated with your cluster. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. Configuration detailed below.

interface FargateProfileArgs

interface FargateProfileArgs

The set of arguments for constructing a FargateProfile resource.

property clusterName

clusterName: pulumi.Input<string>;

Name of the EKS Cluster.

property fargateProfileName

fargateProfileName?: pulumi.Input<string>;

Name of the EKS Fargate Profile.

property podExecutionRoleArn

podExecutionRoleArn: pulumi.Input<string>;

Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Fargate Profile.

property selectors

selectors: pulumi.Input<pulumi.Input<FargateProfileSelector>[]>;

Configuration block(s) for selecting Kubernetes Pods to execute with this EKS Fargate Profile. Detailed below.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

Identifiers of private EC2 Subnets to associate with the EKS Fargate Profile. These subnets must have the following resource tag: kubernetes.io/cluster/CLUSTER_NAME (where CLUSTER_NAME is replaced with the name of the EKS Cluster).

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of resource tags.

interface FargateProfileState

interface FargateProfileState

Input properties used for looking up and filtering FargateProfile resources.

property arn

arn?: pulumi.Input<string>;

Amazon Resource Name (ARN) of the EKS Fargate Profile.

property clusterName

clusterName?: pulumi.Input<string>;

Name of the EKS Cluster.

property fargateProfileName

fargateProfileName?: pulumi.Input<string>;

Name of the EKS Fargate Profile.

property podExecutionRoleArn

podExecutionRoleArn?: pulumi.Input<string>;

Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Fargate Profile.

property selectors

selectors?: pulumi.Input<pulumi.Input<FargateProfileSelector>[]>;

Configuration block(s) for selecting Kubernetes Pods to execute with this EKS Fargate Profile. Detailed below.

property status

status?: pulumi.Input<string>;

Status of the EKS Fargate Profile.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

Identifiers of private EC2 Subnets to associate with the EKS Fargate Profile. These subnets must have the following resource tag: kubernetes.io/cluster/CLUSTER_NAME (where CLUSTER_NAME is replaced with the name of the EKS Cluster).

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of resource tags.

interface GetClusterArgs

interface GetClusterArgs

A collection of arguments for invoking getCluster.

property name

name: string;

The name of the cluster

property tags

tags?: undefined | {[key: string]: string};

Key-value map of resource tags.

interface GetClusterAuthArgs

interface GetClusterAuthArgs

A collection of arguments for invoking getClusterAuth.

property name

name: string;

The name of the cluster

interface GetClusterAuthResult

interface GetClusterAuthResult

A collection of values returned by getClusterAuth.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property name

name: string;

property token

token: string;

The token to use to authenticate with the cluster.

interface GetClusterResult

interface GetClusterResult

A collection of values returned by getCluster.

property arn

arn: string;

The Amazon Resource Name (ARN) of the cluster.

property certificateAuthority

certificateAuthority: GetClusterCertificateAuthority;

Nested attribute containing certificate-authority-data for your cluster.

property createdAt

createdAt: string;

The Unix epoch time stamp in seconds for when the cluster was created.

property enabledClusterLogTypes

enabledClusterLogTypes: string[];

The enabled control plane logs.

property endpoint

endpoint: string;

The endpoint for your Kubernetes API server.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property identities

identities: GetClusterIdentity[];

Nested attribute containing identity provider information for your cluster. Only available on Kubernetes version 1.13 and 1.14 clusters created or upgraded on or after September 3, 2019. For an example using this information to enable IAM Roles for Service Accounts, see the aws.eks.Cluster resource documentation.

property name

name: string;

property platformVersion

platformVersion: string;

The platform version for the cluster.

property roleArn

roleArn: string;

The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

property status

status: string;

The status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

property tags

tags: {[key: string]: string};

Key-value map of resource tags.

property version

version: string;

The Kubernetes server version for the cluster.

property vpcConfig

vpcConfig: GetClusterVpcConfig;

Nested list containing VPC configuration for the cluster.

interface NodeGroupArgs

interface NodeGroupArgs

The set of arguments for constructing a NodeGroup resource.

property amiType

amiType?: pulumi.Input<string>;

Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to AL2_x86_64. Valid values: AL2_x86_64, AL2_x86_64_GPU, AL2_ARM_64. This provider will only perform drift detection if a configuration value is provided.

property clusterName

clusterName: pulumi.Input<string>;

Name of the EKS Cluster.

property diskSize

diskSize?: pulumi.Input<number>;

Disk size in GiB for worker nodes. Defaults to 20. This provider will only perform drift detection if a configuration value is provided.

property forceUpdateVersion

forceUpdateVersion?: pulumi.Input<boolean>;

Force version update if existing pods are unable to be drained due to a pod disruption budget issue.

property instanceTypes

instanceTypes?: pulumi.Input<string>;

Set of instance types associated with the EKS Node Group. Defaults to ["t3.medium"]. This provider will only perform drift detection if a configuration value is provided. Currently, the EKS API only accepts a single value in the set.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.

property launchTemplate

launchTemplate?: pulumi.Input<NodeGroupLaunchTemplate>;

Configuration block with Launch Template settings. Detailed below.

property nodeGroupName

nodeGroupName?: pulumi.Input<string>;

Name of the EKS Node Group.

property nodeRoleArn

nodeRoleArn: pulumi.Input<string>;

Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.

property releaseVersion

releaseVersion?: pulumi.Input<string>;

AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.

property remoteAccess

remoteAccess?: pulumi.Input<NodeGroupRemoteAccess>;

Configuration block with remote access settings. Detailed below.

property scalingConfig

scalingConfig: pulumi.Input<NodeGroupScalingConfig>;

Configuration block with scaling settings. Detailed below.

property subnetIds

subnetIds: pulumi.Input<pulumi.Input<string>[]>;

Identifiers of EC2 Subnets to associate with the EKS Node Group. These subnets must have the following resource tag: kubernetes.io/cluster/CLUSTER_NAME (where CLUSTER_NAME is replaced with the name of the EKS Cluster).

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value mapping of resource tags.

property version

version?: pulumi.Input<string>;

interface NodeGroupState

interface NodeGroupState

Input properties used for looking up and filtering NodeGroup resources.

property amiType

amiType?: pulumi.Input<string>;

Type of Amazon Machine Image (AMI) associated with the EKS Node Group. Defaults to AL2_x86_64. Valid values: AL2_x86_64, AL2_x86_64_GPU, AL2_ARM_64. This provider will only perform drift detection if a configuration value is provided.

property arn

arn?: pulumi.Input<string>;

Amazon Resource Name (ARN) of the EKS Node Group.

property clusterName

clusterName?: pulumi.Input<string>;

Name of the EKS Cluster.

property diskSize

diskSize?: pulumi.Input<number>;

Disk size in GiB for worker nodes. Defaults to 20. This provider will only perform drift detection if a configuration value is provided.

property forceUpdateVersion

forceUpdateVersion?: pulumi.Input<boolean>;

Force version update if existing pods are unable to be drained due to a pod disruption budget issue.

property instanceTypes

instanceTypes?: pulumi.Input<string>;

Set of instance types associated with the EKS Node Group. Defaults to ["t3.medium"]. This provider will only perform drift detection if a configuration value is provided. Currently, the EKS API only accepts a single value in the set.

property labels

labels?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of Kubernetes labels. Only labels that are applied with the EKS API are managed by this argument. Other Kubernetes labels applied to the EKS Node Group will not be managed.

property launchTemplate

launchTemplate?: pulumi.Input<NodeGroupLaunchTemplate>;

Configuration block with Launch Template settings. Detailed below.

property nodeGroupName

nodeGroupName?: pulumi.Input<string>;

Name of the EKS Node Group.

property nodeRoleArn

nodeRoleArn?: pulumi.Input<string>;

Amazon Resource Name (ARN) of the IAM Role that provides permissions for the EKS Node Group.

property releaseVersion

releaseVersion?: pulumi.Input<string>;

AMI version of the EKS Node Group. Defaults to latest version for Kubernetes version.

property remoteAccess

remoteAccess?: pulumi.Input<NodeGroupRemoteAccess>;

Configuration block with remote access settings. Detailed below.

property resources

resources?: pulumi.Input<pulumi.Input<NodeGroupResource>[]>;

List of objects containing information about underlying resources.

property scalingConfig

scalingConfig?: pulumi.Input<NodeGroupScalingConfig>;

Configuration block with scaling settings. Detailed below.

property status

status?: pulumi.Input<string>;

Status of the EKS Node Group.

property subnetIds

subnetIds?: pulumi.Input<pulumi.Input<string>[]>;

Identifiers of EC2 Subnets to associate with the EKS Node Group. These subnets must have the following resource tag: kubernetes.io/cluster/CLUSTER_NAME (where CLUSTER_NAME is replaced with the name of the EKS Cluster).

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value mapping of resource tags.

property version

version?: pulumi.Input<string>;