AWS Classic

Pulumi Official
Package maintained by Pulumi
v5.4.0 published on Wednesday, May 4, 2022 by Pulumi

Cluster

Manages an EKS Cluster.

Example Usage

Basic Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var example = new Aws.Eks.Cluster("example", new Aws.Eks.ClusterArgs
        {
            RoleArn = aws_iam_role.Example.Arn,
            VpcConfig = new Aws.Eks.Inputs.ClusterVpcConfigArgs
            {
                SubnetIds = 
                {
                    aws_subnet.Example1.Id,
                    aws_subnet.Example2.Id,
                },
            },
        }, new CustomResourceOptions
        {
            DependsOn = 
            {
                aws_iam_role_policy_attachment.Example_AmazonEKSClusterPolicy,
                aws_iam_role_policy_attachment.Example_AmazonEKSVPCResourceController,
            },
        });
        this.Endpoint = example.Endpoint;
        this.Kubeconfig_certificate_authority_data = example.CertificateAuthority.Apply(certificateAuthority => certificateAuthority.Data);
    }

    [Output("endpoint")]
    public Output<string> Endpoint { get; set; }
    [Output("kubeconfig-certificate-authority-data")]
    public Output<string> Kubeconfig_certificate_authority_data { get; set; }
}
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 {
		example, err := eks.NewCluster(ctx, "example", &eks.ClusterArgs{
			RoleArn: pulumi.Any(aws_iam_role.Example.Arn),
			VpcConfig: &eks.ClusterVpcConfigArgs{
				SubnetIds: pulumi.StringArray{
					pulumi.Any(aws_subnet.Example1.Id),
					pulumi.Any(aws_subnet.Example2.Id),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			aws_iam_role_policy_attachment.Example - AmazonEKSClusterPolicy,
			aws_iam_role_policy_attachment.Example - AmazonEKSVPCResourceController,
		}))
		if err != nil {
			return err
		}
		ctx.Export("endpoint", example.Endpoint)
		ctx.Export("kubeconfig-certificate-authority-data", example.CertificateAuthority.ApplyT(func(certificateAuthority eks.ClusterCertificateAuthority) (string, error) {
			return certificateAuthority.Data, nil
		}).(pulumi.StringOutput))
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Cluster("example", ClusterArgs.builder()        
            .roleArn(aws_iam_role.getExample().getArn())
            .vpcConfig(ClusterVpcConfig.builder()
                .subnetIds(                
                    aws_subnet.getExample1().getId(),
                    aws_subnet.getExample2().getId())
                .build())
            .build());

        ctx.export("endpoint", example.getEndpoint());
        ctx.export("kubeconfig-certificate-authority-data", example.getCertificateAuthority().apply(certificateAuthority -> certificateAuthority.getData()));
        }
}
import pulumi
import pulumi_aws as aws

example = aws.eks.Cluster("example",
    role_arn=aws_iam_role["example"]["arn"],
    vpc_config=aws.eks.ClusterVpcConfigArgs(
        subnet_ids=[
            aws_subnet["example1"]["id"],
            aws_subnet["example2"]["id"],
        ],
    ),
    opts=pulumi.ResourceOptions(depends_on=[
            aws_iam_role_policy_attachment["example-AmazonEKSClusterPolicy"],
            aws_iam_role_policy_attachment["example-AmazonEKSVPCResourceController"],
        ]))
pulumi.export("endpoint", example.endpoint)
pulumi.export("kubeconfig-certificate-authority-data", example.certificate_authority.data)
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

export = async () => {
    const example = new aws.eks.Cluster("example", {
        roleArn: aws_iam_role.example.arn,
        vpcConfig: {
            subnetIds: [
                aws_subnet.example1.id,
                aws_subnet.example2.id,
            ],
        },
    }, {
        dependsOn: [
            aws_iam_role_policy_attachment["example-AmazonEKSClusterPolicy"],
            aws_iam_role_policy_attachment["example-AmazonEKSVPCResourceController"],
        ],
    });
    const endpoint = example.endpoint;
    const kubeconfig_certificate_authority_data = example.certificateAuthority.apply(certificateAuthority => certificateAuthority.data);
    return {
        endpoint: endpoint,
        "kubeconfig-certificate-authority-data": kubeconfig_certificate_authority_data,
    };
}
resources:
  example:
    type: aws:eks:Cluster
    properties:
      roleArn: ${aws_iam_role.example.arn}
      vpcConfig:
        subnetIds:
          - ${aws_subnet.example1.id}
          - ${aws_subnet.example2.id}
    options:
      dependson:
        - ${aws_iam_role_policy_attachment"example-AmazonEKSClusterPolicy"[%!s(MISSING)]}
        - ${aws_iam_role_policy_attachment"example-AmazonEKSVPCResourceController"[%!s(MISSING)]}
