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.
This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the
pulumi/pulumi-awsrepo; however, if that doesn’t turn up anything, please consult the sourceterraform-providers/terraform-provider-awsrepo.
Resources
Functions
Others
- ClusterArgs
- ClusterState
- FargateProfileArgs
- FargateProfileState
- GetClusterArgs
- GetClusterAuthArgs
- GetClusterAuthResult
- GetClusterResult
- NodeGroupArgs
- NodeGroupState
Resources
Resource Cluster
class Cluster extends CustomResourceManages 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,
});
const example_AmazonEKSServicePolicy = new aws.iam.RolePolicyAttachment("example-AmazonEKSServicePolicy", {
policyArn: "arn:aws:iam::aws:policy/AmazonEKSServicePolicy",
role: example.name,
});Enabling Control Plane Logging
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("example", {
retentionInDays: 7,
});
const exampleCluster = new aws.eks.Cluster("example", {
enabledClusterLogTypes: [
"api",
"audit",
],
}, { dependsOn: [exampleLogGroup] });Enabling IAM Roles for Service Accounts
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const exampleCluster = new aws.eks.Cluster("example", {});
const exampleOpenIdConnectProvider = new aws.iam.OpenIdConnectProvider("example", {
clientIdLists: ["sts.amazonaws.com"],
thumbprintLists: [],
url: exampleCluster.identities[0].oidcs[0].issuer,
});
const current = pulumi.output(aws.getCallerIdentity({ async: true }));
const exampleAssumeRolePolicy = pulumi.all([exampleOpenIdConnectProvider.url, exampleOpenIdConnectProvider.arn]).apply(([url, arn]) => aws.iam.getPolicyDocument({
statements: [{
actions: ["sts:AssumeRoleWithWebIdentity"],
conditions: [{
test: "StringEquals",
values: ["system:serviceaccount:kube-system:aws-node"],
variable: `${url.replace("https://", "")}:sub`,
}],
effect: "Allow",
principals: [{
identifiers: [arn],
type: "Federated",
}],
}],
}, { async: true }));
const exampleRole = new aws.iam.Role("example", {
assumeRolePolicy: exampleAssumeRolePolicy.json,
});constructor
new Cluster(name: string, args: ClusterArgs, opts?: pulumi.CustomResourceOptions)Create a Cluster resource with the given unique name, arguments, and options.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): ClusterGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is ClusterReturns 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]: any} | 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 CustomResourceManages 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),
selector: [{
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): FargateProfileGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is FargateProfileReturns 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]: any} | 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 CustomResourceManages 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),
scaling_config: {
desiredSize: 1,
maxSize: 1,
minSize: 1,
},
});Ignoring Changes to Desired Size
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
// ... other configurations ...
const example = new aws.eks.NodeGroup("example", {scaling_config: {
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.
nameThe unique name of the resource.argsThe arguments to use to populate this resource's properties.optsA 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): NodeGroupGet 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 | undefinedmethod isInstance
public static isInstance(obj: any): obj is NodeGroupReturns 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. 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 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]: any} | 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>;Kubernetes version. Defaults to EKS Cluster Kubernetes version. This provider will only perform drift detection if a configuration value is provided.
Functions
Function getCluster
getCluster(args: GetClusterArgs, opts?: pulumi.InvokeOptions): Promise<GetClusterResult>Retrieve information about an EKS Cluster.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = pulumi.output(aws.eks.getCluster({
name: "example",
}, { async: true }));
export const endpoint = example.endpoint;
export const kubeconfig_certificate_authority_data = example.certificateAuthorities.data;
// Only available on Kubernetes version 1.13 and 1.14 clusters created or upgraded on or after September 3, 2019.
export const identity_oidc_issuer = example.identities[0].oidcs[0].issuer;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 ClusterArgsThe 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]: any}>;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 ClusterStateInput 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]: any}>;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 FargateProfileArgsThe 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]: any}>;Key-value map of resource tags.
interface FargateProfileState
interface FargateProfileStateInput 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]: any}>;Key-value map of resource tags.
interface GetClusterArgs
interface GetClusterArgsA collection of arguments for invoking getCluster.
property name
name: string;The name of the cluster
property tags
tags?: undefined | {[key: string]: any};Key-value map of resource tags.
interface GetClusterAuthArgs
interface GetClusterAuthArgsA collection of arguments for invoking getClusterAuth.
property name
name: string;The name of the cluster
interface GetClusterAuthResult
interface GetClusterAuthResultA 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 GetClusterResultA 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]: any};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 NodeGroupArgsThe 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. 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 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]: any}>;Key-value mapping of resource tags.
property version
version?: pulumi.Input<string>;Kubernetes version. Defaults to EKS Cluster Kubernetes version. This provider will only perform drift detection if a configuration value is provided.
interface NodeGroupState
interface NodeGroupStateInput 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. 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 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]: any}>;Key-value mapping of resource tags.
property version
version?: pulumi.Input<string>;Kubernetes version. Defaults to EKS Cluster Kubernetes version. This provider will only perform drift detection if a configuration value is provided.