1. Packages
  2. Amazon EKS
  3. API Docs
  4. NodeGroup
Amazon EKS v2.3.0 published on Friday, Mar 29, 2024 by Pulumi

eks.NodeGroup

Explore with Pulumi AI

eks logo
Amazon EKS v2.3.0 published on Friday, Mar 29, 2024 by Pulumi

    NodeGroup is a component that wraps the AWS EC2 instances that provide compute capacity for an EKS cluster.

    Create NodeGroup Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new NodeGroup(name: string, args: NodeGroupArgs, opts?: CustomResourceOptions);
    @overload
    def NodeGroup(resource_name: str,
                  args: NodeGroupArgs,
                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def NodeGroup(resource_name: str,
                  opts: Optional[ResourceOptions] = None,
                  cluster: Optional[Union[Cluster, CoreDataArgs]] = None,
                  kubelet_extra_args: Optional[str] = None,
                  version: Optional[str] = None,
                  key_name: Optional[str] = None,
                  cloud_formation_tags: Optional[Mapping[str, str]] = None,
                  ami_type: Optional[str] = None,
                  cluster_ingress_rule: Optional[pulumi_aws.ec2.SecurityGroupRule] = None,
                  desired_capacity: Optional[int] = None,
                  encrypt_root_block_device: Optional[bool] = None,
                  extra_node_security_groups: Optional[Sequence[pulumi_aws.ec2.SecurityGroup]] = None,
                  gpu: Optional[bool] = None,
                  instance_profile: Optional[pulumi_aws.iam.InstanceProfile] = None,
                  instance_type: Optional[str] = None,
                  bootstrap_extra_args: Optional[str] = None,
                  auto_scaling_group_tags: Optional[Mapping[str, str]] = None,
                  node_subnet_ids: Optional[Sequence[str]] = None,
                  max_size: Optional[int] = None,
                  min_size: Optional[int] = None,
                  node_associate_public_ip_address: Optional[bool] = None,
                  node_public_key: Optional[str] = None,
                  node_root_volume_size: Optional[int] = None,
                  node_security_group: Optional[pulumi_aws.ec2.SecurityGroup] = None,
                  labels: Optional[Mapping[str, str]] = None,
                  node_user_data: Optional[str] = None,
                  node_user_data_override: Optional[str] = None,
                  spot_price: Optional[str] = None,
                  taints: Optional[Mapping[str, TaintArgs]] = None,
                  ami_id: Optional[str] = None)
    func NewNodeGroup(ctx *Context, name string, args NodeGroupArgs, opts ...ResourceOption) (*NodeGroup, error)
    public NodeGroup(string name, NodeGroupArgs args, CustomResourceOptions? opts = null)
    public NodeGroup(String name, NodeGroupArgs args)
    public NodeGroup(String name, NodeGroupArgs args, CustomResourceOptions options)
    
    type: eks:NodeGroup
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

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

    Example

    The following reference example uses placeholder values for all input properties.

    var nodeGroupResource = new Eks.NodeGroup("nodeGroupResource", new()
    {
        Cluster = cluster,
        KubeletExtraArgs = "string",
        Version = "string",
        KeyName = "string",
        CloudFormationTags = 
        {
            { "string", "string" },
        },
        AmiType = "string",
        ClusterIngressRule = securityGroupRule,
        DesiredCapacity = 0,
        EncryptRootBlockDevice = false,
        ExtraNodeSecurityGroups = new[]
        {
            securityGroup,
        },
        Gpu = false,
        InstanceProfile = instanceProfile,
        InstanceType = "string",
        BootstrapExtraArgs = "string",
        AutoScalingGroupTags = 
        {
            { "string", "string" },
        },
        NodeSubnetIds = new[]
        {
            "string",
        },
        MaxSize = 0,
        MinSize = 0,
        NodeAssociatePublicIpAddress = false,
        NodePublicKey = "string",
        NodeRootVolumeSize = 0,
        NodeSecurityGroup = securityGroup,
        Labels = 
        {
            { "string", "string" },
        },
        NodeUserData = "string",
        NodeUserDataOverride = "string",
        SpotPrice = "string",
        Taints = 
        {
            { "string", new Eks.Inputs.TaintArgs
            {
                Effect = "string",
                Value = "string",
            } },
        },
        AmiId = "string",
    });
    
    example, err := eks.NewNodeGroup(ctx, "nodeGroupResource", &eks.NodeGroupArgs{
    Cluster: pulumi.Any(cluster),
    KubeletExtraArgs: "string",
    Version: pulumi.String("string"),
    KeyName: pulumi.String("string"),
    CloudFormationTags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    AmiType: pulumi.String("string"),
    ClusterIngressRule: pulumi.Any(securityGroupRule),
    DesiredCapacity: pulumi.Int(0),
    EncryptRootBlockDevice: pulumi.Bool(false),
    ExtraNodeSecurityGroups: ec2.SecurityGroupArray{
    securityGroup,
    },
    Gpu: pulumi.Bool(false),
    InstanceProfile: instanceProfile,
    InstanceType: pulumi.String("string"),
    BootstrapExtraArgs: "string",
    AutoScalingGroupTags: pulumi.StringMap{
    "string": pulumi.String("string"),
    },
    NodeSubnetIds: pulumi.StringArray{
    pulumi.String("string"),
    },
    MaxSize: pulumi.Int(0),
    MinSize: pulumi.Int(0),
    NodeAssociatePublicIpAddress: false,
    NodePublicKey: pulumi.String("string"),
    NodeRootVolumeSize: pulumi.Int(0),
    NodeSecurityGroup: pulumi.Any(securityGroup),
    Labels: map[string]interface{}{
    "string": "string",
    },
    NodeUserData: pulumi.String("string"),
    NodeUserDataOverride: pulumi.String("string"),
    SpotPrice: pulumi.String("string"),
    Taints: interface{}{
    String: &eks.TaintArgs{
    Effect: "string",
    Value: "string",
    },
    },
    AmiId: pulumi.String("string"),
    })
    
    var nodeGroupResource = new NodeGroup("nodeGroupResource", NodeGroupArgs.builder()        
        .cluster(cluster)
        .kubeletExtraArgs("string")
        .version("string")
        .keyName("string")
        .cloudFormationTags(Map.of("string", "string"))
        .amiType("string")
        .clusterIngressRule(securityGroupRule)
        .desiredCapacity(0)
        .encryptRootBlockDevice(false)
        .extraNodeSecurityGroups(securityGroup)
        .gpu(false)
        .instanceProfile(instanceProfile)
        .instanceType("string")
        .bootstrapExtraArgs("string")
        .autoScalingGroupTags(Map.of("string", "string"))
        .nodeSubnetIds("string")
        .maxSize(0)
        .minSize(0)
        .nodeAssociatePublicIpAddress(false)
        .nodePublicKey("string")
        .nodeRootVolumeSize(0)
        .nodeSecurityGroup(securityGroup)
        .labels(Map.of("string", "string"))
        .nodeUserData("string")
        .nodeUserDataOverride("string")
        .spotPrice("string")
        .taints(Map.of("string", Map.ofEntries(
            Map.entry("effect", "string"),
            Map.entry("value", "string")
        )))
        .amiId("string")
        .build());
    
    node_group_resource = eks.NodeGroup("nodeGroupResource",
        cluster=cluster,
        kubelet_extra_args="string",
        version="string",
        key_name="string",
        cloud_formation_tags={
            "string": "string",
        },
        ami_type="string",
        cluster_ingress_rule=security_group_rule,
        desired_capacity=0,
        encrypt_root_block_device=False,
        extra_node_security_groups=[security_group],
        gpu=False,
        instance_profile=instance_profile,
        instance_type="string",
        bootstrap_extra_args="string",
        auto_scaling_group_tags={
            "string": "string",
        },
        node_subnet_ids=["string"],
        max_size=0,
        min_size=0,
        node_associate_public_ip_address=False,
        node_public_key="string",
        node_root_volume_size=0,
        node_security_group=security_group,
        labels={
            "string": "string",
        },
        node_user_data="string",
        node_user_data_override="string",
        spot_price="string",
        taints={
            "string": eks.TaintArgs(
                effect="string",
                value="string",
            ),
        },
        ami_id="string")
    
    const nodeGroupResource = new eks.NodeGroup("nodeGroupResource", {
        cluster: cluster,
        kubeletExtraArgs: "string",
        version: "string",
        keyName: "string",
        cloudFormationTags: {
            string: "string",
        },
        amiType: "string",
        clusterIngressRule: securityGroupRule,
        desiredCapacity: 0,
        encryptRootBlockDevice: false,
        extraNodeSecurityGroups: [securityGroup],
        gpu: false,
        instanceProfile: instanceProfile,
        instanceType: "string",
        bootstrapExtraArgs: "string",
        autoScalingGroupTags: {
            string: "string",
        },
        nodeSubnetIds: ["string"],
        maxSize: 0,
        minSize: 0,
        nodeAssociatePublicIpAddress: false,
        nodePublicKey: "string",
        nodeRootVolumeSize: 0,
        nodeSecurityGroup: securityGroup,
        labels: {
            string: "string",
        },
        nodeUserData: "string",
        nodeUserDataOverride: "string",
        spotPrice: "string",
        taints: {
            string: {
                effect: "string",
                value: "string",
            },
        },
        amiId: "string",
    });
    
    type: eks:NodeGroup
    properties:
        amiId: string
        amiType: string
        autoScalingGroupTags:
            string: string
        bootstrapExtraArgs: string
        cloudFormationTags:
            string: string
        cluster: ${cluster}
        clusterIngressRule: ${securityGroupRule}
        desiredCapacity: 0
        encryptRootBlockDevice: false
        extraNodeSecurityGroups:
            - ${securityGroup}
        gpu: false
        instanceProfile: ${instanceProfile}
        instanceType: string
        keyName: string
        kubeletExtraArgs: string
        labels:
            string: string
        maxSize: 0
        minSize: 0
        nodeAssociatePublicIpAddress: false
        nodePublicKey: string
        nodeRootVolumeSize: 0
        nodeSecurityGroup: ${securityGroup}
        nodeSubnetIds:
            - string
        nodeUserData: string
        nodeUserDataOverride: string
        spotPrice: string
        taints:
            string:
                effect: string
                value: string
        version: string
    

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

    Cluster Pulumi.Eks.Cluster | CoreData
    The target EKS cluster.
    AmiId string

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    AmiType string

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    AutoScalingGroupTags Dictionary<string, string>

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    BootstrapExtraArgs string
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    CloudFormationTags Dictionary<string, string>

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    ClusterIngressRule Pulumi.Aws.Ec2.SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    DesiredCapacity int
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    EncryptRootBlockDevice bool
    Encrypt the root block device of the nodes in the node group.
    ExtraNodeSecurityGroups List<Pulumi.Aws.Ec2.SecurityGroup>

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    Gpu bool

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    InstanceProfile Pulumi.Aws.Iam.InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    InstanceType string
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    KeyName string
    Name of the key pair to use for SSH access to worker nodes.
    KubeletExtraArgs string
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    Labels Dictionary<string, string>
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    MaxSize int
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    MinSize int
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    NodeAssociatePublicIpAddress bool
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    NodePublicKey string
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    NodeRootVolumeSize int
    The size in GiB of a cluster node's root volume. Defaults to 20.
    NodeSecurityGroup Pulumi.Aws.Ec2.SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    NodeSubnetIds List<string>

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    NodeUserData string
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    NodeUserDataOverride string

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    SpotPrice string
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    Taints Dictionary<string, TaintArgs>
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    Version string
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    Cluster Cluster | CoreDataArgs
    The target EKS cluster.
    AmiId string

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    AmiType string

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    AutoScalingGroupTags map[string]string

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    BootstrapExtraArgs string
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    CloudFormationTags map[string]string

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    ClusterIngressRule SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    DesiredCapacity int
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    EncryptRootBlockDevice bool
    Encrypt the root block device of the nodes in the node group.
    ExtraNodeSecurityGroups SecurityGroup

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    Gpu bool

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    InstanceProfile InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    InstanceType string
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    KeyName string
    Name of the key pair to use for SSH access to worker nodes.
    KubeletExtraArgs string
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    Labels map[string]string
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    MaxSize int
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    MinSize int
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    NodeAssociatePublicIpAddress bool
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    NodePublicKey string
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    NodeRootVolumeSize int
    The size in GiB of a cluster node's root volume. Defaults to 20.
    NodeSecurityGroup SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    NodeSubnetIds []string

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    NodeUserData string
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    NodeUserDataOverride string

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    SpotPrice string
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    Taints map[string]TaintArgs
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    Version string
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    cluster Cluster | CoreData
    The target EKS cluster.
    amiId String

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    amiType String

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    autoScalingGroupTags Map<String,String>

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    bootstrapExtraArgs String
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    cloudFormationTags Map<String,String>

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    clusterIngressRule SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    desiredCapacity Integer
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    encryptRootBlockDevice Boolean
    Encrypt the root block device of the nodes in the node group.
    extraNodeSecurityGroups List<SecurityGroup>

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    gpu Boolean

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    instanceProfile InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    instanceType String
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    keyName String
    Name of the key pair to use for SSH access to worker nodes.
    kubeletExtraArgs String
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    labels Map<String,String>
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    maxSize Integer
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    minSize Integer
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    nodeAssociatePublicIpAddress Boolean
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    nodePublicKey String
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    nodeRootVolumeSize Integer
    The size in GiB of a cluster node's root volume. Defaults to 20.
    nodeSecurityGroup SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    nodeSubnetIds List<String>

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    nodeUserData String
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    nodeUserDataOverride String

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    spotPrice String
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    taints Map<String,TaintArgs>
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    version String
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    cluster Cluster | CoreData
    The target EKS cluster.
    amiId string

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    amiType string

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    autoScalingGroupTags {[key: string]: string}

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    bootstrapExtraArgs string
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    cloudFormationTags {[key: string]: string}

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    clusterIngressRule pulumiAwsec2SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    desiredCapacity number
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    encryptRootBlockDevice boolean
    Encrypt the root block device of the nodes in the node group.
    extraNodeSecurityGroups pulumiAwsec2SecurityGroup[]

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    gpu boolean

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    instanceProfile pulumiAwsiamInstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    instanceType string
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    keyName string
    Name of the key pair to use for SSH access to worker nodes.
    kubeletExtraArgs string
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    labels {[key: string]: string}
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    maxSize number
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    minSize number
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    nodeAssociatePublicIpAddress boolean
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    nodePublicKey string
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    nodeRootVolumeSize number
    The size in GiB of a cluster node's root volume. Defaults to 20.
    nodeSecurityGroup pulumiAwsec2SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    nodeSubnetIds string[]

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    nodeUserData string
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    nodeUserDataOverride string

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    spotPrice string
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    taints {[key: string]: TaintArgs}
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    version string
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    cluster Cluster | CoreDataArgs
    The target EKS cluster.
    ami_id str

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    ami_type str

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    auto_scaling_group_tags Mapping[str, str]

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    bootstrap_extra_args str
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    cloud_formation_tags Mapping[str, str]

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    cluster_ingress_rule pulumi_aws.ec2.SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    desired_capacity int
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    encrypt_root_block_device bool
    Encrypt the root block device of the nodes in the node group.
    extra_node_security_groups Sequence[pulumi_aws.ec2.SecurityGroup]

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    gpu bool

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    instance_profile pulumi_aws.iam.InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    instance_type str
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    key_name str
    Name of the key pair to use for SSH access to worker nodes.
    kubelet_extra_args str
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    labels Mapping[str, str]
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    max_size int
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    min_size int
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    node_associate_public_ip_address bool
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    node_public_key str
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    node_root_volume_size int
    The size in GiB of a cluster node's root volume. Defaults to 20.
    node_security_group pulumi_aws.ec2.SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    node_subnet_ids Sequence[str]

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    node_user_data str
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    node_user_data_override str

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    spot_price str
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    taints Mapping[str, TaintArgs]
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    version str
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    cluster eks:Cluster | Property Map
    The target EKS cluster.
    amiId String

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    amiType String

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    autoScalingGroupTags Map<String>

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    bootstrapExtraArgs String
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    cloudFormationTags Map<String>

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    clusterIngressRule aws:ec2:SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    desiredCapacity Number
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    encryptRootBlockDevice Boolean
    Encrypt the root block device of the nodes in the node group.
    extraNodeSecurityGroups List<aws:ec2:SecurityGroup>

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    gpu Boolean

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    instanceProfile aws:iam:InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    instanceType String
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    keyName String
    Name of the key pair to use for SSH access to worker nodes.
    kubeletExtraArgs String
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    labels Map<String>
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    maxSize Number
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    minSize Number
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    nodeAssociatePublicIpAddress Boolean
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    nodePublicKey String
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    nodeRootVolumeSize Number
    The size in GiB of a cluster node's root volume. Defaults to 20.
    nodeSecurityGroup aws:ec2:SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    nodeSubnetIds List<String>

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    nodeUserData String
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    nodeUserDataOverride String

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    spotPrice String
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    taints Map<Property Map>
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    version String
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.

    Outputs

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

    AutoScalingGroupName string
    The AutoScalingGroup name for the Node group.
    CfnStack Pulumi.Aws.CloudFormation.Stack
    The CloudFormation Stack which defines the Node AutoScalingGroup. This type is defined in the AWS Classic package.
    AutoScalingGroupName string
    The AutoScalingGroup name for the Node group.
    CfnStack Stack
    The CloudFormation Stack which defines the Node AutoScalingGroup. This type is defined in the AWS Classic package.
    autoScalingGroupName String
    The AutoScalingGroup name for the Node group.
    cfnStack Stack
    The CloudFormation Stack which defines the Node AutoScalingGroup. This type is defined in the AWS Classic package.
    autoScalingGroupName string
    The AutoScalingGroup name for the Node group.
    cfnStack pulumiAwscloudformationStack
    The CloudFormation Stack which defines the Node AutoScalingGroup. This type is defined in the AWS Classic package.
    auto_scaling_group_name str
    The AutoScalingGroup name for the Node group.
    cfn_stack pulumi_aws.cloudformation.Stack
    The CloudFormation Stack which defines the Node AutoScalingGroup. This type is defined in the AWS Classic package.
    autoScalingGroupName String
    The AutoScalingGroup name for the Node group.
    cfnStack aws:cloudformation:Stack
    The CloudFormation Stack which defines the Node AutoScalingGroup. This type is defined in the AWS Classic package.

    Supporting Types

    ClusterNodeGroupOptions, ClusterNodeGroupOptionsArgs

    AmiId string

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    AmiType string

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    AutoScalingGroupTags Dictionary<string, string>

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    BootstrapExtraArgs string
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    CloudFormationTags Dictionary<string, string>

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    ClusterIngressRule Pulumi.Aws.Ec2.SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    DesiredCapacity int
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    EncryptRootBlockDevice bool
    Encrypt the root block device of the nodes in the node group.
    ExtraNodeSecurityGroups List<Pulumi.Aws.Ec2.SecurityGroup>

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    Gpu bool

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    InstanceProfile Pulumi.Aws.Iam.InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    InstanceType string
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    KeyName string
    Name of the key pair to use for SSH access to worker nodes.
    KubeletExtraArgs string
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    Labels Dictionary<string, string>
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    MaxSize int
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    MinSize int
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    NodeAssociatePublicIpAddress bool
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    NodePublicKey string
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    NodeRootVolumeSize int
    The size in GiB of a cluster node's root volume. Defaults to 20.
    NodeSecurityGroup Pulumi.Aws.Ec2.SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    NodeSubnetIds List<string>

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    NodeUserData string
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    NodeUserDataOverride string

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    SpotPrice string
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    Taints Dictionary<string, Taint>
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    Version string
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    AmiId string

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    AmiType string

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    AutoScalingGroupTags map[string]string

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    BootstrapExtraArgs string
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    CloudFormationTags map[string]string

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    ClusterIngressRule SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    DesiredCapacity int
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    EncryptRootBlockDevice bool
    Encrypt the root block device of the nodes in the node group.
    ExtraNodeSecurityGroups SecurityGroup

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    Gpu bool

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    InstanceProfile InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    InstanceType string
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    KeyName string
    Name of the key pair to use for SSH access to worker nodes.
    KubeletExtraArgs string
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    Labels map[string]string
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    MaxSize int
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    MinSize int
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    NodeAssociatePublicIpAddress bool
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    NodePublicKey string
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    NodeRootVolumeSize int
    The size in GiB of a cluster node's root volume. Defaults to 20.
    NodeSecurityGroup SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    NodeSubnetIds []string

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    NodeUserData string
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    NodeUserDataOverride string

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    SpotPrice string
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    Taints map[string]Taint
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    Version string
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    amiId String

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    amiType String

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    autoScalingGroupTags Map<String,String>

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    bootstrapExtraArgs String
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    cloudFormationTags Map<String,String>

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    clusterIngressRule SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    desiredCapacity Integer
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    encryptRootBlockDevice Boolean
    Encrypt the root block device of the nodes in the node group.
    extraNodeSecurityGroups List<SecurityGroup>

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    gpu Boolean

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    instanceProfile InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    instanceType String
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    keyName String
    Name of the key pair to use for SSH access to worker nodes.
    kubeletExtraArgs String
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    labels Map<String,String>
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    maxSize Integer
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    minSize Integer
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    nodeAssociatePublicIpAddress Boolean
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    nodePublicKey String
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    nodeRootVolumeSize Integer
    The size in GiB of a cluster node's root volume. Defaults to 20.
    nodeSecurityGroup SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    nodeSubnetIds List<String>

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    nodeUserData String
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    nodeUserDataOverride String

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    spotPrice String
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    taints Map<String,Taint>
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    version String
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    amiId string

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    amiType string

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    autoScalingGroupTags {[key: string]: string}

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    bootstrapExtraArgs string
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    cloudFormationTags {[key: string]: string}

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    clusterIngressRule pulumiAwsec2SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    desiredCapacity number
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    encryptRootBlockDevice boolean
    Encrypt the root block device of the nodes in the node group.
    extraNodeSecurityGroups pulumiAwsec2SecurityGroup[]

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    gpu boolean

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    instanceProfile pulumiAwsiamInstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    instanceType string
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    keyName string
    Name of the key pair to use for SSH access to worker nodes.
    kubeletExtraArgs string
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    labels {[key: string]: string}
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    maxSize number
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    minSize number
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    nodeAssociatePublicIpAddress boolean
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    nodePublicKey string
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    nodeRootVolumeSize number
    The size in GiB of a cluster node's root volume. Defaults to 20.
    nodeSecurityGroup pulumiAwsec2SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    nodeSubnetIds string[]

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    nodeUserData string
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    nodeUserDataOverride string

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    spotPrice string
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    taints {[key: string]: Taint}
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    version string
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    ami_id str

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    ami_type str

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    auto_scaling_group_tags Mapping[str, str]

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    bootstrap_extra_args str
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    cloud_formation_tags Mapping[str, str]

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    cluster_ingress_rule pulumi_aws.ec2.SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    desired_capacity int
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    encrypt_root_block_device bool
    Encrypt the root block device of the nodes in the node group.
    extra_node_security_groups Sequence[pulumi_aws.ec2.SecurityGroup]

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    gpu bool

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    instance_profile pulumi_aws.iam.InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    instance_type str
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    key_name str
    Name of the key pair to use for SSH access to worker nodes.
    kubelet_extra_args str
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    labels Mapping[str, str]
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    max_size int
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    min_size int
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    node_associate_public_ip_address bool
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    node_public_key str
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    node_root_volume_size int
    The size in GiB of a cluster node's root volume. Defaults to 20.
    node_security_group pulumi_aws.ec2.SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    node_subnet_ids Sequence[str]

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    node_user_data str
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    node_user_data_override str

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    spot_price str
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    taints Mapping[str, Taint]
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    version str
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.
    amiId String

    The AMI ID to use for the worker nodes.

    Defaults to the latest recommended EKS Optimized Linux AMI from the AWS Systems Manager Parameter Store.

    Note: amiId and gpu are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html.
    amiType String

    The AMI Type to use for the worker nodes.

    Only applicable when setting an AMI ID that is of type arm64.

    Note: amiType and gpu are mutually exclusive.

    autoScalingGroupTags Map<String>

    The tags to apply to the NodeGroup's AutoScalingGroup in the CloudFormation Stack.

    Per AWS, all stack-level tags, including automatically created tags, and the cloudFormationTags option are propagated to resources that AWS CloudFormation supports, including the AutoScalingGroup. See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    bootstrapExtraArgs String
    Additional args to pass directly to /etc/eks/bootstrap.sh. For details on available options, see: https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh. Note that the --apiserver-endpoint, --b64-cluster-ca and --kubelet-extra-args flags are included automatically based on other configuration parameters.
    cloudFormationTags Map<String>

    The tags to apply to the CloudFormation Stack of the Worker NodeGroup.

    Note: Given the inheritance of auto-generated CF tags and cloudFormationTags, you should either supply the tag in autoScalingGroupTags or cloudFormationTags, but not both.

    clusterIngressRule aws:ec2:SecurityGroupRule
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    desiredCapacity Number
    The number of worker nodes that should be running in the cluster. Defaults to 2.
    encryptRootBlockDevice Boolean
    Encrypt the root block device of the nodes in the node group.
    extraNodeSecurityGroups List<aws:ec2:SecurityGroup>

    Extra security groups to attach on all nodes in this worker node group.

    This additional set of security groups captures any user application rules that will be needed for the nodes.

    gpu Boolean

    Use the latest recommended EKS Optimized Linux AMI with GPU support for the worker nodes from the AWS Systems Manager Parameter Store.

    Defaults to false.

    Note: gpu and amiId are mutually exclusive.

    See for more details:

    • https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
    • https://docs.aws.amazon.com/eks/latest/userguide/retrieve-ami-id.html
    instanceProfile aws:iam:InstanceProfile
    The ingress rule that gives node group access. This type is defined in the AWS Classic package.
    instanceType String
    The instance type to use for the cluster's nodes. Defaults to "t2.medium".
    keyName String
    Name of the key pair to use for SSH access to worker nodes.
    kubeletExtraArgs String
    Extra args to pass to the Kubelet. Corresponds to the options passed in the --kubeletExtraArgs flag to /etc/eks/bootstrap.sh. For example, '--port=10251 --address=0.0.0.0'. Note that the labels and taints properties will be applied to this list (using --node-labels and --register-with-taints respectively) after to the explicit kubeletExtraArgs.
    labels Map<String>
    Custom k8s node labels to be attached to each worker node. Adds the given key/value pairs to the --node-labels kubelet argument.
    maxSize Number
    The maximum number of worker nodes running in the cluster. Defaults to 2.
    minSize Number
    The minimum number of worker nodes running in the cluster. Defaults to 1.
    nodeAssociatePublicIpAddress Boolean
    Whether or not to auto-assign public IP addresses on the EKS worker nodes. If this toggle is set to true, the EKS workers will be auto-assigned public IPs. If false, they will not be auto-assigned public IPs.
    nodePublicKey String
    Public key material for SSH access to worker nodes. See allowed formats at: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html If not provided, no SSH access is enabled on VMs.
    nodeRootVolumeSize Number
    The size in GiB of a cluster node's root volume. Defaults to 20.
    nodeSecurityGroup aws:ec2:SecurityGroup

    The security group for the worker node group to communicate with the cluster.

    This security group requires specific inbound and outbound rules.

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html

    Note: The nodeSecurityGroup option and the cluster optionnodeSecurityGroupTags are mutually exclusive. This type is defined in the AWS Classic package.

    nodeSubnetIds List<String>

    The set of subnets to override and use for the worker node group.

    Setting this option overrides which subnets to use for the worker node group, regardless if the cluster's subnetIds is set, or if publicSubnetIds and/or privateSubnetIds were set.

    nodeUserData String
    Extra code to run on node startup. This code will run after the AWS EKS bootstrapping code and before the node signals its readiness to the managing CloudFormation stack. This code must be a typical user data script: critically it must begin with an interpreter directive (i.e. a #!).
    nodeUserDataOverride String

    User specified code to run on node startup. This code is expected to handle the full AWS EKS bootstrapping code and signal node readiness to the managing CloudFormation stack. This code must be a complete and executable user data script in bash (Linux) or powershell (Windows).

    See for more details: https://docs.aws.amazon.com/eks/latest/userguide/worker.html

    spotPrice String
    Bidding price for spot instance. If set, only spot instances will be added as worker node.
    taints Map<Property Map>
    Custom k8s node taints to be attached to each worker node. Adds the given taints to the --register-with-taints kubelet argument
    version String
    Desired Kubernetes master / control plane version. If you do not specify a value, the latest available version is used.

    CoreData, CoreDataArgs

    Cluster Pulumi.Aws.Eks.Cluster
    This type is defined in the AWS Classic package.
    ClusterIamRole Pulumi.Aws.Iam.Role
    The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
    ClusterSecurityGroup Pulumi.Aws.Ec2.SecurityGroup
    This type is defined in the AWS Classic package.
    Endpoint string
    InstanceRoles List<Pulumi.Aws.Iam.Role>
    NodeGroupOptions ClusterNodeGroupOptions
    Provider Pulumi.Kubernetes.Provider
    This type is defined in the pulumi package.
    SubnetIds List<string>
    VpcId string
    AwsProvider Pulumi.Aws.Provider
    This type is defined in the pulumi package.
    EksNodeAccess Pulumi.Kubernetes.Core.V1.ConfigMap
    This type is defined in the Kubernetes package.
    EncryptionConfig Pulumi.Aws.Eks.Inputs.ClusterEncryptionConfig
    This type is defined in the AWS Classic package.
    FargateProfile Pulumi.Aws.Eks.FargateProfile
    This type is defined in the AWS Classic package.
    Kubeconfig object
    NodeSecurityGroupTags Dictionary<string, string>
    OidcProvider Pulumi.Aws.Iam.OpenIdConnectProvider
    This type is defined in the AWS Classic package.
    PrivateSubnetIds List<string>
    PublicSubnetIds List<string>
    StorageClasses Dictionary<string, Pulumi.Kubernetes.Storage.V1.StorageClass>
    Tags Dictionary<string, string>
    VpcCni Pulumi.Eks.VpcCni
    Cluster Cluster
    This type is defined in the AWS Classic package.
    ClusterIamRole Role
    The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
    ClusterSecurityGroup SecurityGroup
    This type is defined in the AWS Classic package.
    Endpoint string
    InstanceRoles Role
    NodeGroupOptions ClusterNodeGroupOptions
    Provider Provider
    This type is defined in the pulumi package.
    SubnetIds []string
    VpcId string
    AwsProvider Provider
    This type is defined in the pulumi package.
    EksNodeAccess ConfigMap
    This type is defined in the Kubernetes package.
    EncryptionConfig ClusterEncryptionConfig
    This type is defined in the AWS Classic package.
    FargateProfile FargateProfile
    This type is defined in the AWS Classic package.
    Kubeconfig interface{}
    NodeSecurityGroupTags map[string]string
    OidcProvider OpenIdConnectProvider
    This type is defined in the AWS Classic package.
    PrivateSubnetIds []string
    PublicSubnetIds []string
    StorageClasses StorageClass
    Tags map[string]string
    VpcCni VpcCni
    cluster Cluster
    This type is defined in the AWS Classic package.
    clusterIamRole Role
    The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
    clusterSecurityGroup SecurityGroup
    This type is defined in the AWS Classic package.
    endpoint String
    instanceRoles List<Role>
    nodeGroupOptions ClusterNodeGroupOptions
    provider Provider
    This type is defined in the pulumi package.
    subnetIds List<String>
    vpcId String
    awsProvider Provider
    This type is defined in the pulumi package.
    eksNodeAccess ConfigMap
    This type is defined in the Kubernetes package.
    encryptionConfig ClusterEncryptionConfig
    This type is defined in the AWS Classic package.
    fargateProfile FargateProfile
    This type is defined in the AWS Classic package.
    kubeconfig Object
    nodeSecurityGroupTags Map<String,String>
    oidcProvider OpenIdConnectProvider
    This type is defined in the AWS Classic package.
    privateSubnetIds List<String>
    publicSubnetIds List<String>
    storageClasses Map<String,StorageClass>
    tags Map<String,String>
    vpcCni VpcCni
    cluster pulumiAwseksCluster
    This type is defined in the AWS Classic package.
    clusterIamRole pulumiAwsiamRole
    The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
    clusterSecurityGroup pulumiAwsec2SecurityGroup
    This type is defined in the AWS Classic package.
    endpoint string
    instanceRoles pulumiAwsiamRole[]
    nodeGroupOptions ClusterNodeGroupOptions
    provider pulumiKubernetesProvider
    This type is defined in the pulumi package.
    subnetIds string[]
    vpcId string
    awsProvider pulumiAwsProvider
    This type is defined in the pulumi package.
    eksNodeAccess pulumiKubernetescorev1ConfigMap
    This type is defined in the Kubernetes package.
    encryptionConfig pulumiAwstypesinputeksClusterEncryptionConfig
    This type is defined in the AWS Classic package.
    fargateProfile pulumiAwseksFargateProfile
    This type is defined in the AWS Classic package.
    kubeconfig any
    nodeSecurityGroupTags {[key: string]: string}
    oidcProvider pulumiAwsiamOpenIdConnectProvider
    This type is defined in the AWS Classic package.
    privateSubnetIds string[]
    publicSubnetIds string[]
    storageClasses {[key: string]: pulumiKubernetesstoragev1StorageClass}
    tags {[key: string]: string}
    vpcCni VpcCni
    cluster pulumi_aws.eks.Cluster
    This type is defined in the AWS Classic package.
    cluster_iam_role pulumi_aws.iam.Role
    The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
    cluster_security_group pulumi_aws.ec2.SecurityGroup
    This type is defined in the AWS Classic package.
    endpoint str
    instance_roles Sequence[pulumi_aws.iam.Role]
    node_group_options ClusterNodeGroupOptions
    provider pulumi_kubernetes.Provider
    This type is defined in the pulumi package.
    subnet_ids Sequence[str]
    vpc_id str
    aws_provider pulumi_aws.Provider
    This type is defined in the pulumi package.
    eks_node_access pulumi_kubernetes.core.v1.ConfigMap
    This type is defined in the Kubernetes package.
    encryption_config pulumi_aws.eks.ClusterEncryptionConfigArgs
    This type is defined in the AWS Classic package.
    fargate_profile pulumi_aws.eks.FargateProfile
    This type is defined in the AWS Classic package.
    kubeconfig Any
    node_security_group_tags Mapping[str, str]
    oidc_provider pulumi_aws.iam.OpenIdConnectProvider
    This type is defined in the AWS Classic package.
    private_subnet_ids Sequence[str]
    public_subnet_ids Sequence[str]
    storage_classes Mapping[str, pulumi_kubernetes.storage.v1.StorageClass]
    tags Mapping[str, str]
    vpc_cni VpcCni
    cluster aws:eks:Cluster
    This type is defined in the AWS Classic package.
    clusterIamRole aws:iam:Role
    The IAM Role attached to the EKS Cluster This type is defined in the AWS Classic package.
    clusterSecurityGroup aws:ec2:SecurityGroup
    This type is defined in the AWS Classic package.
    endpoint String
    instanceRoles List<aws:iam:Role>
    nodeGroupOptions Property Map
    provider pulumi:providers:kubernetes
    This type is defined in the pulumi package.
    subnetIds List<String>
    vpcId String
    awsProvider pulumi:providers:aws
    This type is defined in the pulumi package.
    eksNodeAccess kubernetes:core/v1:ConfigMap
    This type is defined in the Kubernetes package.
    encryptionConfig Property Map
    This type is defined in the AWS Classic package.
    fargateProfile aws:eks:FargateProfile
    This type is defined in the AWS Classic package.
    kubeconfig Any
    nodeSecurityGroupTags Map<String>
    oidcProvider aws:iam:OpenIdConnectProvider
    This type is defined in the AWS Classic package.
    privateSubnetIds List<String>
    publicSubnetIds List<String>
    storageClasses Map<kubernetes:storage.k8s.io/v1:StorageClass>
    tags Map<String>
    vpcCni eks:VpcCni

    Taint, TaintArgs

    Effect string
    The effect of the taint.
    Value string
    The value of the taint.
    Effect string
    The effect of the taint.
    Value string
    The value of the taint.
    effect String
    The effect of the taint.
    value String
    The value of the taint.
    effect string
    The effect of the taint.
    value string
    The value of the taint.
    effect str
    The effect of the taint.
    value str
    The value of the taint.
    effect String
    The effect of the taint.
    value String
    The value of the taint.

    Package Details

    Repository
    Amazon EKS pulumi/pulumi-eks
    License
    Apache-2.0
    eks logo
    Amazon EKS v2.3.0 published on Friday, Mar 29, 2024 by Pulumi