outputs:
  endpoint: ${example.endpoint}
  kubeconfig-certificate-authority-data: ${example.certificateAuthority.data}

Example IAM Role for EKS Cluster

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var example = new Aws.Iam.Role("example", new Aws.Iam.RoleArgs
        {
            AssumeRolePolicy = @"{
  ""Version"": ""2012-10-17"",
  ""Statement"": [
    {
      ""Effect"": ""Allow"",
      ""Principal"": {
        ""Service"": ""eks.amazonaws.com""
      },
      ""Action"": ""sts:AssumeRole""
    }
  ]
}
",
        });
        var example_AmazonEKSClusterPolicy = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy", new Aws.Iam.RolePolicyAttachmentArgs
        {
            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
        var example_AmazonEKSVPCResourceController = new Aws.Iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController", new Aws.Iam.RolePolicyAttachmentArgs
        {
            PolicyArn = "arn:aws:iam::aws:policy/AmazonEKSVPCResourceController",
            Role = example.Name,
        });
    }

}
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := iam.NewRole(ctx, "example", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.Any(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Effect\": \"Allow\",\n", "      \"Principal\": {\n", "        \"Service\": \"eks.amazonaws.com\"\n", "      },\n", "      \"Action\": \"sts:AssumeRole\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "example-AmazonEKSClusterPolicy", &iam.RolePolicyAttachmentArgs{
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy"),
			Role:      example.Name,
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "example-AmazonEKSVPCResourceController", &iam.RolePolicyAttachmentArgs{
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/AmazonEKSVPCResourceController"),
			Role:      example.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var example = new Role("example", RoleArgs.builder()        
            .assumeRolePolicy("""
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
            """)
            .build());

        var example_AmazonEKSClusterPolicy = new RolePolicyAttachment("example-AmazonEKSClusterPolicy", RolePolicyAttachmentArgs.builder()        
            .policyArn("arn:aws:iam::aws:policy/AmazonEKSClusterPolicy")
            .role(example.getName())
            .build());

        var example_AmazonEKSVPCResourceController = new RolePolicyAttachment("example-AmazonEKSVPCResourceController", RolePolicyAttachmentArgs.builder()        
            .policyArn("arn:aws:iam::aws:policy/AmazonEKSVPCResourceController")
            .role(example.getName())
            .build());

        }
}
import pulumi
import pulumi_aws as aws

example = aws.iam.Role("example", assume_role_policy="""{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
""")
example__amazon_eks_cluster_policy = aws.iam.RolePolicyAttachment("example-AmazonEKSClusterPolicy",
    policy_arn="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
example__amazon_eksvpc_resource_controller = aws.iam.RolePolicyAttachment("example-AmazonEKSVPCResourceController",
    policy_arn="arn:aws:iam::aws:policy/AmazonEKSVPCResourceController",
    role=example.name)
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,
});
resources:
  example:
    type: aws:iam:Role
    properties:
      assumeRolePolicy: |
        {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "Service": "eks.amazonaws.com"
              },
              "Action": "sts:AssumeRole"
            }
          ]
        }        
  example-AmazonEKSClusterPolicy:
    type: aws:iam:RolePolicyAttachment
    properties:
      policyArn: arn:aws:iam::aws:policy/AmazonEKSClusterPolicy
      role: ${example.name}
  example-AmazonEKSVPCResourceController:
    type: aws:iam:RolePolicyAttachment
    properties:
      policyArn: arn:aws:iam::aws:policy/AmazonEKSVPCResourceController
      role: ${example.name}

