1. Packages
  2. Volcengine
  3. API Docs
  4. vke
  5. NodePool
Volcengine v0.0.26 published on Friday, Sep 13, 2024 by Volcengine

volcengine.vke.NodePool

Explore with Pulumi AI

volcengine logo
Volcengine v0.0.26 published on Friday, Sep 13, 2024 by Volcengine

    Provides a resource to manage vke node pool

    Example Usage

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Volcengine = Pulumi.Volcengine;
    
    return await Deployment.RunAsync(() => 
    {
        var fooZones = Volcengine.Ecs.Zones.Invoke();
    
        var fooVpc = new Volcengine.Vpc.Vpc("fooVpc", new()
        {
            VpcName = "acc-test-vpc",
            CidrBlock = "172.16.0.0/16",
        });
    
        var fooSubnet = new Volcengine.Vpc.Subnet("fooSubnet", new()
        {
            SubnetName = "acc-test-subnet",
            CidrBlock = "172.16.0.0/24",
            ZoneId = fooZones.Apply(zonesResult => zonesResult.Zones[0]?.Id),
            VpcId = fooVpc.Id,
        });
    
        var fooSecurityGroup = new Volcengine.Vpc.SecurityGroup("fooSecurityGroup", new()
        {
            SecurityGroupName = "acc-test-security-group",
            VpcId = fooVpc.Id,
        });
    
        var fooImages = Volcengine.Ecs.Images.Invoke(new()
        {
            NameRegex = "veLinux 1.0 CentOS兼容版 64位",
        });
    
        var fooCluster = new Volcengine.Vke.Cluster("fooCluster", new()
        {
            Description = "created by terraform",
            DeleteProtectionEnabled = false,
            ClusterConfig = new Volcengine.Vke.Inputs.ClusterClusterConfigArgs
            {
                SubnetIds = new[]
                {
                    fooSubnet.Id,
                },
                ApiServerPublicAccessEnabled = true,
                ApiServerPublicAccessConfig = new Volcengine.Vke.Inputs.ClusterClusterConfigApiServerPublicAccessConfigArgs
                {
                    PublicAccessNetworkConfig = new Volcengine.Vke.Inputs.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs
                    {
                        BillingType = "PostPaidByBandwidth",
                        Bandwidth = 1,
                    },
                },
                ResourcePublicAccessDefaultEnabled = true,
            },
            PodsConfig = new Volcengine.Vke.Inputs.ClusterPodsConfigArgs
            {
                PodNetworkMode = "VpcCniShared",
                VpcCniConfig = new Volcengine.Vke.Inputs.ClusterPodsConfigVpcCniConfigArgs
                {
                    SubnetIds = new[]
                    {
                        fooSubnet.Id,
                    },
                },
            },
            ServicesConfig = new Volcengine.Vke.Inputs.ClusterServicesConfigArgs
            {
                ServiceCidrsv4s = new[]
                {
                    "172.30.0.0/18",
                },
            },
            Tags = new[]
            {
                new Volcengine.Vke.Inputs.ClusterTagArgs
                {
                    Key = "tf-k1",
                    Value = "tf-v1",
                },
            },
        });
    
        var fooNodePool = new Volcengine.Vke.NodePool("fooNodePool", new()
        {
            ClusterId = fooCluster.Id,
            AutoScaling = new Volcengine.Vke.Inputs.NodePoolAutoScalingArgs
            {
                Enabled = true,
                MinReplicas = 0,
                MaxReplicas = 5,
                DesiredReplicas = 0,
                Priority = 5,
                SubnetPolicy = "ZoneBalance",
            },
            NodeConfig = new Volcengine.Vke.Inputs.NodePoolNodeConfigArgs
            {
                InstanceTypeIds = new[]
                {
                    "ecs.g1ie.xlarge",
                },
                SubnetIds = new[]
                {
                    fooSubnet.Id,
                },
                ImageId = .Where(image => image.ImageName == "veLinux 1.0 CentOS兼容版 64位").Select(image => 
                {
                    return  image.ImageId;
                })[0],
                SystemVolume = new Volcengine.Vke.Inputs.NodePoolNodeConfigSystemVolumeArgs
                {
                    Type = "ESSD_PL0",
                    Size = 80,
                },
                DataVolumes = new[]
                {
                    new Volcengine.Vke.Inputs.NodePoolNodeConfigDataVolumeArgs
                    {
                        Type = "ESSD_PL0",
                        Size = 80,
                        MountPoint = "/tf1",
                    },
                    new Volcengine.Vke.Inputs.NodePoolNodeConfigDataVolumeArgs
                    {
                        Type = "ESSD_PL0",
                        Size = 60,
                        MountPoint = "/tf2",
                    },
                },
                InitializeScript = "ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
                Security = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityArgs
                {
                    Login = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityLoginArgs
                    {
                        Password = "UHdkMTIzNDU2",
                    },
                    SecurityStrategies = new[]
                    {
                        "Hids",
                    },
                    SecurityGroupIds = new[]
                    {
                        fooSecurityGroup.Id,
                    },
                },
                AdditionalContainerStorageEnabled = false,
                InstanceChargeType = "PostPaid",
                NamePrefix = "acc-test",
                EcsTags = new[]
                {
                    new Volcengine.Vke.Inputs.NodePoolNodeConfigEcsTagArgs
                    {
                        Key = "ecs_k1",
                        Value = "ecs_v1",
                    },
                },
            },
            KubernetesConfig = new Volcengine.Vke.Inputs.NodePoolKubernetesConfigArgs
            {
                Labels = new[]
                {
                    new Volcengine.Vke.Inputs.NodePoolKubernetesConfigLabelArgs
                    {
                        Key = "label1",
                        Value = "value1",
                    },
                },
                Taints = new[]
                {
                    new Volcengine.Vke.Inputs.NodePoolKubernetesConfigTaintArgs
                    {
                        Key = "taint-key/node-type",
                        Value = "taint-value",
                        Effect = "NoSchedule",
                    },
                },
                Cordon = true,
            },
            Tags = new[]
            {
                new Volcengine.Vke.Inputs.NodePoolTagArgs
                {
                    Key = "node-pool-k1",
                    Value = "node-pool-v1",
                },
            },
        });
    
        // add existing instances to a custom node pool
        var fooInstance = new List<Volcengine.Ecs.Instance>();
        for (var rangeIndex = 0; rangeIndex < 2; rangeIndex++)
        {
            var range = new { Value = rangeIndex };
            fooInstance.Add(new Volcengine.Ecs.Instance($"fooInstance-{range.Value}", new()
            {
                InstanceName = $"acc-test-ecs-{range.Value}",
                HostName = "tf-acc-test",
                ImageId = .Where(image => image.ImageName == "veLinux 1.0 CentOS兼容版 64位").Select(image => 
                {
                    return  image.ImageId;
                })[0],
                InstanceType = "ecs.g1ie.xlarge",
                Password = "93f0cb0614Aab12",
                InstanceChargeType = "PostPaid",
                SystemVolumeType = "ESSD_PL0",
                SystemVolumeSize = 50,
                DataVolumes = new[]
                {
                    new Volcengine.Ecs.Inputs.InstanceDataVolumeArgs
                    {
                        VolumeType = "ESSD_PL0",
                        Size = 50,
                        DeleteWithInstance = true,
                    },
                },
                SubnetId = fooSubnet.Id,
                SecurityGroupIds = new[]
                {
                    fooSecurityGroup.Id,
                },
                ProjectName = "default",
                Tags = new[]
                {
                    new Volcengine.Ecs.Inputs.InstanceTagArgs
                    {
                        Key = "k1",
                        Value = "v1",
                    },
                },
            }));
        }
        var foo1 = new Volcengine.Vke.NodePool("foo1", new()
        {
            ClusterId = fooCluster.Id,
            InstanceIds = fooInstance.Select(__item => __item.Id).ToList(),
            KeepInstanceName = true,
            NodeConfig = new Volcengine.Vke.Inputs.NodePoolNodeConfigArgs
            {
                InstanceTypeIds = new[]
                {
                    "ecs.g1ie.xlarge",
                },
                SubnetIds = new[]
                {
                    fooSubnet.Id,
                },
                ImageId = .Where(image => image.ImageName == "veLinux 1.0 CentOS兼容版 64位").Select(image => 
                {
                    return  image.ImageId;
                })[0],
                SystemVolume = new Volcengine.Vke.Inputs.NodePoolNodeConfigSystemVolumeArgs
                {
                    Type = "ESSD_PL0",
                    Size = 50,
                },
                DataVolumes = new[]
                {
                    new Volcengine.Vke.Inputs.NodePoolNodeConfigDataVolumeArgs
                    {
                        Type = "ESSD_PL0",
                        Size = 50,
                        MountPoint = "/tf1",
                    },
                },
                InitializeScript = "ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
                Security = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityArgs
                {
                    Login = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityLoginArgs
                    {
                        Password = "UHdkMTIzNDU2",
                    },
                    SecurityStrategies = new[]
                    {
                        "Hids",
                    },
                    SecurityGroupIds = new[]
                    {
                        fooSecurityGroup.Id,
                    },
                },
                AdditionalContainerStorageEnabled = false,
                InstanceChargeType = "PostPaid",
                NamePrefix = "acc-test",
                EcsTags = new[]
                {
                    new Volcengine.Vke.Inputs.NodePoolNodeConfigEcsTagArgs
                    {
                        Key = "ecs_k1",
                        Value = "ecs_v1",
                    },
                },
            },
            KubernetesConfig = new Volcengine.Vke.Inputs.NodePoolKubernetesConfigArgs
            {
                Labels = new[]
                {
                    new Volcengine.Vke.Inputs.NodePoolKubernetesConfigLabelArgs
                    {
                        Key = "label1",
                        Value = "value1",
                    },
                },
                Taints = new[]
                {
                    new Volcengine.Vke.Inputs.NodePoolKubernetesConfigTaintArgs
                    {
                        Key = "taint-key/node-type",
                        Value = "taint-value",
                        Effect = "NoSchedule",
                    },
                },
                Cordon = true,
            },
            Tags = new[]
            {
                new Volcengine.Vke.Inputs.NodePoolTagArgs
                {
                    Key = "node-pool-k1",
                    Value = "node-pool-v1",
                },
            },
        });
    
    });
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/ecs"
    	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/vke"
    	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/vpc"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		fooZones, err := ecs.Zones(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		fooVpc, err := vpc.NewVpc(ctx, "fooVpc", &vpc.VpcArgs{
    			VpcName:   pulumi.String("acc-test-vpc"),
    			CidrBlock: pulumi.String("172.16.0.0/16"),
    		})
    		if err != nil {
    			return err
    		}
    		fooSubnet, err := vpc.NewSubnet(ctx, "fooSubnet", &vpc.SubnetArgs{
    			SubnetName: pulumi.String("acc-test-subnet"),
    			CidrBlock:  pulumi.String("172.16.0.0/24"),
    			ZoneId:     *pulumi.String(fooZones.Zones[0].Id),
    			VpcId:      fooVpc.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		fooSecurityGroup, err := vpc.NewSecurityGroup(ctx, "fooSecurityGroup", &vpc.SecurityGroupArgs{
    			SecurityGroupName: pulumi.String("acc-test-security-group"),
    			VpcId:             fooVpc.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		fooImages, err := ecs.Images(ctx, &ecs.ImagesArgs{
    			NameRegex: pulumi.StringRef("veLinux 1.0 CentOS兼容版 64位"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		fooCluster, err := vke.NewCluster(ctx, "fooCluster", &vke.ClusterArgs{
    			Description:             pulumi.String("created by terraform"),
    			DeleteProtectionEnabled: pulumi.Bool(false),
    			ClusterConfig: &vke.ClusterClusterConfigArgs{
    				SubnetIds: pulumi.StringArray{
    					fooSubnet.ID(),
    				},
    				ApiServerPublicAccessEnabled: pulumi.Bool(true),
    				ApiServerPublicAccessConfig: &vke.ClusterClusterConfigApiServerPublicAccessConfigArgs{
    					PublicAccessNetworkConfig: &vke.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs{
    						BillingType: pulumi.String("PostPaidByBandwidth"),
    						Bandwidth:   pulumi.Int(1),
    					},
    				},
    				ResourcePublicAccessDefaultEnabled: pulumi.Bool(true),
    			},
    			PodsConfig: &vke.ClusterPodsConfigArgs{
    				PodNetworkMode: pulumi.String("VpcCniShared"),
    				VpcCniConfig: &vke.ClusterPodsConfigVpcCniConfigArgs{
    					SubnetIds: pulumi.StringArray{
    						fooSubnet.ID(),
    					},
    				},
    			},
    			ServicesConfig: &vke.ClusterServicesConfigArgs{
    				ServiceCidrsv4s: pulumi.StringArray{
    					pulumi.String("172.30.0.0/18"),
    				},
    			},
    			Tags: vke.ClusterTagArray{
    				&vke.ClusterTagArgs{
    					Key:   pulumi.String("tf-k1"),
    					Value: pulumi.String("tf-v1"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vke.NewNodePool(ctx, "fooNodePool", &vke.NodePoolArgs{
    			ClusterId: fooCluster.ID(),
    			AutoScaling: &vke.NodePoolAutoScalingArgs{
    				Enabled:         pulumi.Bool(true),
    				MinReplicas:     pulumi.Int(0),
    				MaxReplicas:     pulumi.Int(5),
    				DesiredReplicas: pulumi.Int(0),
    				Priority:        pulumi.Int(5),
    				SubnetPolicy:    pulumi.String("ZoneBalance"),
    			},
    			NodeConfig: &vke.NodePoolNodeConfigArgs{
    				InstanceTypeIds: pulumi.StringArray{
    					pulumi.String("ecs.g1ie.xlarge"),
    				},
    				SubnetIds: pulumi.StringArray{
    					fooSubnet.ID(),
    				},
    				ImageId: "TODO: For expression"[0],
    				SystemVolume: &vke.NodePoolNodeConfigSystemVolumeArgs{
    					Type: pulumi.String("ESSD_PL0"),
    					Size: pulumi.Int(80),
    				},
    				DataVolumes: vke.NodePoolNodeConfigDataVolumeArray{
    					&vke.NodePoolNodeConfigDataVolumeArgs{
    						Type:       pulumi.String("ESSD_PL0"),
    						Size:       pulumi.Int(80),
    						MountPoint: pulumi.String("/tf1"),
    					},
    					&vke.NodePoolNodeConfigDataVolumeArgs{
    						Type:       pulumi.String("ESSD_PL0"),
    						Size:       pulumi.Int(60),
    						MountPoint: pulumi.String("/tf2"),
    					},
    				},
    				InitializeScript: pulumi.String("ZWNobyBoZWxsbyB0ZXJyYWZvcm0h"),
    				Security: &vke.NodePoolNodeConfigSecurityArgs{
    					Login: &vke.NodePoolNodeConfigSecurityLoginArgs{
    						Password: pulumi.String("UHdkMTIzNDU2"),
    					},
    					SecurityStrategies: pulumi.StringArray{
    						pulumi.String("Hids"),
    					},
    					SecurityGroupIds: pulumi.StringArray{
    						fooSecurityGroup.ID(),
    					},
    				},
    				AdditionalContainerStorageEnabled: pulumi.Bool(false),
    				InstanceChargeType:                pulumi.String("PostPaid"),
    				NamePrefix:                        pulumi.String("acc-test"),
    				EcsTags: vke.NodePoolNodeConfigEcsTagArray{
    					&vke.NodePoolNodeConfigEcsTagArgs{
    						Key:   pulumi.String("ecs_k1"),
    						Value: pulumi.String("ecs_v1"),
    					},
    				},
    			},
    			KubernetesConfig: &vke.NodePoolKubernetesConfigArgs{
    				Labels: vke.NodePoolKubernetesConfigLabelArray{
    					&vke.NodePoolKubernetesConfigLabelArgs{
    						Key:   pulumi.String("label1"),
    						Value: pulumi.String("value1"),
    					},
    				},
    				Taints: vke.NodePoolKubernetesConfigTaintArray{
    					&vke.NodePoolKubernetesConfigTaintArgs{
    						Key:    pulumi.String("taint-key/node-type"),
    						Value:  pulumi.String("taint-value"),
    						Effect: pulumi.String("NoSchedule"),
    					},
    				},
    				Cordon: pulumi.Bool(true),
    			},
    			Tags: vke.NodePoolTagArray{
    				&vke.NodePoolTagArgs{
    					Key:   pulumi.String("node-pool-k1"),
    					Value: pulumi.String("node-pool-v1"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		var fooInstance []*ecs.Instance
    		for index := 0; index < 2; index++ {
    			key0 := index
    			val0 := index
    			__res, err := ecs.NewInstance(ctx, fmt.Sprintf("fooInstance-%v", key0), &ecs.InstanceArgs{
    				InstanceName:       pulumi.String(fmt.Sprintf("acc-test-ecs-%v", val0)),
    				HostName:           pulumi.String("tf-acc-test"),
    				ImageId:            "TODO: For expression"[0],
    				InstanceType:       pulumi.String("ecs.g1ie.xlarge"),
    				Password:           pulumi.String("93f0cb0614Aab12"),
    				InstanceChargeType: pulumi.String("PostPaid"),
    				SystemVolumeType:   pulumi.String("ESSD_PL0"),
    				SystemVolumeSize:   pulumi.Int(50),
    				DataVolumes: ecs.InstanceDataVolumeArray{
    					&ecs.InstanceDataVolumeArgs{
    						VolumeType:         pulumi.String("ESSD_PL0"),
    						Size:               pulumi.Int(50),
    						DeleteWithInstance: pulumi.Bool(true),
    					},
    				},
    				SubnetId: fooSubnet.ID(),
    				SecurityGroupIds: pulumi.StringArray{
    					fooSecurityGroup.ID(),
    				},
    				ProjectName: pulumi.String("default"),
    				Tags: ecs.InstanceTagArray{
    					&ecs.InstanceTagArgs{
    						Key:   pulumi.String("k1"),
    						Value: pulumi.String("v1"),
    					},
    				},
    			})
    			if err != nil {
    				return err
    			}
    			fooInstance = append(fooInstance, __res)
    		}
    		var splat0 pulumi.StringArray
    		for _, val0 := range fooInstance {
    			splat0 = append(splat0, val0.ID())
    		}
    		_, err = vke.NewNodePool(ctx, "foo1", &vke.NodePoolArgs{
    			ClusterId:        fooCluster.ID(),
    			InstanceIds:      splat0,
    			KeepInstanceName: pulumi.Bool(true),
    			NodeConfig: &vke.NodePoolNodeConfigArgs{
    				InstanceTypeIds: pulumi.StringArray{
    					pulumi.String("ecs.g1ie.xlarge"),
    				},
    				SubnetIds: pulumi.StringArray{
    					fooSubnet.ID(),
    				},
    				ImageId: "TODO: For expression"[0],
    				SystemVolume: &vke.NodePoolNodeConfigSystemVolumeArgs{
    					Type: pulumi.String("ESSD_PL0"),
    					Size: pulumi.Int(50),
    				},
    				DataVolumes: vke.NodePoolNodeConfigDataVolumeArray{
    					&vke.NodePoolNodeConfigDataVolumeArgs{
    						Type:       pulumi.String("ESSD_PL0"),
    						Size:       pulumi.Int(50),
    						MountPoint: pulumi.String("/tf1"),
    					},
    				},
    				InitializeScript: pulumi.String("ZWNobyBoZWxsbyB0ZXJyYWZvcm0h"),
    				Security: &vke.NodePoolNodeConfigSecurityArgs{
    					Login: &vke.NodePoolNodeConfigSecurityLoginArgs{
    						Password: pulumi.String("UHdkMTIzNDU2"),
    					},
    					SecurityStrategies: pulumi.StringArray{
    						pulumi.String("Hids"),
    					},
    					SecurityGroupIds: pulumi.StringArray{
    						fooSecurityGroup.ID(),
    					},
    				},
    				AdditionalContainerStorageEnabled: pulumi.Bool(false),
    				InstanceChargeType:                pulumi.String("PostPaid"),
    				NamePrefix:                        pulumi.String("acc-test"),
    				EcsTags: vke.NodePoolNodeConfigEcsTagArray{
    					&vke.NodePoolNodeConfigEcsTagArgs{
    						Key:   pulumi.String("ecs_k1"),
    						Value: pulumi.String("ecs_v1"),
    					},
    				},
    			},
    			KubernetesConfig: &vke.NodePoolKubernetesConfigArgs{
    				Labels: vke.NodePoolKubernetesConfigLabelArray{
    					&vke.NodePoolKubernetesConfigLabelArgs{
    						Key:   pulumi.String("label1"),
    						Value: pulumi.String("value1"),
    					},
    				},
    				Taints: vke.NodePoolKubernetesConfigTaintArray{
    					&vke.NodePoolKubernetesConfigTaintArgs{
    						Key:    pulumi.String("taint-key/node-type"),
    						Value:  pulumi.String("taint-value"),
    						Effect: pulumi.String("NoSchedule"),
    					},
    				},
    				Cordon: pulumi.Bool(true),
    			},
    			Tags: vke.NodePoolTagArray{
    				&vke.NodePoolTagArgs{
    					Key:   pulumi.String("node-pool-k1"),
    					Value: pulumi.String("node-pool-v1"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    

    Coming soon!

    import pulumi
    import pulumi_volcengine as volcengine
    
    foo_zones = volcengine.ecs.zones()
    foo_vpc = volcengine.vpc.Vpc("fooVpc",
        vpc_name="acc-test-vpc",
        cidr_block="172.16.0.0/16")
    foo_subnet = volcengine.vpc.Subnet("fooSubnet",
        subnet_name="acc-test-subnet",
        cidr_block="172.16.0.0/24",
        zone_id=foo_zones.zones[0].id,
        vpc_id=foo_vpc.id)
    foo_security_group = volcengine.vpc.SecurityGroup("fooSecurityGroup",
        security_group_name="acc-test-security-group",
        vpc_id=foo_vpc.id)
    foo_images = volcengine.ecs.images(name_regex="veLinux 1.0 CentOS兼容版 64位")
    foo_cluster = volcengine.vke.Cluster("fooCluster",
        description="created by terraform",
        delete_protection_enabled=False,
        cluster_config=volcengine.vke.ClusterClusterConfigArgs(
            subnet_ids=[foo_subnet.id],
            api_server_public_access_enabled=True,
            api_server_public_access_config=volcengine.vke.ClusterClusterConfigApiServerPublicAccessConfigArgs(
                public_access_network_config=volcengine.vke.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs(
                    billing_type="PostPaidByBandwidth",
                    bandwidth=1,
                ),
            ),
            resource_public_access_default_enabled=True,
        ),
        pods_config=volcengine.vke.ClusterPodsConfigArgs(
            pod_network_mode="VpcCniShared",
            vpc_cni_config=volcengine.vke.ClusterPodsConfigVpcCniConfigArgs(
                subnet_ids=[foo_subnet.id],
            ),
        ),
        services_config=volcengine.vke.ClusterServicesConfigArgs(
            service_cidrsv4s=["172.30.0.0/18"],
        ),
        tags=[volcengine.vke.ClusterTagArgs(
            key="tf-k1",
            value="tf-v1",
        )])
    foo_node_pool = volcengine.vke.NodePool("fooNodePool",
        cluster_id=foo_cluster.id,
        auto_scaling=volcengine.vke.NodePoolAutoScalingArgs(
            enabled=True,
            min_replicas=0,
            max_replicas=5,
            desired_replicas=0,
            priority=5,
            subnet_policy="ZoneBalance",
        ),
        node_config=volcengine.vke.NodePoolNodeConfigArgs(
            instance_type_ids=["ecs.g1ie.xlarge"],
            subnet_ids=[foo_subnet.id],
            image_id=[image.image_id for image in foo_images.images if image.image_name == "veLinux 1.0 CentOS兼容版 64位"][0],
            system_volume=volcengine.vke.NodePoolNodeConfigSystemVolumeArgs(
                type="ESSD_PL0",
                size=80,
            ),
            data_volumes=[
                volcengine.vke.NodePoolNodeConfigDataVolumeArgs(
                    type="ESSD_PL0",
                    size=80,
                    mount_point="/tf1",
                ),
                volcengine.vke.NodePoolNodeConfigDataVolumeArgs(
                    type="ESSD_PL0",
                    size=60,
                    mount_point="/tf2",
                ),
            ],
            initialize_script="ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
            security=volcengine.vke.NodePoolNodeConfigSecurityArgs(
                login=volcengine.vke.NodePoolNodeConfigSecurityLoginArgs(
                    password="UHdkMTIzNDU2",
                ),
                security_strategies=["Hids"],
                security_group_ids=[foo_security_group.id],
            ),
            additional_container_storage_enabled=False,
            instance_charge_type="PostPaid",
            name_prefix="acc-test",
            ecs_tags=[volcengine.vke.NodePoolNodeConfigEcsTagArgs(
                key="ecs_k1",
                value="ecs_v1",
            )],
        ),
        kubernetes_config=volcengine.vke.NodePoolKubernetesConfigArgs(
            labels=[volcengine.vke.NodePoolKubernetesConfigLabelArgs(
                key="label1",
                value="value1",
            )],
            taints=[volcengine.vke.NodePoolKubernetesConfigTaintArgs(
                key="taint-key/node-type",
                value="taint-value",
                effect="NoSchedule",
            )],
            cordon=True,
        ),
        tags=[volcengine.vke.NodePoolTagArgs(
            key="node-pool-k1",
            value="node-pool-v1",
        )])
    # add existing instances to a custom node pool
    foo_instance = []
    for range in [{"value": i} for i in range(0, 2)]:
        foo_instance.append(volcengine.ecs.Instance(f"fooInstance-{range['value']}",
            instance_name=f"acc-test-ecs-{range['value']}",
            host_name="tf-acc-test",
            image_id=[image.image_id for image in foo_images.images if image.image_name == "veLinux 1.0 CentOS兼容版 64位"][0],
            instance_type="ecs.g1ie.xlarge",
            password="93f0cb0614Aab12",
            instance_charge_type="PostPaid",
            system_volume_type="ESSD_PL0",
            system_volume_size=50,
            data_volumes=[volcengine.ecs.InstanceDataVolumeArgs(
                volume_type="ESSD_PL0",
                size=50,
                delete_with_instance=True,
            )],
            subnet_id=foo_subnet.id,
            security_group_ids=[foo_security_group.id],
            project_name="default",
            tags=[volcengine.ecs.InstanceTagArgs(
                key="k1",
                value="v1",
            )]))
    foo1 = volcengine.vke.NodePool("foo1",
        cluster_id=foo_cluster.id,
        instance_ids=[__item.id for __item in foo_instance],
        keep_instance_name=True,
        node_config=volcengine.vke.NodePoolNodeConfigArgs(
            instance_type_ids=["ecs.g1ie.xlarge"],
            subnet_ids=[foo_subnet.id],
            image_id=[image.image_id for image in foo_images.images if image.image_name == "veLinux 1.0 CentOS兼容版 64位"][0],
            system_volume=volcengine.vke.NodePoolNodeConfigSystemVolumeArgs(
                type="ESSD_PL0",
                size=50,
            ),
            data_volumes=[volcengine.vke.NodePoolNodeConfigDataVolumeArgs(
                type="ESSD_PL0",
                size=50,
                mount_point="/tf1",
            )],
            initialize_script="ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
            security=volcengine.vke.NodePoolNodeConfigSecurityArgs(
                login=volcengine.vke.NodePoolNodeConfigSecurityLoginArgs(
                    password="UHdkMTIzNDU2",
                ),
                security_strategies=["Hids"],
                security_group_ids=[foo_security_group.id],
            ),
            additional_container_storage_enabled=False,
            instance_charge_type="PostPaid",
            name_prefix="acc-test",
            ecs_tags=[volcengine.vke.NodePoolNodeConfigEcsTagArgs(
                key="ecs_k1",
                value="ecs_v1",
            )],
        ),
        kubernetes_config=volcengine.vke.NodePoolKubernetesConfigArgs(
            labels=[volcengine.vke.NodePoolKubernetesConfigLabelArgs(
                key="label1",
                value="value1",
            )],
            taints=[volcengine.vke.NodePoolKubernetesConfigTaintArgs(
                key="taint-key/node-type",
                value="taint-value",
                effect="NoSchedule",
            )],
            cordon=True,
        ),
        tags=[volcengine.vke.NodePoolTagArgs(
            key="node-pool-k1",
            value="node-pool-v1",
        )])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as volcengine from "@pulumi/volcengine";
    import * as volcengine from "@volcengine/pulumi";
    
    const fooZones = volcengine.ecs.Zones({});
    const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
        vpcName: "acc-test-vpc",
        cidrBlock: "172.16.0.0/16",
    });
    const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
        subnetName: "acc-test-subnet",
        cidrBlock: "172.16.0.0/24",
        zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
        vpcId: fooVpc.id,
    });
    const fooSecurityGroup = new volcengine.vpc.SecurityGroup("fooSecurityGroup", {
        securityGroupName: "acc-test-security-group",
        vpcId: fooVpc.id,
    });
    const fooImages = volcengine.ecs.Images({
        nameRegex: "veLinux 1.0 CentOS兼容版 64位",
    });
    const fooCluster = new volcengine.vke.Cluster("fooCluster", {
        description: "created by terraform",
        deleteProtectionEnabled: false,
        clusterConfig: {
            subnetIds: [fooSubnet.id],
            apiServerPublicAccessEnabled: true,
            apiServerPublicAccessConfig: {
                publicAccessNetworkConfig: {
                    billingType: "PostPaidByBandwidth",
                    bandwidth: 1,
                },
            },
            resourcePublicAccessDefaultEnabled: true,
        },
        podsConfig: {
            podNetworkMode: "VpcCniShared",
            vpcCniConfig: {
                subnetIds: [fooSubnet.id],
            },
        },
        servicesConfig: {
            serviceCidrsv4s: ["172.30.0.0/18"],
        },
        tags: [{
            key: "tf-k1",
            value: "tf-v1",
        }],
    });
    const fooNodePool = new volcengine.vke.NodePool("fooNodePool", {
        clusterId: fooCluster.id,
        autoScaling: {
            enabled: true,
            minReplicas: 0,
            maxReplicas: 5,
            desiredReplicas: 0,
            priority: 5,
            subnetPolicy: "ZoneBalance",
        },
        nodeConfig: {
            instanceTypeIds: ["ecs.g1ie.xlarge"],
            subnetIds: [fooSubnet.id],
            imageId: fooImages.then(fooImages => .filter(image => image.imageName == "veLinux 1.0 CentOS兼容版 64位").map(image => (image.imageId))[0]),
            systemVolume: {
                type: "ESSD_PL0",
                size: 80,
            },
            dataVolumes: [
                {
                    type: "ESSD_PL0",
                    size: 80,
                    mountPoint: "/tf1",
                },
                {
                    type: "ESSD_PL0",
                    size: 60,
                    mountPoint: "/tf2",
                },
            ],
            initializeScript: "ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
            security: {
                login: {
                    password: "UHdkMTIzNDU2",
                },
                securityStrategies: ["Hids"],
                securityGroupIds: [fooSecurityGroup.id],
            },
            additionalContainerStorageEnabled: false,
            instanceChargeType: "PostPaid",
            namePrefix: "acc-test",
            ecsTags: [{
                key: "ecs_k1",
                value: "ecs_v1",
            }],
        },
        kubernetesConfig: {
            labels: [{
                key: "label1",
                value: "value1",
            }],
            taints: [{
                key: "taint-key/node-type",
                value: "taint-value",
                effect: "NoSchedule",
            }],
            cordon: true,
        },
        tags: [{
            key: "node-pool-k1",
            value: "node-pool-v1",
        }],
    });
    // add existing instances to a custom node pool
    const fooInstance: volcengine.ecs.Instance[] = [];
    for (const range = {value: 0}; range.value < 2; range.value++) {
        fooInstance.push(new volcengine.ecs.Instance(`fooInstance-${range.value}`, {
            instanceName: `acc-test-ecs-${range.value}`,
            hostName: "tf-acc-test",
            imageId: fooImages.then(fooImages => .filter(image => image.imageName == "veLinux 1.0 CentOS兼容版 64位").map(image => (image.imageId))[0]),
            instanceType: "ecs.g1ie.xlarge",
            password: "93f0cb0614Aab12",
            instanceChargeType: "PostPaid",
            systemVolumeType: "ESSD_PL0",
            systemVolumeSize: 50,
            dataVolumes: [{
                volumeType: "ESSD_PL0",
                size: 50,
                deleteWithInstance: true,
            }],
            subnetId: fooSubnet.id,
            securityGroupIds: [fooSecurityGroup.id],
            projectName: "default",
            tags: [{
                key: "k1",
                value: "v1",
            }],
        }));
    }
    const foo1 = new volcengine.vke.NodePool("foo1", {
        clusterId: fooCluster.id,
        instanceIds: fooInstance.map(__item => __item.id),
        keepInstanceName: true,
        nodeConfig: {
            instanceTypeIds: ["ecs.g1ie.xlarge"],
            subnetIds: [fooSubnet.id],
            imageId: fooImages.then(fooImages => .filter(image => image.imageName == "veLinux 1.0 CentOS兼容版 64位").map(image => (image.imageId))[0]),
            systemVolume: {
                type: "ESSD_PL0",
                size: 50,
            },
            dataVolumes: [{
                type: "ESSD_PL0",
                size: 50,
                mountPoint: "/tf1",
            }],
            initializeScript: "ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
            security: {
                login: {
                    password: "UHdkMTIzNDU2",
                },
                securityStrategies: ["Hids"],
                securityGroupIds: [fooSecurityGroup.id],
            },
            additionalContainerStorageEnabled: false,
            instanceChargeType: "PostPaid",
            namePrefix: "acc-test",
            ecsTags: [{
                key: "ecs_k1",
                value: "ecs_v1",
            }],
        },
        kubernetesConfig: {
            labels: [{
                key: "label1",
                value: "value1",
            }],
            taints: [{
                key: "taint-key/node-type",
                value: "taint-value",
                effect: "NoSchedule",
            }],
            cordon: true,
        },
        tags: [{
            key: "node-pool-k1",
            value: "node-pool-v1",
        }],
    });
    

    Coming soon!

    Create NodePool Resource

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

    Constructor syntax

    new NodePool(name: string, args: NodePoolArgs, opts?: CustomResourceOptions);
    @overload
    def NodePool(resource_name: str,
                 args: NodePoolArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def NodePool(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 kubernetes_config: Optional[NodePoolKubernetesConfigArgs] = None,
                 node_config: Optional[NodePoolNodeConfigArgs] = None,
                 auto_scaling: Optional[NodePoolAutoScalingArgs] = None,
                 client_token: Optional[str] = None,
                 cluster_id: Optional[str] = None,
                 instance_ids: Optional[Sequence[str]] = None,
                 keep_instance_name: Optional[bool] = None,
                 name: Optional[str] = None,
                 tags: Optional[Sequence[NodePoolTagArgs]] = None)
    func NewNodePool(ctx *Context, name string, args NodePoolArgs, opts ...ResourceOption) (*NodePool, error)
    public NodePool(string name, NodePoolArgs args, CustomResourceOptions? opts = null)
    public NodePool(String name, NodePoolArgs args)
    public NodePool(String name, NodePoolArgs args, CustomResourceOptions options)
    
    type: volcengine:vke:NodePool
    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 NodePoolArgs
    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 NodePoolArgs
    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 NodePoolArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NodePoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NodePoolArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var nodePoolResource = new Volcengine.Vke.NodePool("nodePoolResource", new()
    {
        KubernetesConfig = new Volcengine.Vke.Inputs.NodePoolKubernetesConfigArgs
        {
            Cordon = false,
            Labels = new[]
            {
                new Volcengine.Vke.Inputs.NodePoolKubernetesConfigLabelArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            NamePrefix = "string",
            Taints = new[]
            {
                new Volcengine.Vke.Inputs.NodePoolKubernetesConfigTaintArgs
                {
                    Effect = "string",
                    Key = "string",
                    Value = "string",
                },
            },
        },
        NodeConfig = new Volcengine.Vke.Inputs.NodePoolNodeConfigArgs
        {
            InstanceTypeIds = new[]
            {
                "string",
            },
            SubnetIds = new[]
            {
                "string",
            },
            Security = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityArgs
            {
                Login = new Volcengine.Vke.Inputs.NodePoolNodeConfigSecurityLoginArgs
                {
                    Password = "string",
                    SshKeyPairName = "string",
                },
                SecurityGroupIds = new[]
                {
                    "string",
                },
                SecurityStrategies = new[]
                {
                    "string",
                },
            },
            DataVolumes = new[]
            {
                new Volcengine.Vke.Inputs.NodePoolNodeConfigDataVolumeArgs
                {
                    MountPoint = "string",
                    Size = 0,
                    Type = "string",
                },
            },
            EcsTags = new[]
            {
                new Volcengine.Vke.Inputs.NodePoolNodeConfigEcsTagArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            HpcClusterIds = new[]
            {
                "string",
            },
            ImageId = "string",
            InitializeScript = "string",
            InstanceChargeType = "string",
            AdditionalContainerStorageEnabled = false,
            NamePrefix = "string",
            Period = 0,
            AutoRenewPeriod = 0,
            AutoRenew = false,
            SystemVolume = new Volcengine.Vke.Inputs.NodePoolNodeConfigSystemVolumeArgs
            {
                Size = 0,
                Type = "string",
            },
        },
        AutoScaling = new Volcengine.Vke.Inputs.NodePoolAutoScalingArgs
        {
            DesiredReplicas = 0,
            Enabled = false,
            MaxReplicas = 0,
            MinReplicas = 0,
            Priority = 0,
            SubnetPolicy = "string",
        },
        ClientToken = "string",
        ClusterId = "string",
        InstanceIds = new[]
        {
            "string",
        },
        KeepInstanceName = false,
        Name = "string",
        Tags = new[]
        {
            new Volcengine.Vke.Inputs.NodePoolTagArgs
            {
                Key = "string",
                Value = "string",
            },
        },
    });
    
    example, err := vke.NewNodePool(ctx, "nodePoolResource", &vke.NodePoolArgs{
    	KubernetesConfig: &vke.NodePoolKubernetesConfigArgs{
    		Cordon: pulumi.Bool(false),
    		Labels: vke.NodePoolKubernetesConfigLabelArray{
    			&vke.NodePoolKubernetesConfigLabelArgs{
    				Key:   pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		NamePrefix: pulumi.String("string"),
    		Taints: vke.NodePoolKubernetesConfigTaintArray{
    			&vke.NodePoolKubernetesConfigTaintArgs{
    				Effect: pulumi.String("string"),
    				Key:    pulumi.String("string"),
    				Value:  pulumi.String("string"),
    			},
    		},
    	},
    	NodeConfig: &vke.NodePoolNodeConfigArgs{
    		InstanceTypeIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		SubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Security: &vke.NodePoolNodeConfigSecurityArgs{
    			Login: &vke.NodePoolNodeConfigSecurityLoginArgs{
    				Password:       pulumi.String("string"),
    				SshKeyPairName: pulumi.String("string"),
    			},
    			SecurityGroupIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			SecurityStrategies: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		DataVolumes: vke.NodePoolNodeConfigDataVolumeArray{
    			&vke.NodePoolNodeConfigDataVolumeArgs{
    				MountPoint: pulumi.String("string"),
    				Size:       pulumi.Int(0),
    				Type:       pulumi.String("string"),
    			},
    		},
    		EcsTags: vke.NodePoolNodeConfigEcsTagArray{
    			&vke.NodePoolNodeConfigEcsTagArgs{
    				Key:   pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		HpcClusterIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ImageId:                           pulumi.String("string"),
    		InitializeScript:                  pulumi.String("string"),
    		InstanceChargeType:                pulumi.String("string"),
    		AdditionalContainerStorageEnabled: pulumi.Bool(false),
    		NamePrefix:                        pulumi.String("string"),
    		Period:                            pulumi.Int(0),
    		AutoRenewPeriod:                   pulumi.Int(0),
    		AutoRenew:                         pulumi.Bool(false),
    		SystemVolume: &vke.NodePoolNodeConfigSystemVolumeArgs{
    			Size: pulumi.Int(0),
    			Type: pulumi.String("string"),
    		},
    	},
    	AutoScaling: &vke.NodePoolAutoScalingArgs{
    		DesiredReplicas: pulumi.Int(0),
    		Enabled:         pulumi.Bool(false),
    		MaxReplicas:     pulumi.Int(0),
    		MinReplicas:     pulumi.Int(0),
    		Priority:        pulumi.Int(0),
    		SubnetPolicy:    pulumi.String("string"),
    	},
    	ClientToken: pulumi.String("string"),
    	ClusterId:   pulumi.String("string"),
    	InstanceIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	KeepInstanceName: pulumi.Bool(false),
    	Name:             pulumi.String("string"),
    	Tags: vke.NodePoolTagArray{
    		&vke.NodePoolTagArgs{
    			Key:   pulumi.String("string"),
    			Value: pulumi.String("string"),
    		},
    	},
    })
    
    var nodePoolResource = new NodePool("nodePoolResource", NodePoolArgs.builder()
        .kubernetesConfig(NodePoolKubernetesConfigArgs.builder()
            .cordon(false)
            .labels(NodePoolKubernetesConfigLabelArgs.builder()
                .key("string")
                .value("string")
                .build())
            .namePrefix("string")
            .taints(NodePoolKubernetesConfigTaintArgs.builder()
                .effect("string")
                .key("string")
                .value("string")
                .build())
            .build())
        .nodeConfig(NodePoolNodeConfigArgs.builder()
            .instanceTypeIds("string")
            .subnetIds("string")
            .security(NodePoolNodeConfigSecurityArgs.builder()
                .login(NodePoolNodeConfigSecurityLoginArgs.builder()
                    .password("string")
                    .sshKeyPairName("string")
                    .build())
                .securityGroupIds("string")
                .securityStrategies("string")
                .build())
            .dataVolumes(NodePoolNodeConfigDataVolumeArgs.builder()
                .mountPoint("string")
                .size(0)
                .type("string")
                .build())
            .ecsTags(NodePoolNodeConfigEcsTagArgs.builder()
                .key("string")
                .value("string")
                .build())
            .hpcClusterIds("string")
            .imageId("string")
            .initializeScript("string")
            .instanceChargeType("string")
            .additionalContainerStorageEnabled(false)
            .namePrefix("string")
            .period(0)
            .autoRenewPeriod(0)
            .autoRenew(false)
            .systemVolume(NodePoolNodeConfigSystemVolumeArgs.builder()
                .size(0)
                .type("string")
                .build())
            .build())
        .autoScaling(NodePoolAutoScalingArgs.builder()
            .desiredReplicas(0)
            .enabled(false)
            .maxReplicas(0)
            .minReplicas(0)
            .priority(0)
            .subnetPolicy("string")
            .build())
        .clientToken("string")
        .clusterId("string")
        .instanceIds("string")
        .keepInstanceName(false)
        .name("string")
        .tags(NodePoolTagArgs.builder()
            .key("string")
            .value("string")
            .build())
        .build());
    
    node_pool_resource = volcengine.vke.NodePool("nodePoolResource",
        kubernetes_config=volcengine.vke.NodePoolKubernetesConfigArgs(
            cordon=False,
            labels=[volcengine.vke.NodePoolKubernetesConfigLabelArgs(
                key="string",
                value="string",
            )],
            name_prefix="string",
            taints=[volcengine.vke.NodePoolKubernetesConfigTaintArgs(
                effect="string",
                key="string",
                value="string",
            )],
        ),
        node_config=volcengine.vke.NodePoolNodeConfigArgs(
            instance_type_ids=["string"],
            subnet_ids=["string"],
            security=volcengine.vke.NodePoolNodeConfigSecurityArgs(
                login=volcengine.vke.NodePoolNodeConfigSecurityLoginArgs(
                    password="string",
                    ssh_key_pair_name="string",
                ),
                security_group_ids=["string"],
                security_strategies=["string"],
            ),
            data_volumes=[volcengine.vke.NodePoolNodeConfigDataVolumeArgs(
                mount_point="string",
                size=0,
                type="string",
            )],
            ecs_tags=[volcengine.vke.NodePoolNodeConfigEcsTagArgs(
                key="string",
                value="string",
            )],
            hpc_cluster_ids=["string"],
            image_id="string",
            initialize_script="string",
            instance_charge_type="string",
            additional_container_storage_enabled=False,
            name_prefix="string",
            period=0,
            auto_renew_period=0,
            auto_renew=False,
            system_volume=volcengine.vke.NodePoolNodeConfigSystemVolumeArgs(
                size=0,
                type="string",
            ),
        ),
        auto_scaling=volcengine.vke.NodePoolAutoScalingArgs(
            desired_replicas=0,
            enabled=False,
            max_replicas=0,
            min_replicas=0,
            priority=0,
            subnet_policy="string",
        ),
        client_token="string",
        cluster_id="string",
        instance_ids=["string"],
        keep_instance_name=False,
        name="string",
        tags=[volcengine.vke.NodePoolTagArgs(
            key="string",
            value="string",
        )])
    
    const nodePoolResource = new volcengine.vke.NodePool("nodePoolResource", {
        kubernetesConfig: {
            cordon: false,
            labels: [{
                key: "string",
                value: "string",
            }],
            namePrefix: "string",
            taints: [{
                effect: "string",
                key: "string",
                value: "string",
            }],
        },
        nodeConfig: {
            instanceTypeIds: ["string"],
            subnetIds: ["string"],
            security: {
                login: {
                    password: "string",
                    sshKeyPairName: "string",
                },
                securityGroupIds: ["string"],
                securityStrategies: ["string"],
            },
            dataVolumes: [{
                mountPoint: "string",
                size: 0,
                type: "string",
            }],
            ecsTags: [{
                key: "string",
                value: "string",
            }],
            hpcClusterIds: ["string"],
            imageId: "string",
            initializeScript: "string",
            instanceChargeType: "string",
            additionalContainerStorageEnabled: false,
            namePrefix: "string",
            period: 0,
            autoRenewPeriod: 0,
            autoRenew: false,
            systemVolume: {
                size: 0,
                type: "string",
            },
        },
        autoScaling: {
            desiredReplicas: 0,
            enabled: false,
            maxReplicas: 0,
            minReplicas: 0,
            priority: 0,
            subnetPolicy: "string",
        },
        clientToken: "string",
        clusterId: "string",
        instanceIds: ["string"],
        keepInstanceName: false,
        name: "string",
        tags: [{
            key: "string",
            value: "string",
        }],
    });
    
    type: volcengine:vke:NodePool
    properties:
        autoScaling:
            desiredReplicas: 0
            enabled: false
            maxReplicas: 0
            minReplicas: 0
            priority: 0
            subnetPolicy: string
        clientToken: string
        clusterId: string
        instanceIds:
            - string
        keepInstanceName: false
        kubernetesConfig:
            cordon: false
            labels:
                - key: string
                  value: string
            namePrefix: string
            taints:
                - effect: string
                  key: string
                  value: string
        name: string
        nodeConfig:
            additionalContainerStorageEnabled: false
            autoRenew: false
            autoRenewPeriod: 0
            dataVolumes:
                - mountPoint: string
                  size: 0
                  type: string
            ecsTags:
                - key: string
                  value: string
            hpcClusterIds:
                - string
            imageId: string
            initializeScript: string
            instanceChargeType: string
            instanceTypeIds:
                - string
            namePrefix: string
            period: 0
            security:
                login:
                    password: string
                    sshKeyPairName: string
                securityGroupIds:
                    - string
                securityStrategies:
                    - string
            subnetIds:
                - string
            systemVolume:
                size: 0
                type: string
        tags:
            - key: string
              value: string
    

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

    KubernetesConfig NodePoolKubernetesConfig
    The KubernetesConfig of NodeConfig.
    NodeConfig NodePoolNodeConfig
    The Config of NodePool.
    AutoScaling NodePoolAutoScaling
    The node pool elastic scaling configuration information.
    ClientToken string
    The ClientToken of NodePool.
    ClusterId string
    The ClusterId of NodePool.
    InstanceIds List<string>
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    KeepInstanceName bool
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    Name string
    The Name of NodePool.
    Tags List<NodePoolTag>
    Tags.
    KubernetesConfig NodePoolKubernetesConfigArgs
    The KubernetesConfig of NodeConfig.
    NodeConfig NodePoolNodeConfigArgs
    The Config of NodePool.
    AutoScaling NodePoolAutoScalingArgs
    The node pool elastic scaling configuration information.
    ClientToken string
    The ClientToken of NodePool.
    ClusterId string
    The ClusterId of NodePool.
    InstanceIds []string
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    KeepInstanceName bool
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    Name string
    The Name of NodePool.
    Tags []NodePoolTagArgs
    Tags.
    kubernetesConfig NodePoolKubernetesConfig
    The KubernetesConfig of NodeConfig.
    nodeConfig NodePoolNodeConfig
    The Config of NodePool.
    autoScaling NodePoolAutoScaling
    The node pool elastic scaling configuration information.
    clientToken String
    The ClientToken of NodePool.
    clusterId String
    The ClusterId of NodePool.
    instanceIds List<String>
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    keepInstanceName Boolean
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    name String
    The Name of NodePool.
    tags List<NodePoolTag>
    Tags.
    kubernetesConfig NodePoolKubernetesConfig
    The KubernetesConfig of NodeConfig.
    nodeConfig NodePoolNodeConfig
    The Config of NodePool.
    autoScaling NodePoolAutoScaling
    The node pool elastic scaling configuration information.
    clientToken string
    The ClientToken of NodePool.
    clusterId string
    The ClusterId of NodePool.
    instanceIds string[]
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    keepInstanceName boolean
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    name string
    The Name of NodePool.
    tags NodePoolTag[]
    Tags.
    kubernetes_config NodePoolKubernetesConfigArgs
    The KubernetesConfig of NodeConfig.
    node_config NodePoolNodeConfigArgs
    The Config of NodePool.
    auto_scaling NodePoolAutoScalingArgs
    The node pool elastic scaling configuration information.
    client_token str
    The ClientToken of NodePool.
    cluster_id str
    The ClusterId of NodePool.
    instance_ids Sequence[str]
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    keep_instance_name bool
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    name str
    The Name of NodePool.
    tags Sequence[NodePoolTagArgs]
    Tags.
    kubernetesConfig Property Map
    The KubernetesConfig of NodeConfig.
    nodeConfig Property Map
    The Config of NodePool.
    autoScaling Property Map
    The node pool elastic scaling configuration information.
    clientToken String
    The ClientToken of NodePool.
    clusterId String
    The ClusterId of NodePool.
    instanceIds List<String>
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    keepInstanceName Boolean
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    name String
    The Name of NodePool.
    tags List<Property Map>
    Tags.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    NodeStatistics List<NodePoolNodeStatistic>
    The NodeStatistics of NodeConfig.
    Id string
    The provider-assigned unique ID for this managed resource.
    NodeStatistics []NodePoolNodeStatistic
    The NodeStatistics of NodeConfig.
    id String
    The provider-assigned unique ID for this managed resource.
    nodeStatistics List<NodePoolNodeStatistic>
    The NodeStatistics of NodeConfig.
    id string
    The provider-assigned unique ID for this managed resource.
    nodeStatistics NodePoolNodeStatistic[]
    The NodeStatistics of NodeConfig.
    id str
    The provider-assigned unique ID for this managed resource.
    node_statistics Sequence[NodePoolNodeStatistic]
    The NodeStatistics of NodeConfig.
    id String
    The provider-assigned unique ID for this managed resource.
    nodeStatistics List<Property Map>
    The NodeStatistics of NodeConfig.

    Look up Existing NodePool Resource

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

    public static get(name: string, id: Input<ID>, state?: NodePoolState, opts?: CustomResourceOptions): NodePool
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            auto_scaling: Optional[NodePoolAutoScalingArgs] = None,
            client_token: Optional[str] = None,
            cluster_id: Optional[str] = None,
            instance_ids: Optional[Sequence[str]] = None,
            keep_instance_name: Optional[bool] = None,
            kubernetes_config: Optional[NodePoolKubernetesConfigArgs] = None,
            name: Optional[str] = None,
            node_config: Optional[NodePoolNodeConfigArgs] = None,
            node_statistics: Optional[Sequence[NodePoolNodeStatisticArgs]] = None,
            tags: Optional[Sequence[NodePoolTagArgs]] = None) -> NodePool
    func GetNodePool(ctx *Context, name string, id IDInput, state *NodePoolState, opts ...ResourceOption) (*NodePool, error)
    public static NodePool Get(string name, Input<string> id, NodePoolState? state, CustomResourceOptions? opts = null)
    public static NodePool get(String name, Output<String> id, NodePoolState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AutoScaling NodePoolAutoScaling
    The node pool elastic scaling configuration information.
    ClientToken string
    The ClientToken of NodePool.
    ClusterId string
    The ClusterId of NodePool.
    InstanceIds List<string>
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    KeepInstanceName bool
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    KubernetesConfig NodePoolKubernetesConfig
    The KubernetesConfig of NodeConfig.
    Name string
    The Name of NodePool.
    NodeConfig NodePoolNodeConfig
    The Config of NodePool.
    NodeStatistics List<NodePoolNodeStatistic>
    The NodeStatistics of NodeConfig.
    Tags List<NodePoolTag>
    Tags.
    AutoScaling NodePoolAutoScalingArgs
    The node pool elastic scaling configuration information.
    ClientToken string
    The ClientToken of NodePool.
    ClusterId string
    The ClusterId of NodePool.
    InstanceIds []string
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    KeepInstanceName bool
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    KubernetesConfig NodePoolKubernetesConfigArgs
    The KubernetesConfig of NodeConfig.
    Name string
    The Name of NodePool.
    NodeConfig NodePoolNodeConfigArgs
    The Config of NodePool.
    NodeStatistics []NodePoolNodeStatisticArgs
    The NodeStatistics of NodeConfig.
    Tags []NodePoolTagArgs
    Tags.
    autoScaling NodePoolAutoScaling
    The node pool elastic scaling configuration information.
    clientToken String
    The ClientToken of NodePool.
    clusterId String
    The ClusterId of NodePool.
    instanceIds List<String>
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    keepInstanceName Boolean
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    kubernetesConfig NodePoolKubernetesConfig
    The KubernetesConfig of NodeConfig.
    name String
    The Name of NodePool.
    nodeConfig NodePoolNodeConfig
    The Config of NodePool.
    nodeStatistics List<NodePoolNodeStatistic>
    The NodeStatistics of NodeConfig.
    tags List<NodePoolTag>
    Tags.
    autoScaling NodePoolAutoScaling
    The node pool elastic scaling configuration information.
    clientToken string
    The ClientToken of NodePool.
    clusterId string
    The ClusterId of NodePool.
    instanceIds string[]
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    keepInstanceName boolean
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    kubernetesConfig NodePoolKubernetesConfig
    The KubernetesConfig of NodeConfig.
    name string
    The Name of NodePool.
    nodeConfig NodePoolNodeConfig
    The Config of NodePool.
    nodeStatistics NodePoolNodeStatistic[]
    The NodeStatistics of NodeConfig.
    tags NodePoolTag[]
    Tags.
    auto_scaling NodePoolAutoScalingArgs
    The node pool elastic scaling configuration information.
    client_token str
    The ClientToken of NodePool.
    cluster_id str
    The ClusterId of NodePool.
    instance_ids Sequence[str]
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    keep_instance_name bool
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    kubernetes_config NodePoolKubernetesConfigArgs
    The KubernetesConfig of NodeConfig.
    name str
    The Name of NodePool.
    node_config NodePoolNodeConfigArgs
    The Config of NodePool.
    node_statistics Sequence[NodePoolNodeStatisticArgs]
    The NodeStatistics of NodeConfig.
    tags Sequence[NodePoolTagArgs]
    Tags.
    autoScaling Property Map
    The node pool elastic scaling configuration information.
    clientToken String
    The ClientToken of NodePool.
    clusterId String
    The ClusterId of NodePool.
    instanceIds List<String>
    The list of existing ECS instance ids. Add existing instances with same type of security group under the same cluster VPC to the custom node pool. Note that removing instance ids from the list will only remove the nodes from cluster and not release the ECS instances. But deleting node pool will release the ECS instances in it. It is not recommended to use this field, it is recommended to use volcengine.vke.Node resource to add an existing instance to a custom node pool.
    keepInstanceName Boolean
    Whether to keep instance name when adding an existing instance to a custom node pool, the value is true or false. This field is valid only when adding new instances to the custom node pool.
    kubernetesConfig Property Map
    The KubernetesConfig of NodeConfig.
    name String
    The Name of NodePool.
    nodeConfig Property Map
    The Config of NodePool.
    nodeStatistics List<Property Map>
    The NodeStatistics of NodeConfig.
    tags List<Property Map>
    Tags.

    Supporting Types

    NodePoolAutoScaling, NodePoolAutoScalingArgs

    DesiredReplicas int
    The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
    Enabled bool
    Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be false.
    MaxReplicas int
    The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of enabled is true.
    MinReplicas int
    The MinReplicas of AutoScaling, default 0. This field is valid when the value of enabled is true.
    Priority int
    The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of enabled is true and the value of subnet_policy is Priority.
    SubnetPolicy string
    Multi-subnet scheduling strategy for nodes. The value can be ZoneBalance or Priority.
    DesiredReplicas int
    The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
    Enabled bool
    Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be false.
    MaxReplicas int
    The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of enabled is true.
    MinReplicas int
    The MinReplicas of AutoScaling, default 0. This field is valid when the value of enabled is true.
    Priority int
    The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of enabled is true and the value of subnet_policy is Priority.
    SubnetPolicy string
    Multi-subnet scheduling strategy for nodes. The value can be ZoneBalance or Priority.
    desiredReplicas Integer
    The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
    enabled Boolean
    Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be false.
    maxReplicas Integer
    The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of enabled is true.
    minReplicas Integer
    The MinReplicas of AutoScaling, default 0. This field is valid when the value of enabled is true.
    priority Integer
    The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of enabled is true and the value of subnet_policy is Priority.
    subnetPolicy String
    Multi-subnet scheduling strategy for nodes. The value can be ZoneBalance or Priority.
    desiredReplicas number
    The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
    enabled boolean
    Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be false.
    maxReplicas number
    The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of enabled is true.
    minReplicas number
    The MinReplicas of AutoScaling, default 0. This field is valid when the value of enabled is true.
    priority number
    The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of enabled is true and the value of subnet_policy is Priority.
    subnetPolicy string
    Multi-subnet scheduling strategy for nodes. The value can be ZoneBalance or Priority.
    desired_replicas int
    The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
    enabled bool
    Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be false.
    max_replicas int
    The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of enabled is true.
    min_replicas int
    The MinReplicas of AutoScaling, default 0. This field is valid when the value of enabled is true.
    priority int
    The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of enabled is true and the value of subnet_policy is Priority.
    subnet_policy str
    Multi-subnet scheduling strategy for nodes. The value can be ZoneBalance or Priority.
    desiredReplicas Number
    The DesiredReplicas of AutoScaling, default 0, range in min_replicas to max_replicas.
    enabled Boolean
    Whether to enable the auto scaling function of the node pool. When a node needs to be manually added to the node pool, the value of this field must be false.
    maxReplicas Number
    The MaxReplicas of AutoScaling, default 10, range in 1~2000. This field is valid when the value of enabled is true.
    minReplicas Number
    The MinReplicas of AutoScaling, default 0. This field is valid when the value of enabled is true.
    priority Number
    The Priority of AutoScaling, default 10, rang in 0~100. This field is valid when the value of enabled is true and the value of subnet_policy is Priority.
    subnetPolicy String
    Multi-subnet scheduling strategy for nodes. The value can be ZoneBalance or Priority.

    NodePoolKubernetesConfig, NodePoolKubernetesConfigArgs

    Cordon bool
    The Cordon of KubernetesConfig.
    Labels List<NodePoolKubernetesConfigLabel>
    The Labels of KubernetesConfig.
    NamePrefix string
    The NamePrefix of node metadata.
    Taints List<NodePoolKubernetesConfigTaint>
    The Taints of KubernetesConfig.
    Cordon bool
    The Cordon of KubernetesConfig.
    Labels []NodePoolKubernetesConfigLabel
    The Labels of KubernetesConfig.
    NamePrefix string
    The NamePrefix of node metadata.
    Taints []NodePoolKubernetesConfigTaint
    The Taints of KubernetesConfig.
    cordon Boolean
    The Cordon of KubernetesConfig.
    labels List<NodePoolKubernetesConfigLabel>
    The Labels of KubernetesConfig.
    namePrefix String
    The NamePrefix of node metadata.
    taints List<NodePoolKubernetesConfigTaint>
    The Taints of KubernetesConfig.
    cordon boolean
    The Cordon of KubernetesConfig.
    labels NodePoolKubernetesConfigLabel[]
    The Labels of KubernetesConfig.
    namePrefix string
    The NamePrefix of node metadata.
    taints NodePoolKubernetesConfigTaint[]
    The Taints of KubernetesConfig.
    cordon bool
    The Cordon of KubernetesConfig.
    labels Sequence[NodePoolKubernetesConfigLabel]
    The Labels of KubernetesConfig.
    name_prefix str
    The NamePrefix of node metadata.
    taints Sequence[NodePoolKubernetesConfigTaint]
    The Taints of KubernetesConfig.
    cordon Boolean
    The Cordon of KubernetesConfig.
    labels List<Property Map>
    The Labels of KubernetesConfig.
    namePrefix String
    The NamePrefix of node metadata.
    taints List<Property Map>
    The Taints of KubernetesConfig.

    NodePoolKubernetesConfigLabel, NodePoolKubernetesConfigLabelArgs

    Key string
    The Key of Labels.
    Value string
    The Value of Labels.
    Key string
    The Key of Labels.
    Value string
    The Value of Labels.
    key String
    The Key of Labels.
    value String
    The Value of Labels.
    key string
    The Key of Labels.
    value string
    The Value of Labels.
    key str
    The Key of Labels.
    value str
    The Value of Labels.
    key String
    The Key of Labels.
    value String
    The Value of Labels.

    NodePoolKubernetesConfigTaint, NodePoolKubernetesConfigTaintArgs

    Effect string
    The Effect of Taints, the value can be NoSchedule or NoExecute or PreferNoSchedule.
    Key string
    The Key of Taints.
    Value string
    The Value of Taints.
    Effect string
    The Effect of Taints, the value can be NoSchedule or NoExecute or PreferNoSchedule.
    Key string
    The Key of Taints.
    Value string
    The Value of Taints.
    effect String
    The Effect of Taints, the value can be NoSchedule or NoExecute or PreferNoSchedule.
    key String
    The Key of Taints.
    value String
    The Value of Taints.
    effect string
    The Effect of Taints, the value can be NoSchedule or NoExecute or PreferNoSchedule.
    key string
    The Key of Taints.
    value string
    The Value of Taints.
    effect str
    The Effect of Taints, the value can be NoSchedule or NoExecute or PreferNoSchedule.
    key str
    The Key of Taints.
    value str
    The Value of Taints.
    effect String
    The Effect of Taints, the value can be NoSchedule or NoExecute or PreferNoSchedule.
    key String
    The Key of Taints.
    value String
    The Value of Taints.

    NodePoolNodeConfig, NodePoolNodeConfigArgs

    InstanceTypeIds List<string>
    The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
    Security NodePoolNodeConfigSecurity
    The Security of NodeConfig.
    SubnetIds List<string>
    The SubnetIds of NodeConfig.
    AdditionalContainerStorageEnabled bool
    The AdditionalContainerStorageEnabled of NodeConfig.
    AutoRenew bool
    Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
    AutoRenewPeriod int
    The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
    DataVolumes List<NodePoolNodeConfigDataVolume>
    The DataVolumes of NodeConfig.
    EcsTags List<NodePoolNodeConfigEcsTag>
    Tags for Ecs.
    HpcClusterIds List<string>
    The IDs of HpcCluster, only one ID is supported currently.
    ImageId string
    The ImageId of NodeConfig.
    InitializeScript string
    The initializeScript of NodeConfig.
    InstanceChargeType string
    The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
    NamePrefix string
    The NamePrefix of NodeConfig.
    Period int
    The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
    SystemVolume NodePoolNodeConfigSystemVolume
    The SystemVolume of NodeConfig.
    InstanceTypeIds []string
    The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
    Security NodePoolNodeConfigSecurity
    The Security of NodeConfig.
    SubnetIds []string
    The SubnetIds of NodeConfig.
    AdditionalContainerStorageEnabled bool
    The AdditionalContainerStorageEnabled of NodeConfig.
    AutoRenew bool
    Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
    AutoRenewPeriod int
    The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
    DataVolumes []NodePoolNodeConfigDataVolume
    The DataVolumes of NodeConfig.
    EcsTags []NodePoolNodeConfigEcsTag
    Tags for Ecs.
    HpcClusterIds []string
    The IDs of HpcCluster, only one ID is supported currently.
    ImageId string
    The ImageId of NodeConfig.
    InitializeScript string
    The initializeScript of NodeConfig.
    InstanceChargeType string
    The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
    NamePrefix string
    The NamePrefix of NodeConfig.
    Period int
    The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
    SystemVolume NodePoolNodeConfigSystemVolume
    The SystemVolume of NodeConfig.
    instanceTypeIds List<String>
    The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
    security NodePoolNodeConfigSecurity
    The Security of NodeConfig.
    subnetIds List<String>
    The SubnetIds of NodeConfig.
    additionalContainerStorageEnabled Boolean
    The AdditionalContainerStorageEnabled of NodeConfig.
    autoRenew Boolean
    Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
    autoRenewPeriod Integer
    The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
    dataVolumes List<NodePoolNodeConfigDataVolume>
    The DataVolumes of NodeConfig.
    ecsTags List<NodePoolNodeConfigEcsTag>
    Tags for Ecs.
    hpcClusterIds List<String>
    The IDs of HpcCluster, only one ID is supported currently.
    imageId String
    The ImageId of NodeConfig.
    initializeScript String
    The initializeScript of NodeConfig.
    instanceChargeType String
    The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
    namePrefix String
    The NamePrefix of NodeConfig.
    period Integer
    The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
    systemVolume NodePoolNodeConfigSystemVolume
    The SystemVolume of NodeConfig.
    instanceTypeIds string[]
    The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
    security NodePoolNodeConfigSecurity
    The Security of NodeConfig.
    subnetIds string[]
    The SubnetIds of NodeConfig.
    additionalContainerStorageEnabled boolean
    The AdditionalContainerStorageEnabled of NodeConfig.
    autoRenew boolean
    Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
    autoRenewPeriod number
    The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
    dataVolumes NodePoolNodeConfigDataVolume[]
    The DataVolumes of NodeConfig.
    ecsTags NodePoolNodeConfigEcsTag[]
    Tags for Ecs.
    hpcClusterIds string[]
    The IDs of HpcCluster, only one ID is supported currently.
    imageId string
    The ImageId of NodeConfig.
    initializeScript string
    The initializeScript of NodeConfig.
    instanceChargeType string
    The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
    namePrefix string
    The NamePrefix of NodeConfig.
    period number
    The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
    systemVolume NodePoolNodeConfigSystemVolume
    The SystemVolume of NodeConfig.
    instance_type_ids Sequence[str]
    The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
    security NodePoolNodeConfigSecurity
    The Security of NodeConfig.
    subnet_ids Sequence[str]
    The SubnetIds of NodeConfig.
    additional_container_storage_enabled bool
    The AdditionalContainerStorageEnabled of NodeConfig.
    auto_renew bool
    Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
    auto_renew_period int
    The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
    data_volumes Sequence[NodePoolNodeConfigDataVolume]
    The DataVolumes of NodeConfig.
    ecs_tags Sequence[NodePoolNodeConfigEcsTag]
    Tags for Ecs.
    hpc_cluster_ids Sequence[str]
    The IDs of HpcCluster, only one ID is supported currently.
    image_id str
    The ImageId of NodeConfig.
    initialize_script str
    The initializeScript of NodeConfig.
    instance_charge_type str
    The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
    name_prefix str
    The NamePrefix of NodeConfig.
    period int
    The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
    system_volume NodePoolNodeConfigSystemVolume
    The SystemVolume of NodeConfig.
    instanceTypeIds List<String>
    The InstanceTypeIds of NodeConfig. The value can get from volcengine.vke.SupportResourceTypes datasource.
    security Property Map
    The Security of NodeConfig.
    subnetIds List<String>
    The SubnetIds of NodeConfig.
    additionalContainerStorageEnabled Boolean
    The AdditionalContainerStorageEnabled of NodeConfig.
    autoRenew Boolean
    Is AutoRenew of PrePaid instance of NodeConfig. Valid values: true, false. when InstanceChargeType is PrePaid, default value is true.
    autoRenewPeriod Number
    The AutoRenewPeriod of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 6, 12. Unit: month. when InstanceChargeType is PrePaid and AutoRenew enable, default value is 1.
    dataVolumes List<Property Map>
    The DataVolumes of NodeConfig.
    ecsTags List<Property Map>
    Tags for Ecs.
    hpcClusterIds List<String>
    The IDs of HpcCluster, only one ID is supported currently.
    imageId String
    The ImageId of NodeConfig.
    initializeScript String
    The initializeScript of NodeConfig.
    instanceChargeType String
    The InstanceChargeType of PrePaid instance of NodeConfig. Valid values: PostPaid, PrePaid. Default value: PostPaid.
    namePrefix String
    The NamePrefix of NodeConfig.
    period Number
    The Period of PrePaid instance of NodeConfig. Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36. Unit: month. when InstanceChargeType is PrePaid, default value is 12.
    systemVolume Property Map
    The SystemVolume of NodeConfig.

    NodePoolNodeConfigDataVolume, NodePoolNodeConfigDataVolumeArgs

    MountPoint string
    The target mount directory of the disk. Must start with /.
    Size int
    The Size of DataVolumes, the value range in 20~32768. Default value is 20.
    Type string
    The Type of DataVolumes, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL. Default value is ESSD_PL0.
    MountPoint string
    The target mount directory of the disk. Must start with /.
    Size int
    The Size of DataVolumes, the value range in 20~32768. Default value is 20.
    Type string
    The Type of DataVolumes, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL. Default value is ESSD_PL0.
    mountPoint String
    The target mount directory of the disk. Must start with /.
    size Integer
    The Size of DataVolumes, the value range in 20~32768. Default value is 20.
    type String
    The Type of DataVolumes, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL. Default value is ESSD_PL0.
    mountPoint string
    The target mount directory of the disk. Must start with /.
    size number
    The Size of DataVolumes, the value range in 20~32768. Default value is 20.
    type string
    The Type of DataVolumes, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL. Default value is ESSD_PL0.
    mount_point str
    The target mount directory of the disk. Must start with /.
    size int
    The Size of DataVolumes, the value range in 20~32768. Default value is 20.
    type str
    The Type of DataVolumes, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL. Default value is ESSD_PL0.
    mountPoint String
    The target mount directory of the disk. Must start with /.
    size Number
    The Size of DataVolumes, the value range in 20~32768. Default value is 20.
    type String
    The Type of DataVolumes, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL. Default value is ESSD_PL0.

    NodePoolNodeConfigEcsTag, NodePoolNodeConfigEcsTagArgs

    Key string
    The Key of Tags.
    Value string
    The Value of Tags.
    Key string
    The Key of Tags.
    Value string
    The Value of Tags.
    key String
    The Key of Tags.
    value String
    The Value of Tags.
    key string
    The Key of Tags.
    value string
    The Value of Tags.
    key str
    The Key of Tags.
    value str
    The Value of Tags.
    key String
    The Key of Tags.
    value String
    The Value of Tags.

    NodePoolNodeConfigSecurity, NodePoolNodeConfigSecurityArgs

    Login NodePoolNodeConfigSecurityLogin
    The Login of Security.
    SecurityGroupIds List<string>
    The SecurityGroupIds of Security.
    SecurityStrategies List<string>
    The SecurityStrategies of Security, the value can be empty or Hids.
    Login NodePoolNodeConfigSecurityLogin
    The Login of Security.
    SecurityGroupIds []string
    The SecurityGroupIds of Security.
    SecurityStrategies []string
    The SecurityStrategies of Security, the value can be empty or Hids.
    login NodePoolNodeConfigSecurityLogin
    The Login of Security.
    securityGroupIds List<String>
    The SecurityGroupIds of Security.
    securityStrategies List<String>
    The SecurityStrategies of Security, the value can be empty or Hids.
    login NodePoolNodeConfigSecurityLogin
    The Login of Security.
    securityGroupIds string[]
    The SecurityGroupIds of Security.
    securityStrategies string[]
    The SecurityStrategies of Security, the value can be empty or Hids.
    login NodePoolNodeConfigSecurityLogin
    The Login of Security.
    security_group_ids Sequence[str]
    The SecurityGroupIds of Security.
    security_strategies Sequence[str]
    The SecurityStrategies of Security, the value can be empty or Hids.
    login Property Map
    The Login of Security.
    securityGroupIds List<String>
    The SecurityGroupIds of Security.
    securityStrategies List<String>
    The SecurityStrategies of Security, the value can be empty or Hids.

    NodePoolNodeConfigSecurityLogin, NodePoolNodeConfigSecurityLoginArgs

    Password string
    The Password of Security, this field must be encoded with base64.
    SshKeyPairName string
    The SshKeyPairName of Security.
    Password string
    The Password of Security, this field must be encoded with base64.
    SshKeyPairName string
    The SshKeyPairName of Security.
    password String
    The Password of Security, this field must be encoded with base64.
    sshKeyPairName String
    The SshKeyPairName of Security.
    password string
    The Password of Security, this field must be encoded with base64.
    sshKeyPairName string
    The SshKeyPairName of Security.
    password str
    The Password of Security, this field must be encoded with base64.
    ssh_key_pair_name str
    The SshKeyPairName of Security.
    password String
    The Password of Security, this field must be encoded with base64.
    sshKeyPairName String
    The SshKeyPairName of Security.

    NodePoolNodeConfigSystemVolume, NodePoolNodeConfigSystemVolumeArgs

    Size int
    The Size of SystemVolume, the value range in 20~2048.
    Type string
    The Type of SystemVolume, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL.
    Size int
    The Size of SystemVolume, the value range in 20~2048.
    Type string
    The Type of SystemVolume, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL.
    size Integer
    The Size of SystemVolume, the value range in 20~2048.
    type String
    The Type of SystemVolume, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL.
    size number
    The Size of SystemVolume, the value range in 20~2048.
    type string
    The Type of SystemVolume, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL.
    size int
    The Size of SystemVolume, the value range in 20~2048.
    type str
    The Type of SystemVolume, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL.
    size Number
    The Size of SystemVolume, the value range in 20~2048.
    type String
    The Type of SystemVolume, the value can be PTSSD or ESSD_PL0 or ESSD_FlexPL.

    NodePoolNodeStatistic, NodePoolNodeStatisticArgs

    CreatingCount int
    The CreatingCount of Node.
    DeletingCount int
    The DeletingCount of Node.
    FailedCount int
    The FailedCount of Node.
    RunningCount int
    The RunningCount of Node.
    StartingCount int
    (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    StoppedCount int
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    StoppingCount int
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    TotalCount int
    The TotalCount of Node.
    UpdatingCount int
    The UpdatingCount of Node.
    CreatingCount int
    The CreatingCount of Node.
    DeletingCount int
    The DeletingCount of Node.
    FailedCount int
    The FailedCount of Node.
    RunningCount int
    The RunningCount of Node.
    StartingCount int
    (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    StoppedCount int
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    StoppingCount int
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    TotalCount int
    The TotalCount of Node.
    UpdatingCount int
    The UpdatingCount of Node.
    creatingCount Integer
    The CreatingCount of Node.
    deletingCount Integer
    The DeletingCount of Node.
    failedCount Integer
    The FailedCount of Node.
    runningCount Integer
    The RunningCount of Node.
    startingCount Integer
    (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    stoppedCount Integer
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    stoppingCount Integer
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    totalCount Integer
    The TotalCount of Node.
    updatingCount Integer
    The UpdatingCount of Node.
    creatingCount number
    The CreatingCount of Node.
    deletingCount number
    The DeletingCount of Node.
    failedCount number
    The FailedCount of Node.
    runningCount number
    The RunningCount of Node.
    startingCount number
    (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    stoppedCount number
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    stoppingCount number
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    totalCount number
    The TotalCount of Node.
    updatingCount number
    The UpdatingCount of Node.
    creating_count int
    The CreatingCount of Node.
    deleting_count int
    The DeletingCount of Node.
    failed_count int
    The FailedCount of Node.
    running_count int
    The RunningCount of Node.
    starting_count int
    (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    stopped_count int
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    stopping_count int
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    total_count int
    The TotalCount of Node.
    updating_count int
    The UpdatingCount of Node.
    creatingCount Number
    The CreatingCount of Node.
    deletingCount Number
    The DeletingCount of Node.
    failedCount Number
    The FailedCount of Node.
    runningCount Number
    The RunningCount of Node.
    startingCount Number
    (Deprecated) This field has been deprecated and is not recommended for use. The StartingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    stoppedCount Number
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppedCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    stoppingCount Number
    (Deprecated) This field has been deprecated and is not recommended for use. The StoppingCount of Node.

    Deprecated: This field has been deprecated and is not recommended for use.

    totalCount Number
    The TotalCount of Node.
    updatingCount Number
    The UpdatingCount of Node.

    NodePoolTag, NodePoolTagArgs

    Key string
    The Key of Tags.
    Value string
    The Value of Tags.
    Key string
    The Key of Tags.
    Value string
    The Value of Tags.
    key String
    The Key of Tags.
    value String
    The Value of Tags.
    key string
    The Key of Tags.
    value string
    The Value of Tags.
    key str
    The Key of Tags.
    value str
    The Value of Tags.
    key String
    The Key of Tags.
    value String
    The Value of Tags.

    Import

    NodePool can be imported using the id, e.g.

     $ pulumi import volcengine:vke/nodePool:NodePool default pcabe57vqtofgrbln3dp0
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    volcengine volcengine/pulumi-volcengine
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the volcengine Terraform Provider.
    volcengine logo
    Volcengine v0.0.26 published on Friday, Sep 13, 2024 by Volcengine