1. Packages
  2. Volcengine
  3. API Docs
  4. veecp
  5. NodePool
Volcengine v0.0.31 published on Monday, May 12, 2025 by Volcengine

volcengine.veecp.NodePool

Explore with Pulumi AI

volcengine logo
Volcengine v0.0.31 published on Monday, May 12, 2025 by Volcengine

    Provides a resource to manage veecp node pool

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as volcengine from "@pulumi/volcengine";
    import * as volcengine from "@volcengine/pulumi";
    
    const fooZones = volcengine.ecs.getZones({});
    const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
        vpcName: "acc-test-project1",
        cidrBlock: "172.16.0.0/16",
    });
    const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
        subnetName: "acc-subnet-test-2",
        cidrBlock: "172.16.0.0/24",
        zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
        vpcId: fooVpc.id,
    });
    const fooSecurityGroup = new volcengine.vpc.SecurityGroup("fooSecurityGroup", {
        vpcId: fooVpc.id,
        securityGroupName: "acc-test-security-group2",
    });
    const fooCluster = new volcengine.veecp.Cluster("fooCluster", {
        description: "created by terraform",
        deleteProtectionEnabled: false,
        profile: "Edge",
        clusterConfig: {
            subnetIds: [fooSubnet.id],
            apiServerPublicAccessEnabled: true,
            apiServerPublicAccessConfig: {
                publicAccessNetworkConfig: {
                    billingType: "PostPaidByBandwidth",
                    bandwidth: 1,
                },
            },
            resourcePublicAccessDefaultEnabled: true,
        },
        podsConfig: {
            podNetworkMode: "Flannel",
            flannelConfig: {
                podCidrs: ["172.22.224.0/20"],
                maxPodsPerNode: 64,
            },
        },
        servicesConfig: {
            serviceCidrsv4s: ["172.30.0.0/18"],
        },
    });
    const fooNodePool = new volcengine.veecp.NodePool("fooNodePool", {
        clusterId: fooCluster.id,
        clientToken: "FGAHIxa23412FGAIOHioj",
        autoScaling: {
            enabled: true,
            minReplicas: 0,
            maxReplicas: 5,
            desiredReplicas: 0,
            priority: 5,
            subnetPolicy: "ZoneBalance",
        },
        nodeConfig: {
            instanceTypeIds: ["ecs.c1ie.xlarge"],
            subnetIds: [fooSubnet.id],
            imageId: "",
            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,
        },
    });
    
    import pulumi
    import pulumi_volcengine as volcengine
    
    foo_zones = volcengine.ecs.get_zones()
    foo_vpc = volcengine.vpc.Vpc("fooVpc",
        vpc_name="acc-test-project1",
        cidr_block="172.16.0.0/16")
    foo_subnet = volcengine.vpc.Subnet("fooSubnet",
        subnet_name="acc-subnet-test-2",
        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",
        vpc_id=foo_vpc.id,
        security_group_name="acc-test-security-group2")
    foo_cluster = volcengine.veecp.Cluster("fooCluster",
        description="created by terraform",
        delete_protection_enabled=False,
        profile="Edge",
        cluster_config=volcengine.veecp.ClusterClusterConfigArgs(
            subnet_ids=[foo_subnet.id],
            api_server_public_access_enabled=True,
            api_server_public_access_config=volcengine.veecp.ClusterClusterConfigApiServerPublicAccessConfigArgs(
                public_access_network_config=volcengine.veecp.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs(
                    billing_type="PostPaidByBandwidth",
                    bandwidth=1,
                ),
            ),
            resource_public_access_default_enabled=True,
        ),
        pods_config=volcengine.veecp.ClusterPodsConfigArgs(
            pod_network_mode="Flannel",
            flannel_config=volcengine.veecp.ClusterPodsConfigFlannelConfigArgs(
                pod_cidrs=["172.22.224.0/20"],
                max_pods_per_node=64,
            ),
        ),
        services_config=volcengine.veecp.ClusterServicesConfigArgs(
            service_cidrsv4s=["172.30.0.0/18"],
        ))
    foo_node_pool = volcengine.veecp.NodePool("fooNodePool",
        cluster_id=foo_cluster.id,
        client_token="FGAHIxa23412FGAIOHioj",
        auto_scaling=volcengine.veecp.NodePoolAutoScalingArgs(
            enabled=True,
            min_replicas=0,
            max_replicas=5,
            desired_replicas=0,
            priority=5,
            subnet_policy="ZoneBalance",
        ),
        node_config=volcengine.veecp.NodePoolNodeConfigArgs(
            instance_type_ids=["ecs.c1ie.xlarge"],
            subnet_ids=[foo_subnet.id],
            image_id="",
            system_volume=volcengine.veecp.NodePoolNodeConfigSystemVolumeArgs(
                type="ESSD_PL0",
                size=80,
            ),
            data_volumes=[
                volcengine.veecp.NodePoolNodeConfigDataVolumeArgs(
                    type="ESSD_PL0",
                    size=80,
                    mount_point="/tf1",
                ),
                volcengine.veecp.NodePoolNodeConfigDataVolumeArgs(
                    type="ESSD_PL0",
                    size=60,
                    mount_point="/tf2",
                ),
            ],
            initialize_script="ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
            security=volcengine.veecp.NodePoolNodeConfigSecurityArgs(
                login=volcengine.veecp.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.veecp.NodePoolNodeConfigEcsTagArgs(
                key="ecs_k1",
                value="ecs_v1",
            )],
        ),
        kubernetes_config=volcengine.veecp.NodePoolKubernetesConfigArgs(
            labels=[volcengine.veecp.NodePoolKubernetesConfigLabelArgs(
                key="label1",
                value="value1",
            )],
            taints=[volcengine.veecp.NodePoolKubernetesConfigTaintArgs(
                key="taint-key/node-type",
                value="taint-value",
                effect="NoSchedule",
            )],
            cordon=True,
        ))
    
    package main
    
    import (
    	"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/veecp"
    	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/vpc"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		fooZones, err := ecs.GetZones(ctx, nil, nil)
    		if err != nil {
    			return err
    		}
    		fooVpc, err := vpc.NewVpc(ctx, "fooVpc", &vpc.VpcArgs{
    			VpcName:   pulumi.String("acc-test-project1"),
    			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-subnet-test-2"),
    			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{
    			VpcId:             fooVpc.ID(),
    			SecurityGroupName: pulumi.String("acc-test-security-group2"),
    		})
    		if err != nil {
    			return err
    		}
    		fooCluster, err := veecp.NewCluster(ctx, "fooCluster", &veecp.ClusterArgs{
    			Description:             pulumi.String("created by terraform"),
    			DeleteProtectionEnabled: pulumi.Bool(false),
    			Profile:                 pulumi.String("Edge"),
    			ClusterConfig: &veecp.ClusterClusterConfigArgs{
    				SubnetIds: pulumi.StringArray{
    					fooSubnet.ID(),
    				},
    				ApiServerPublicAccessEnabled: pulumi.Bool(true),
    				ApiServerPublicAccessConfig: &veecp.ClusterClusterConfigApiServerPublicAccessConfigArgs{
    					PublicAccessNetworkConfig: &veecp.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs{
    						BillingType: pulumi.String("PostPaidByBandwidth"),
    						Bandwidth:   pulumi.Int(1),
    					},
    				},
    				ResourcePublicAccessDefaultEnabled: pulumi.Bool(true),
    			},
    			PodsConfig: &veecp.ClusterPodsConfigArgs{
    				PodNetworkMode: pulumi.String("Flannel"),
    				FlannelConfig: &veecp.ClusterPodsConfigFlannelConfigArgs{
    					PodCidrs: pulumi.StringArray{
    						pulumi.String("172.22.224.0/20"),
    					},
    					MaxPodsPerNode: pulumi.Int(64),
    				},
    			},
    			ServicesConfig: &veecp.ClusterServicesConfigArgs{
    				ServiceCidrsv4s: pulumi.StringArray{
    					pulumi.String("172.30.0.0/18"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = veecp.NewNodePool(ctx, "fooNodePool", &veecp.NodePoolArgs{
    			ClusterId:   fooCluster.ID(),
    			ClientToken: pulumi.String("FGAHIxa23412FGAIOHioj"),
    			AutoScaling: &veecp.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: &veecp.NodePoolNodeConfigArgs{
    				InstanceTypeIds: pulumi.StringArray{
    					pulumi.String("ecs.c1ie.xlarge"),
    				},
    				SubnetIds: pulumi.StringArray{
    					fooSubnet.ID(),
    				},
    				ImageId: pulumi.String(""),
    				SystemVolume: &veecp.NodePoolNodeConfigSystemVolumeArgs{
    					Type: pulumi.String("ESSD_PL0"),
    					Size: pulumi.Int(80),
    				},
    				DataVolumes: veecp.NodePoolNodeConfigDataVolumeArray{
    					&veecp.NodePoolNodeConfigDataVolumeArgs{
    						Type:       pulumi.String("ESSD_PL0"),
    						Size:       pulumi.Int(80),
    						MountPoint: pulumi.String("/tf1"),
    					},
    					&veecp.NodePoolNodeConfigDataVolumeArgs{
    						Type:       pulumi.String("ESSD_PL0"),
    						Size:       pulumi.Int(60),
    						MountPoint: pulumi.String("/tf2"),
    					},
    				},
    				InitializeScript: pulumi.String("ZWNobyBoZWxsbyB0ZXJyYWZvcm0h"),
    				Security: &veecp.NodePoolNodeConfigSecurityArgs{
    					Login: &veecp.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: veecp.NodePoolNodeConfigEcsTagArray{
    					&veecp.NodePoolNodeConfigEcsTagArgs{
    						Key:   pulumi.String("ecs_k1"),
    						Value: pulumi.String("ecs_v1"),
    					},
    				},
    			},
    			KubernetesConfig: &veecp.NodePoolKubernetesConfigArgs{
    				Labels: veecp.NodePoolKubernetesConfigLabelArray{
    					&veecp.NodePoolKubernetesConfigLabelArgs{
    						Key:   pulumi.String("label1"),
    						Value: pulumi.String("value1"),
    					},
    				},
    				Taints: veecp.NodePoolKubernetesConfigTaintArray{
    					&veecp.NodePoolKubernetesConfigTaintArgs{
    						Key:    pulumi.String("taint-key/node-type"),
    						Value:  pulumi.String("taint-value"),
    						Effect: pulumi.String("NoSchedule"),
    					},
    				},
    				Cordon: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Volcengine = Pulumi.Volcengine;
    
    return await Deployment.RunAsync(() => 
    {
        var fooZones = Volcengine.Ecs.GetZones.Invoke();
    
        var fooVpc = new Volcengine.Vpc.Vpc("fooVpc", new()
        {
            VpcName = "acc-test-project1",
            CidrBlock = "172.16.0.0/16",
        });
    
        var fooSubnet = new Volcengine.Vpc.Subnet("fooSubnet", new()
        {
            SubnetName = "acc-subnet-test-2",
            CidrBlock = "172.16.0.0/24",
            ZoneId = fooZones.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
            VpcId = fooVpc.Id,
        });
    
        var fooSecurityGroup = new Volcengine.Vpc.SecurityGroup("fooSecurityGroup", new()
        {
            VpcId = fooVpc.Id,
            SecurityGroupName = "acc-test-security-group2",
        });
    
        var fooCluster = new Volcengine.Veecp.Cluster("fooCluster", new()
        {
            Description = "created by terraform",
            DeleteProtectionEnabled = false,
            Profile = "Edge",
            ClusterConfig = new Volcengine.Veecp.Inputs.ClusterClusterConfigArgs
            {
                SubnetIds = new[]
                {
                    fooSubnet.Id,
                },
                ApiServerPublicAccessEnabled = true,
                ApiServerPublicAccessConfig = new Volcengine.Veecp.Inputs.ClusterClusterConfigApiServerPublicAccessConfigArgs
                {
                    PublicAccessNetworkConfig = new Volcengine.Veecp.Inputs.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs
                    {
                        BillingType = "PostPaidByBandwidth",
                        Bandwidth = 1,
                    },
                },
                ResourcePublicAccessDefaultEnabled = true,
            },
            PodsConfig = new Volcengine.Veecp.Inputs.ClusterPodsConfigArgs
            {
                PodNetworkMode = "Flannel",
                FlannelConfig = new Volcengine.Veecp.Inputs.ClusterPodsConfigFlannelConfigArgs
                {
                    PodCidrs = new[]
                    {
                        "172.22.224.0/20",
                    },
                    MaxPodsPerNode = 64,
                },
            },
            ServicesConfig = new Volcengine.Veecp.Inputs.ClusterServicesConfigArgs
            {
                ServiceCidrsv4s = new[]
                {
                    "172.30.0.0/18",
                },
            },
        });
    
        var fooNodePool = new Volcengine.Veecp.NodePool("fooNodePool", new()
        {
            ClusterId = fooCluster.Id,
            ClientToken = "FGAHIxa23412FGAIOHioj",
            AutoScaling = new Volcengine.Veecp.Inputs.NodePoolAutoScalingArgs
            {
                Enabled = true,
                MinReplicas = 0,
                MaxReplicas = 5,
                DesiredReplicas = 0,
                Priority = 5,
                SubnetPolicy = "ZoneBalance",
            },
            NodeConfig = new Volcengine.Veecp.Inputs.NodePoolNodeConfigArgs
            {
                InstanceTypeIds = new[]
                {
                    "ecs.c1ie.xlarge",
                },
                SubnetIds = new[]
                {
                    fooSubnet.Id,
                },
                ImageId = "",
                SystemVolume = new Volcengine.Veecp.Inputs.NodePoolNodeConfigSystemVolumeArgs
                {
                    Type = "ESSD_PL0",
                    Size = 80,
                },
                DataVolumes = new[]
                {
                    new Volcengine.Veecp.Inputs.NodePoolNodeConfigDataVolumeArgs
                    {
                        Type = "ESSD_PL0",
                        Size = 80,
                        MountPoint = "/tf1",
                    },
                    new Volcengine.Veecp.Inputs.NodePoolNodeConfigDataVolumeArgs
                    {
                        Type = "ESSD_PL0",
                        Size = 60,
                        MountPoint = "/tf2",
                    },
                },
                InitializeScript = "ZWNobyBoZWxsbyB0ZXJyYWZvcm0h",
                Security = new Volcengine.Veecp.Inputs.NodePoolNodeConfigSecurityArgs
                {
                    Login = new Volcengine.Veecp.Inputs.NodePoolNodeConfigSecurityLoginArgs
                    {
                        Password = "UHdkMTIzNDU2",
                    },
                    SecurityStrategies = new[]
                    {
                        "Hids",
                    },
                    SecurityGroupIds = new[]
                    {
                        fooSecurityGroup.Id,
                    },
                },
                AdditionalContainerStorageEnabled = false,
                InstanceChargeType = "PostPaid",
                NamePrefix = "acc-test",
                EcsTags = new[]
                {
                    new Volcengine.Veecp.Inputs.NodePoolNodeConfigEcsTagArgs
                    {
                        Key = "ecs_k1",
                        Value = "ecs_v1",
                    },
                },
            },
            KubernetesConfig = new Volcengine.Veecp.Inputs.NodePoolKubernetesConfigArgs
            {
                Labels = new[]
                {
                    new Volcengine.Veecp.Inputs.NodePoolKubernetesConfigLabelArgs
                    {
                        Key = "label1",
                        Value = "value1",
                    },
                },
                Taints = new[]
                {
                    new Volcengine.Veecp.Inputs.NodePoolKubernetesConfigTaintArgs
                    {
                        Key = "taint-key/node-type",
                        Value = "taint-value",
                        Effect = "NoSchedule",
                    },
                },
                Cordon = true,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.volcengine.ecs.EcsFunctions;
    import com.pulumi.volcengine.ecs.inputs.GetZonesArgs;
    import com.pulumi.volcengine.vpc.Vpc;
    import com.pulumi.volcengine.vpc.VpcArgs;
    import com.pulumi.volcengine.vpc.Subnet;
    import com.pulumi.volcengine.vpc.SubnetArgs;
    import com.pulumi.volcengine.vpc.SecurityGroup;
    import com.pulumi.volcengine.vpc.SecurityGroupArgs;
    import com.pulumi.volcengine.veecp.Cluster;
    import com.pulumi.volcengine.veecp.ClusterArgs;
    import com.pulumi.volcengine.veecp.inputs.ClusterClusterConfigArgs;
    import com.pulumi.volcengine.veecp.inputs.ClusterClusterConfigApiServerPublicAccessConfigArgs;
    import com.pulumi.volcengine.veecp.inputs.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs;
    import com.pulumi.volcengine.veecp.inputs.ClusterPodsConfigArgs;
    import com.pulumi.volcengine.veecp.inputs.ClusterPodsConfigFlannelConfigArgs;
    import com.pulumi.volcengine.veecp.inputs.ClusterServicesConfigArgs;
    import com.pulumi.volcengine.veecp.NodePool;
    import com.pulumi.volcengine.veecp.NodePoolArgs;
    import com.pulumi.volcengine.veecp.inputs.NodePoolAutoScalingArgs;
    import com.pulumi.volcengine.veecp.inputs.NodePoolNodeConfigArgs;
    import com.pulumi.volcengine.veecp.inputs.NodePoolNodeConfigSystemVolumeArgs;
    import com.pulumi.volcengine.veecp.inputs.NodePoolNodeConfigSecurityArgs;
    import com.pulumi.volcengine.veecp.inputs.NodePoolNodeConfigSecurityLoginArgs;
    import com.pulumi.volcengine.veecp.inputs.NodePoolKubernetesConfigArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var fooZones = EcsFunctions.getZones();
    
            var fooVpc = new Vpc("fooVpc", VpcArgs.builder()        
                .vpcName("acc-test-project1")
                .cidrBlock("172.16.0.0/16")
                .build());
    
            var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder()        
                .subnetName("acc-subnet-test-2")
                .cidrBlock("172.16.0.0/24")
                .zoneId(fooZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
                .vpcId(fooVpc.id())
                .build());
    
            var fooSecurityGroup = new SecurityGroup("fooSecurityGroup", SecurityGroupArgs.builder()        
                .vpcId(fooVpc.id())
                .securityGroupName("acc-test-security-group2")
                .build());
    
            var fooCluster = new Cluster("fooCluster", ClusterArgs.builder()        
                .description("created by terraform")
                .deleteProtectionEnabled(false)
                .profile("Edge")
                .clusterConfig(ClusterClusterConfigArgs.builder()
                    .subnetIds(fooSubnet.id())
                    .apiServerPublicAccessEnabled(true)
                    .apiServerPublicAccessConfig(ClusterClusterConfigApiServerPublicAccessConfigArgs.builder()
                        .publicAccessNetworkConfig(ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs.builder()
                            .billingType("PostPaidByBandwidth")
                            .bandwidth(1)
                            .build())
                        .build())
                    .resourcePublicAccessDefaultEnabled(true)
                    .build())
                .podsConfig(ClusterPodsConfigArgs.builder()
                    .podNetworkMode("Flannel")
                    .flannelConfig(ClusterPodsConfigFlannelConfigArgs.builder()
                        .podCidrs("172.22.224.0/20")
                        .maxPodsPerNode(64)
                        .build())
                    .build())
                .servicesConfig(ClusterServicesConfigArgs.builder()
                    .serviceCidrsv4s("172.30.0.0/18")
                    .build())
                .build());
    
            var fooNodePool = new NodePool("fooNodePool", NodePoolArgs.builder()        
                .clusterId(fooCluster.id())
                .clientToken("FGAHIxa23412FGAIOHioj")
                .autoScaling(NodePoolAutoScalingArgs.builder()
                    .enabled(true)
                    .minReplicas(0)
                    .maxReplicas(5)
                    .desiredReplicas(0)
                    .priority(5)
                    .subnetPolicy("ZoneBalance")
                    .build())
                .nodeConfig(NodePoolNodeConfigArgs.builder()
                    .instanceTypeIds("ecs.c1ie.xlarge")
                    .subnetIds(fooSubnet.id())
                    .imageId("")
                    .systemVolume(NodePoolNodeConfigSystemVolumeArgs.builder()
                        .type("ESSD_PL0")
                        .size(80)
                        .build())
                    .dataVolumes(                
                        NodePoolNodeConfigDataVolumeArgs.builder()
                            .type("ESSD_PL0")
                            .size(80)
                            .mountPoint("/tf1")
                            .build(),
                        NodePoolNodeConfigDataVolumeArgs.builder()
                            .type("ESSD_PL0")
                            .size(60)
                            .mountPoint("/tf2")
                            .build())
                    .initializeScript("ZWNobyBoZWxsbyB0ZXJyYWZvcm0h")
                    .security(NodePoolNodeConfigSecurityArgs.builder()
                        .login(NodePoolNodeConfigSecurityLoginArgs.builder()
                            .password("UHdkMTIzNDU2")
                            .build())
                        .securityStrategies("Hids")
                        .securityGroupIds(fooSecurityGroup.id())
                        .build())
                    .additionalContainerStorageEnabled(false)
                    .instanceChargeType("PostPaid")
                    .namePrefix("acc-test")
                    .ecsTags(NodePoolNodeConfigEcsTagArgs.builder()
                        .key("ecs_k1")
                        .value("ecs_v1")
                        .build())
                    .build())
                .kubernetesConfig(NodePoolKubernetesConfigArgs.builder()
                    .labels(NodePoolKubernetesConfigLabelArgs.builder()
                        .key("label1")
                        .value("value1")
                        .build())
                    .taints(NodePoolKubernetesConfigTaintArgs.builder()
                        .key("taint-key/node-type")
                        .value("taint-value")
                        .effect("NoSchedule")
                        .build())
                    .cordon(true)
                    .build())
                .build());
    
        }
    }
    
    resources:
      fooVpc:
        type: volcengine:vpc:Vpc
        properties:
          vpcName: acc-test-project1
          cidrBlock: 172.16.0.0/16
      fooSubnet:
        type: volcengine:vpc:Subnet
        properties:
          subnetName: acc-subnet-test-2
          cidrBlock: 172.16.0.0/24
          zoneId: ${fooZones.zones[0].id}
          vpcId: ${fooVpc.id}
      fooSecurityGroup:
        type: volcengine:vpc:SecurityGroup
        properties:
          vpcId: ${fooVpc.id}
          securityGroupName: acc-test-security-group2
      fooCluster:
        type: volcengine:veecp:Cluster
        properties:
          description: created by terraform
          deleteProtectionEnabled: false
          profile: Edge
          clusterConfig:
            subnetIds:
              - ${fooSubnet.id}
            apiServerPublicAccessEnabled: true
            apiServerPublicAccessConfig:
              publicAccessNetworkConfig:
                billingType: PostPaidByBandwidth
                bandwidth: 1
            resourcePublicAccessDefaultEnabled: true
          podsConfig:
            podNetworkMode: Flannel
            flannelConfig:
              podCidrs:
                - 172.22.224.0/20
              maxPodsPerNode: 64
          servicesConfig:
            serviceCidrsv4s:
              - 172.30.0.0/18
      fooNodePool:
        type: volcengine:veecp:NodePool
        properties:
          clusterId: ${fooCluster.id}
          clientToken: FGAHIxa23412FGAIOHioj
          autoScaling:
            enabled: true
            minReplicas: 0
            maxReplicas: 5
            desiredReplicas: 0
            priority: 5
            subnetPolicy: ZoneBalance
          nodeConfig:
            instanceTypeIds:
              - ecs.c1ie.xlarge
            subnetIds:
              - ${fooSubnet.id}
            imageId:
            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
    variables:
      fooZones:
        fn::invoke:
          Function: volcengine:ecs:getZones
          Arguments: {}
    

    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)
    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:veecp: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.Veecp.NodePool("nodePoolResource", new()
    {
        KubernetesConfig = new Volcengine.Veecp.Inputs.NodePoolKubernetesConfigArgs
        {
            Cordon = false,
            AutoSyncDisabled = false,
            Labels = new[]
            {
                new Volcengine.Veecp.Inputs.NodePoolKubernetesConfigLabelArgs
                {
                    Key = "string",
                    Value = "string",
                },
            },
            NamePrefix = "string",
            Taints = new[]
            {
                new Volcengine.Veecp.Inputs.NodePoolKubernetesConfigTaintArgs
                {
                    Effect = "string",
                    Key = "string",
                    Value = "string",
                },
            },
        },
        NodeConfig = new Volcengine.Veecp.Inputs.NodePoolNodeConfigArgs
        {
            InstanceTypeIds = new[]
            {
                "string",
            },
            SubnetIds = new[]
            {
                "string",
            },
            Security = new Volcengine.Veecp.Inputs.NodePoolNodeConfigSecurityArgs
            {
                Login = new Volcengine.Veecp.Inputs.NodePoolNodeConfigSecurityLoginArgs
                {
                    Password = "string",
                    SshKeyPairName = "string",
                },
                SecurityGroupIds = new[]
                {
                    "string",
                },
                SecurityStrategies = new[]
                {
                    "string",
                },
            },
            DataVolumes = new[]
            {
                new Volcengine.Veecp.Inputs.NodePoolNodeConfigDataVolumeArgs
                {
                    MountPoint = "string",
                    Size = 0,
                    Type = "string",
                },
            },
            EcsTags = new[]
            {
                new Volcengine.Veecp.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.Veecp.Inputs.NodePoolNodeConfigSystemVolumeArgs
            {
                Size = 0,
                Type = "string",
            },
        },
        AutoScaling = new Volcengine.Veecp.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",
    });
    
    example, err := veecp.NewNodePool(ctx, "nodePoolResource", &veecp.NodePoolArgs{
    	KubernetesConfig: &veecp.NodePoolKubernetesConfigArgs{
    		Cordon:           pulumi.Bool(false),
    		AutoSyncDisabled: pulumi.Bool(false),
    		Labels: veecp.NodePoolKubernetesConfigLabelArray{
    			&veecp.NodePoolKubernetesConfigLabelArgs{
    				Key:   pulumi.String("string"),
    				Value: pulumi.String("string"),
    			},
    		},
    		NamePrefix: pulumi.String("string"),
    		Taints: veecp.NodePoolKubernetesConfigTaintArray{
    			&veecp.NodePoolKubernetesConfigTaintArgs{
    				Effect: pulumi.String("string"),
    				Key:    pulumi.String("string"),
    				Value:  pulumi.String("string"),
    			},
    		},
    	},
    	NodeConfig: &veecp.NodePoolNodeConfigArgs{
    		InstanceTypeIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		SubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Security: &veecp.NodePoolNodeConfigSecurityArgs{
    			Login: &veecp.NodePoolNodeConfigSecurityLoginArgs{
    				Password:       pulumi.String("string"),
    				SshKeyPairName: pulumi.String("string"),
    			},
    			SecurityGroupIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			SecurityStrategies: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		DataVolumes: veecp.NodePoolNodeConfigDataVolumeArray{
    			&veecp.NodePoolNodeConfigDataVolumeArgs{
    				MountPoint: pulumi.String("string"),
    				Size:       pulumi.Int(0),
    				Type:       pulumi.String("string"),
    			},
    		},
    		EcsTags: veecp.NodePoolNodeConfigEcsTagArray{
    			&veecp.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: &veecp.NodePoolNodeConfigSystemVolumeArgs{
    			Size: pulumi.Int(0),
    			Type: pulumi.String("string"),
    		},
    	},
    	AutoScaling: &veecp.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"),
    })
    
    var nodePoolResource = new com.pulumi.volcengine.veecp.NodePool("nodePoolResource", com.pulumi.volcengine.veecp.NodePoolArgs.builder()
        .kubernetesConfig(NodePoolKubernetesConfigArgs.builder()
            .cordon(false)
            .autoSyncDisabled(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")
        .build());
    
    node_pool_resource = volcengine.veecp.NodePool("nodePoolResource",
        kubernetes_config={
            "cordon": False,
            "auto_sync_disabled": False,
            "labels": [{
                "key": "string",
                "value": "string",
            }],
            "name_prefix": "string",
            "taints": [{
                "effect": "string",
                "key": "string",
                "value": "string",
            }],
        },
        node_config={
            "instance_type_ids": ["string"],
            "subnet_ids": ["string"],
            "security": {
                "login": {
                    "password": "string",
                    "ssh_key_pair_name": "string",
                },
                "security_group_ids": ["string"],
                "security_strategies": ["string"],
            },
            "data_volumes": [{
                "mount_point": "string",
                "size": 0,
                "type": "string",
            }],
            "ecs_tags": [{
                "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": {
                "size": 0,
                "type": "string",
            },
        },
        auto_scaling={
            "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")
    
    const nodePoolResource = new volcengine.veecp.NodePool("nodePoolResource", {
        kubernetesConfig: {
            cordon: false,
            autoSyncDisabled: 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",
    });
    
    type: volcengine:veecp:NodePool
    properties:
        autoScaling:
            desiredReplicas: 0
            enabled: false
            maxReplicas: 0
            minReplicas: 0
            priority: 0
            subnetPolicy: string
        clientToken: string
        clusterId: string
        instanceIds:
            - string
        keepInstanceName: false
        kubernetesConfig:
            autoSyncDisabled: false
            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
    

    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

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

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

    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) -> 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)
    resources:  _:    type: volcengine:veecp:NodePool    get:      id: ${id}
    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_veecp_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.
    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_veecp_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.
    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_veecp_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.
    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_veecp_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.
    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_veecp_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.
    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_veecp_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.

    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.
    AutoSyncDisabled bool
    Whether to disable the function of automatically synchronizing labels and taints to existing nodes. Default is false.
    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.
    AutoSyncDisabled bool
    Whether to disable the function of automatically synchronizing labels and taints to existing nodes. Default is false.
    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.
    autoSyncDisabled Boolean
    Whether to disable the function of automatically synchronizing labels and taints to existing nodes. Default is false.
    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.
    autoSyncDisabled boolean
    Whether to disable the function of automatically synchronizing labels and taints to existing nodes. Default is false.
    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.
    auto_sync_disabled bool
    Whether to disable the function of automatically synchronizing labels and taints to existing nodes. Default is false.
    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.
    autoSyncDisabled Boolean
    Whether to disable the function of automatically synchronizing labels and taints to existing nodes. Default is false.
    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.veecp.getSupportResourceTypes 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.veecp.getSupportResourceTypes 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.veecp.getSupportResourceTypes 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.veecp.getSupportResourceTypes 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.veecp.getSupportResourceTypes 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.veecp.getSupportResourceTypes 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.

    Import

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

    $ pulumi import volcengine:veecp/nodePool:NodePool default resource_id
    

    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.31 published on Monday, May 12, 2025 by Volcengine