Enabling Control Plane Logging

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var config = new Config();
        var clusterName = config.Get("clusterName") ?? "example";
        var exampleLogGroup = new Aws.CloudWatch.LogGroup("exampleLogGroup", new Aws.CloudWatch.LogGroupArgs
        {
            RetentionInDays = 7,
        });
        // ... potentially other configuration ...
        var exampleCluster = new Aws.Eks.Cluster("exampleCluster", new Aws.Eks.ClusterArgs
        {
            EnabledClusterLogTypes = 
            {
                "api",
                "audit",
            },
        }, new CustomResourceOptions
        {
            DependsOn = 
            {
                exampleLogGroup,
            },
        });
        // ... other configuration ...
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cloudwatch"
	"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/eks"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		clusterName := "example"
		if param := cfg.Get("clusterName"); param != "" {
			clusterName = param
		}
		exampleLogGroup, err := cloudwatch.NewLogGroup(ctx, "exampleLogGroup", &cloudwatch.LogGroupArgs{
			RetentionInDays: pulumi.Int(7),
		})
		if err != nil {
			return err
		}
		_, err = eks.NewCluster(ctx, "exampleCluster", &eks.ClusterArgs{
			EnabledClusterLogTypes: pulumi.StringArray{
				pulumi.String("api"),
				pulumi.String("audit"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleLogGroup,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import java.util.*;
import java.io.*;
import java.nio.*;
import com.pulumi.*;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var config = Config.of();
        final var clusterName = config.get("clusterName").orElse("example");
        var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder()        
            .retentionInDays(7)
            .build());

        var exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()        
            .enabledClusterLogTypes(            
                "api",
                "audit")
            .build());

        }
}
import pulumi
import pulumi_aws as aws

config = pulumi.Config()
cluster_name = config.get("clusterName")
if cluster_name is None:
    cluster_name = "example"
example_log_group = aws.cloudwatch.LogGroup("exampleLogGroup", retention_in_days=7)
# ... potentially other configuration ...
example_cluster = aws.eks.Cluster("exampleCluster", enabled_cluster_log_types=[
    "api",
    "audit",
],
opts=pulumi.ResourceOptions(depends_on=[example_log_group]))
# ... other configuration ...
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 ...
configuration:
  clusterName:
    type: string
    default: example
resources:
  exampleCluster:
    type: aws:eks:Cluster
    properties:
      enabledClusterLogTypes:
        - api
        - audit
    options:
      dependson:
        - ${exampleLogGroup}
  exampleLogGroup:
    type: aws:cloudwatch:LogGroup
    properties:
      retentionInDays: 7

Create a Cluster Resource

new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
@overload
def Cluster(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            enabled_cluster_log_types: Optional[Sequence[str]] = None,
            encryption_config: Optional[ClusterEncryptionConfigArgs] = None,
            kubernetes_network_config: Optional[ClusterKubernetesNetworkConfigArgs] = None,
            name: Optional[str] = None,
            role_arn: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            version: Optional[str] = None,
            vpc_config: Optional[ClusterVpcConfigArgs] = None)
@overload
def Cluster(resource_name: str,
            args: ClusterArgs,
            opts: Optional[ResourceOptions] = None)
func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)
public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
type: aws:eks:Cluster
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ClusterArgs
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 ClusterArgs
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 ClusterArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ClusterArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ClusterArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Cluster 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 Cluster resource accepts the following input properties:

RoleArn string

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

VpcConfig Pulumi.Aws.Eks.Inputs.ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

EnabledClusterLogTypes List<string>

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

EncryptionConfig Pulumi.Aws.Eks.Inputs.ClusterEncryptionConfigArgs

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

KubernetesNetworkConfig Pulumi.Aws.Eks.Inputs.ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

Name string

Name of the 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\-_]+$).

Tags Dictionary<string, string>

Key-value map of resource tags.

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

RoleArn string

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

VpcConfig ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

EnabledClusterLogTypes []string

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

EncryptionConfig ClusterEncryptionConfigArgs

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

KubernetesNetworkConfig ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

Name string

Name of the 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\-_]+$).

Tags map[string]string

Key-value map of resource tags.

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

roleArn String

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

vpcConfig ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

enabledClusterLogTypes List

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

encryptionConfig ClusterEncryptionConfigArgs

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

kubernetesNetworkConfig ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

name String

Name of the 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\-_]+$).

tags Map

Key-value map of resource tags.

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

roleArn string

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

vpcConfig ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

enabledClusterLogTypes string[]

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

encryptionConfig ClusterEncryptionConfigArgs

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

kubernetesNetworkConfig ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

name string

Name of the 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\-_]+$).

tags {[key: string]: string}

Key-value map of resource tags.

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

role_arn str

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

vpc_config ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

enabled_cluster_log_types Sequence[str]

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

encryption_config ClusterEncryptionConfigArgs

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

kubernetes_network_config ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

name str

Name of the 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\-_]+$).

tags Mapping[str, str]

Key-value map of resource tags.

version str

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.

roleArn String

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

vpcConfig Property Map

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

enabledClusterLogTypes List

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

encryptionConfig Property Map

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

kubernetesNetworkConfig Property Map

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

name String

Name of the 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\-_]+$).

tags Map

Key-value map of resource tags.

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

Outputs

All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:

Arn string

ARN of the cluster.

CertificateAuthorities List<Pulumi.Aws.Eks.Outputs.ClusterCertificateAuthority>

Attribute block containing certificate-authority-data for your cluster. Detailed below.

CertificateAuthority Pulumi.Aws.Eks.Outputs.ClusterCertificateAuthority

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

CreatedAt string

Unix epoch timestamp in seconds for when the cluster was created.

Endpoint string

Endpoint for your Kubernetes API server.

Id string

The provider-assigned unique ID for this managed resource.

Identities List<Pulumi.Aws.Eks.Outputs.ClusterIdentity>

Attribute block 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. Detailed below.

PlatformVersion string

Platform version for the cluster.

Status string

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

TagsAll Dictionary<string, string>

Map of tags assigned to the resource, including those inherited from the provider.

Arn string

ARN of the cluster.

CertificateAuthorities []ClusterCertificateAuthority

Attribute block containing certificate-authority-data for your cluster. Detailed below.

CertificateAuthority ClusterCertificateAuthority

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

CreatedAt string

Unix epoch timestamp in seconds for when the cluster was created.

Endpoint string

Endpoint for your Kubernetes API server.

Id string

The provider-assigned unique ID for this managed resource.

Identities []ClusterIdentity

Attribute block 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. Detailed below.

PlatformVersion string

Platform version for the cluster.

Status string

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

TagsAll map[string]string

Map of tags assigned to the resource, including those inherited from the provider.

arn String

ARN of the cluster.

certificateAuthorities ListCertificateAuthority>

Attribute block containing certificate-authority-data for your cluster. Detailed below.

certificateAuthority ClusterCertificateAuthority

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

createdAt String

Unix epoch timestamp in seconds for when the cluster was created.

endpoint String

Endpoint for your Kubernetes API server.

id String

The provider-assigned unique ID for this managed resource.

identities ListIdentity>

Attribute block 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. Detailed below.

platformVersion String

Platform version for the cluster.

status String

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

tagsAll Map

Map of tags assigned to the resource, including those inherited from the provider.

arn string

ARN of the cluster.

certificateAuthorities ClusterCertificateAuthority[]

Attribute block containing certificate-authority-data for your cluster. Detailed below.

certificateAuthority ClusterCertificateAuthority

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

createdAt string

Unix epoch timestamp in seconds for when the cluster was created.

endpoint string

Endpoint for your Kubernetes API server.

id string

The provider-assigned unique ID for this managed resource.

identities ClusterIdentity[]

Attribute block 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. Detailed below.

platformVersion string

Platform version for the cluster.

status string

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

tagsAll {[key: string]: string}

Map of tags assigned to the resource, including those inherited from the provider.

arn str

ARN of the cluster.

certificate_authorities Sequence[ClusterCertificateAuthority]

Attribute block containing certificate-authority-data for your cluster. Detailed below.

certificate_authority ClusterCertificateAuthority

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

created_at str

Unix epoch timestamp in seconds for when the cluster was created.

endpoint str

Endpoint for your Kubernetes API server.

id str

The provider-assigned unique ID for this managed resource.

identities Sequence[ClusterIdentity]

Attribute block 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. Detailed below.

platform_version str

Platform version for the cluster.

status str

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

tags_all Mapping[str, str]

Map of tags assigned to the resource, including those inherited from the provider.

arn String

ARN of the cluster.

certificateAuthorities List

Attribute block containing certificate-authority-data for your cluster. Detailed below.

certificateAuthority Property Map

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

createdAt String

Unix epoch timestamp in seconds for when the cluster was created.

endpoint String

Endpoint for your Kubernetes API server.

id String

The provider-assigned unique ID for this managed resource.

identities List

Attribute block 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. Detailed below.

platformVersion String

Platform version for the cluster.

status String

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

tagsAll Map

Map of tags assigned to the resource, including those inherited from the provider.

Look up an Existing Cluster Resource

Get an existing Cluster 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?: ClusterState, opts?: CustomResourceOptions): Cluster
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        certificate_authorities: Optional[Sequence[ClusterCertificateAuthorityArgs]] = None,
        certificate_authority: Optional[ClusterCertificateAuthorityArgs] = None,
        created_at: Optional[str] = None,
        enabled_cluster_log_types: Optional[Sequence[str]] = None,
        encryption_config: Optional[ClusterEncryptionConfigArgs] = None,
        endpoint: Optional[str] = None,
        identities: Optional[Sequence[ClusterIdentityArgs]] = None,
        kubernetes_network_config: Optional[ClusterKubernetesNetworkConfigArgs] = None,
        name: Optional[str] = None,
        platform_version: Optional[str] = None,
        role_arn: Optional[str] = None,
        status: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        version: Optional[str] = None,
        vpc_config: Optional[ClusterVpcConfigArgs] = None) -> Cluster
func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)
public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)
public static Cluster get(String name, Output<String> id, ClusterState 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:
Arn string

ARN of the cluster.

CertificateAuthorities List<Pulumi.Aws.Eks.Inputs.ClusterCertificateAuthorityArgs>

Attribute block containing certificate-authority-data for your cluster. Detailed below.

CertificateAuthority Pulumi.Aws.Eks.Inputs.ClusterCertificateAuthorityArgs

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

CreatedAt string

Unix epoch timestamp in seconds for when the cluster was created.

EnabledClusterLogTypes List<string>

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

EncryptionConfig Pulumi.Aws.Eks.Inputs.ClusterEncryptionConfigArgs

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

Endpoint string

Endpoint for your Kubernetes API server.

Identities List<Pulumi.Aws.Eks.Inputs.ClusterIdentityArgs>

Attribute block 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. Detailed below.

KubernetesNetworkConfig Pulumi.Aws.Eks.Inputs.ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

Name string

Name of the 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\-_]+$).

PlatformVersion string

Platform version for the cluster.

RoleArn string

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

Status string

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

Tags Dictionary<string, string>

Key-value map of resource tags.

TagsAll Dictionary<string, string>

Map of tags assigned to the resource, including those inherited from the provider.

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

VpcConfig Pulumi.Aws.Eks.Inputs.ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

Arn string

ARN of the cluster.

CertificateAuthorities []ClusterCertificateAuthorityArgs

Attribute block containing certificate-authority-data for your cluster. Detailed below.

CertificateAuthority ClusterCertificateAuthorityArgs

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

CreatedAt string

Unix epoch timestamp in seconds for when the cluster was created.

EnabledClusterLogTypes []string

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

EncryptionConfig ClusterEncryptionConfigArgs

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

Endpoint string

Endpoint for your Kubernetes API server.

Identities []ClusterIdentityArgs

Attribute block 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. Detailed below.

KubernetesNetworkConfig ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

Name string

Name of the 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\-_]+$).

PlatformVersion string

Platform version for the cluster.

RoleArn string

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

Status string

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

Tags map[string]string

Key-value map of resource tags.

TagsAll map[string]string

Map of tags assigned to the resource, including those inherited from the provider.

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

VpcConfig ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

arn String

ARN of the cluster.

certificateAuthorities ListCertificateAuthorityArgs>

Attribute block containing certificate-authority-data for your cluster. Detailed below.

certificateAuthority ClusterCertificateAuthorityArgs

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

createdAt String

Unix epoch timestamp in seconds for when the cluster was created.

enabledClusterLogTypes List

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

encryptionConfig ClusterEncryptionConfigArgs

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

endpoint String

Endpoint for your Kubernetes API server.

identities ListIdentityArgs>

Attribute block 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. Detailed below.

kubernetesNetworkConfig ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

name String

Name of the 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\-_]+$).

platformVersion String

Platform version for the cluster.

roleArn String

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

status String

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

tags Map

Key-value map of resource tags.

tagsAll Map

Map of tags assigned to the resource, including those inherited from the provider.

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

vpcConfig ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

arn string

ARN of the cluster.

certificateAuthorities ClusterCertificateAuthorityArgs[]

Attribute block containing certificate-authority-data for your cluster. Detailed below.

certificateAuthority ClusterCertificateAuthorityArgs

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

createdAt string

Unix epoch timestamp in seconds for when the cluster was created.

enabledClusterLogTypes string[]

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

encryptionConfig ClusterEncryptionConfigArgs

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

endpoint string

Endpoint for your Kubernetes API server.

identities ClusterIdentityArgs[]

Attribute block 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. Detailed below.

kubernetesNetworkConfig ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

name string

Name of the 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\-_]+$).

platformVersion string

Platform version for the cluster.

roleArn string

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

status string

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

tags {[key: string]: string}

Key-value map of resource tags.

tagsAll {[key: string]: string}

Map of tags assigned to the resource, including those inherited from the provider.

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

vpcConfig ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

arn str

ARN of the cluster.

certificate_authorities Sequence[ClusterCertificateAuthorityArgs]

Attribute block containing certificate-authority-data for your cluster. Detailed below.

certificate_authority ClusterCertificateAuthorityArgs

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

created_at str

Unix epoch timestamp in seconds for when the cluster was created.

enabled_cluster_log_types Sequence[str]

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

encryption_config ClusterEncryptionConfigArgs

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

endpoint str

Endpoint for your Kubernetes API server.

identities Sequence[ClusterIdentityArgs]

Attribute block 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. Detailed below.

kubernetes_network_config ClusterKubernetesNetworkConfigArgs

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

name str

Name of the 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\-_]+$).

platform_version str

Platform version for the cluster.

role_arn str

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

status str

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

tags Mapping[str, str]

Key-value map of resource tags.

tags_all Mapping[str, str]

Map of tags assigned to the resource, including those inherited from the provider.

version str

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.

vpc_config ClusterVpcConfigArgs

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

arn String

ARN of the cluster.

certificateAuthorities List

Attribute block containing certificate-authority-data for your cluster. Detailed below.

certificateAuthority Property Map

The first certificate authority. Base64 encoded certificate data required to communicate with your cluster.

createdAt String

Unix epoch timestamp in seconds for when the cluster was created.

enabledClusterLogTypes List

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

encryptionConfig Property Map

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

endpoint String

Endpoint for your Kubernetes API server.

identities List

Attribute block 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. Detailed below.

kubernetesNetworkConfig Property Map

Configuration block with kubernetes network configuration for the cluster. Detailed below. If removed, this provider will only perform drift detection if a configuration value is provided.

name String

Name of the 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\-_]+$).

platformVersion String

Platform version for the cluster.

roleArn String

ARN of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.

status String

Status of the EKS cluster. One of CREATING, ACTIVE, DELETING, FAILED.

tags Map

Key-value map of resource tags.

tagsAll Map

Map of tags assigned to the resource, including those inherited from the provider.

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

vpcConfig Property Map

Configuration block 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. Detailed below. Also contains attributes detailed in the Attributes section.

Supporting Types

ClusterCertificateAuthority

Data string

Base64 encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

Data string

Base64 encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

data String

Base64 encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

data string

Base64 encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

data str

Base64 encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

data String

Base64 encoded certificate data required to communicate with your cluster. Add this to the certificate-authority-data section of the kubeconfig file for your cluster.

ClusterEncryptionConfig

Provider Pulumi.Aws.Eks.Inputs.ClusterEncryptionConfigProvider

Configuration block with provider for encryption. Detailed below.

Resources List<string>

List of strings with resources to be encrypted. Valid values: secrets.

Provider ClusterEncryptionConfigProvider

Configuration block with provider for encryption. Detailed below.

Resources []string

List of strings with resources to be encrypted. Valid values: secrets.

provider ClusterEncryptionConfigProvider

Configuration block with provider for encryption. Detailed below.

resources List

List of strings with resources to be encrypted. Valid values: secrets.

provider ClusterEncryptionConfigProvider

Configuration block with provider for encryption. Detailed below.

resources string[]

List of strings with resources to be encrypted. Valid values: secrets.

provider ClusterEncryptionConfigProvider

Configuration block with provider for encryption. Detailed below.

resources Sequence[str]

List of strings with resources to be encrypted. Valid values: secrets.

provider Property Map

Configuration block with provider for encryption. Detailed below.

resources List

List of strings with resources to be encrypted. Valid values: secrets.

ClusterEncryptionConfigProvider

KeyArn string

ARN of the Key Management Service (KMS) customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. For more information, see Allowing Users in Other Accounts to Use a CMK in the AWS Key Management Service Developer Guide.

KeyArn string

ARN of the Key Management Service (KMS) customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. For more information, see Allowing Users in Other Accounts to Use a CMK in the AWS Key Management Service Developer Guide.

keyArn String

ARN of the Key Management Service (KMS) customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. For more information, see Allowing Users in Other Accounts to Use a CMK in the AWS Key Management Service Developer Guide.

keyArn string

ARN of the Key Management Service (KMS) customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. For more information, see Allowing Users in Other Accounts to Use a CMK in the AWS Key Management Service Developer Guide.

key_arn str

ARN of the Key Management Service (KMS) customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. For more information, see Allowing Users in Other Accounts to Use a CMK in the AWS Key Management Service Developer Guide.

keyArn String

ARN of the Key Management Service (KMS) customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. For more information, see Allowing Users in Other Accounts to Use a CMK in the AWS Key Management Service Developer Guide.

ClusterIdentity

Oidcs List<Pulumi.Aws.Eks.Inputs.ClusterIdentityOidc>

Nested block containing OpenID Connect identity provider information for the cluster. Detailed below.

Oidcs []ClusterIdentityOidc

Nested block containing OpenID Connect identity provider information for the cluster. Detailed below.

oidcs ListIdentityOidc>

Nested block containing OpenID Connect identity provider information for the cluster. Detailed below.

oidcs ClusterIdentityOidc[]

Nested block containing OpenID Connect identity provider information for the cluster. Detailed below.

oidcs Sequence[ClusterIdentityOidc]

Nested block containing OpenID Connect identity provider information for the cluster. Detailed below.

oidcs List

Nested block containing OpenID Connect identity provider information for the cluster. Detailed below.

ClusterIdentityOidc

Issuer string

Issuer URL for the OpenID Connect identity provider.

Issuer string

Issuer URL for the OpenID Connect identity provider.

issuer String

Issuer URL for the OpenID Connect identity provider.

issuer string

Issuer URL for the OpenID Connect identity provider.

issuer str

Issuer URL for the OpenID Connect identity provider.

issuer String

Issuer URL for the OpenID Connect identity provider.

ClusterKubernetesNetworkConfig

IpFamily string

The IP family used to assign Kubernetes pod and service addresses. Valid values are ipv4 (default) and ipv6. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created.

ServiceIpv4Cidr string

The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements:

IpFamily string

The IP family used to assign Kubernetes pod and service addresses. Valid values are ipv4 (default) and ipv6. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created.

ServiceIpv4Cidr string

The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements:

ipFamily String

The IP family used to assign Kubernetes pod and service addresses. Valid values are ipv4 (default) and ipv6. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created.

serviceIpv4Cidr String

The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements:

ipFamily string

The IP family used to assign Kubernetes pod and service addresses. Valid values are ipv4 (default) and ipv6. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created.

serviceIpv4Cidr string

The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements:

ip_family str

The IP family used to assign Kubernetes pod and service addresses. Valid values are ipv4 (default) and ipv6. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created.

service_ipv4_cidr str

The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements:

ipFamily String

The IP family used to assign Kubernetes pod and service addresses. Valid values are ipv4 (default) and ipv6. You can only specify an IP family when you create a cluster, changing this value will force a new cluster to be created.

serviceIpv4Cidr String

The CIDR block to assign Kubernetes service IP addresses from. If you don't specify a block, Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks. We recommend that you specify a block that does not overlap with resources in other networks that are peered or connected to your VPC. You can only specify a custom CIDR block when you create a cluster, changing this value will force a new cluster to be created. The block must meet the following requirements:

ClusterVpcConfig

SubnetIds List<string>

List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane.

ClusterSecurityGroupId string

Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication.

EndpointPrivateAccess bool

Whether the Amazon EKS private API server endpoint is enabled. Default is false.

EndpointPublicAccess bool

Whether the Amazon EKS public API server endpoint is enabled. Default is true.

PublicAccessCidrs List<string>

List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with 0.0.0.0/0. This provider will only perform drift detection of its value when present in a configuration.

SecurityGroupIds List<string>

List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane.

VpcId string

ID of the VPC associated with your cluster.

SubnetIds []string

List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane.

ClusterSecurityGroupId string

Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication.

EndpointPrivateAccess bool

Whether the Amazon EKS private API server endpoint is enabled. Default is false.

EndpointPublicAccess bool

Whether the Amazon EKS public API server endpoint is enabled. Default is true.

PublicAccessCidrs []string

List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with 0.0.0.0/0. This provider will only perform drift detection of its value when present in a configuration.

SecurityGroupIds []string

List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane.

VpcId string

ID of the VPC associated with your cluster.

subnetIds List

List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane.

clusterSecurityGroupId String

Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication.

endpointPrivateAccess Boolean

Whether the Amazon EKS private API server endpoint is enabled. Default is false.

endpointPublicAccess Boolean

Whether the Amazon EKS public API server endpoint is enabled. Default is true.

publicAccessCidrs List

List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with 0.0.0.0/0. This provider will only perform drift detection of its value when present in a configuration.

securityGroupIds List

List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane.

vpcId String

ID of the VPC associated with your cluster.

subnetIds string[]

List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane.

clusterSecurityGroupId string

Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication.

endpointPrivateAccess boolean

Whether the Amazon EKS private API server endpoint is enabled. Default is false.

endpointPublicAccess boolean

Whether the Amazon EKS public API server endpoint is enabled. Default is true.

publicAccessCidrs string[]

List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with 0.0.0.0/0. This provider will only perform drift detection of its value when present in a configuration.

securityGroupIds string[]

List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane.

vpcId string

ID of the VPC associated with your cluster.

subnet_ids Sequence[str]

List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane.

cluster_security_group_id str

Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication.

endpoint_private_access bool

Whether the Amazon EKS private API server endpoint is enabled. Default is false.

endpoint_public_access bool

Whether the Amazon EKS public API server endpoint is enabled. Default is true.

public_access_cidrs Sequence[str]

List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with 0.0.0.0/0. This provider will only perform drift detection of its value when present in a configuration.

security_group_ids Sequence[str]

List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane.

vpc_id str

ID of the VPC associated with your cluster.

subnetIds List

List of subnet IDs. Must be in at least two different availability zones. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane.

clusterSecurityGroupId String

Cluster security group that was created by Amazon EKS for the cluster. Managed node groups use this security group for control-plane-to-data-plane communication.

endpointPrivateAccess Boolean

Whether the Amazon EKS private API server endpoint is enabled. Default is false.

endpointPublicAccess Boolean

Whether the Amazon EKS public API server endpoint is enabled. Default is true.

publicAccessCidrs List

List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. EKS defaults this to a list with 0.0.0.0/0. This provider will only perform drift detection of its value when present in a configuration.

securityGroupIds List

List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane.

vpcId String

ID of the VPC associated with your cluster.

Import

EKS Clusters can be imported using the name, e.g.,

 $ pulumi import aws:eks/cluster:Cluster my_cluster my_cluster

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes

This Pulumi package is based on the aws Terraform Provider.