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

volcengine.veecp.Cluster

Explore with Pulumi AI

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

    Provides a resource to manage veecp cluster

    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,
        kubernetesVersion: "v1.24.15-veecp.1",
        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"],
        },
    });
    
    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,
        kubernetes_version="v1.24.15-veecp.1",
        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"],
        ))
    
    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
    		}
    		_, err = vpc.NewSecurityGroup(ctx, "fooSecurityGroup", &vpc.SecurityGroupArgs{
    			VpcId:             fooVpc.ID(),
    			SecurityGroupName: pulumi.String("acc-test-security-group2"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = veecp.NewCluster(ctx, "fooCluster", &veecp.ClusterArgs{
    			Description:             pulumi.String("created by terraform"),
    			DeleteProtectionEnabled: pulumi.Bool(false),
    			KubernetesVersion:       pulumi.String("v1.24.15-veecp.1"),
    			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
    		}
    		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,
            KubernetesVersion = "v1.24.15-veecp.1",
            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",
                },
            },
        });
    
    });
    
    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 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)
                .kubernetesVersion("v1.24.15-veecp.1")
                .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());
    
        }
    }
    
    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
          kubernetesVersion: v1.24.15-veecp.1
          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
    variables:
      fooZones:
        fn::invoke:
          Function: volcengine:ecs:getZones
          Arguments: {}
    

    Create Cluster Resource

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

    Constructor syntax

    new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);
    @overload
    def Cluster(resource_name: str,
                args: ClusterArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Cluster(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                cluster_config: Optional[ClusterClusterConfigArgs] = None,
                pods_config: Optional[ClusterPodsConfigArgs] = None,
                profile: Optional[str] = None,
                services_config: Optional[ClusterServicesConfigArgs] = None,
                client_token: Optional[str] = None,
                delete_protection_enabled: Optional[bool] = None,
                description: Optional[str] = None,
                edge_tunnel_enabled: Optional[bool] = None,
                kubernetes_version: Optional[str] = None,
                logging_config: Optional[ClusterLoggingConfigArgs] = None,
                name: Optional[str] = None)
    func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)
    public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
    public Cluster(String name, ClusterArgs args)
    public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
    
    type: volcengine:veecp:Cluster
    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 ClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ClusterArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var volcengineClusterResource = new Volcengine.Veecp.Cluster("volcengineClusterResource", new()
    {
        ClusterConfig = new Volcengine.Veecp.Inputs.ClusterClusterConfigArgs
        {
            SubnetIds = new[]
            {
                "string",
            },
            ApiServerPublicAccessConfig = new Volcengine.Veecp.Inputs.ClusterClusterConfigApiServerPublicAccessConfigArgs
            {
                PublicAccessNetworkConfig = new Volcengine.Veecp.Inputs.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs
                {
                    Bandwidth = 0,
                    BillingType = "string",
                },
            },
            ApiServerPublicAccessEnabled = false,
            ResourcePublicAccessDefaultEnabled = false,
        },
        PodsConfig = new Volcengine.Veecp.Inputs.ClusterPodsConfigArgs
        {
            PodNetworkMode = "string",
            FlannelConfig = new Volcengine.Veecp.Inputs.ClusterPodsConfigFlannelConfigArgs
            {
                PodCidrs = new[]
                {
                    "string",
                },
                MaxPodsPerNode = 0,
            },
            VpcCniConfig = new Volcengine.Veecp.Inputs.ClusterPodsConfigVpcCniConfigArgs
            {
                SubnetIds = new[]
                {
                    "string",
                },
            },
        },
        Profile = "string",
        ServicesConfig = new Volcengine.Veecp.Inputs.ClusterServicesConfigArgs
        {
            ServiceCidrsv4s = new[]
            {
                "string",
            },
        },
        ClientToken = "string",
        DeleteProtectionEnabled = false,
        Description = "string",
        EdgeTunnelEnabled = false,
        KubernetesVersion = "string",
        LoggingConfig = new Volcengine.Veecp.Inputs.ClusterLoggingConfigArgs
        {
            LogProjectId = "string",
            LogSetups = new[]
            {
                new Volcengine.Veecp.Inputs.ClusterLoggingConfigLogSetupArgs
                {
                    LogType = "string",
                    Enabled = false,
                    LogTtl = 0,
                },
            },
        },
        Name = "string",
    });
    
    example, err := veecp.NewCluster(ctx, "volcengineClusterResource", &veecp.ClusterArgs{
    	ClusterConfig: &veecp.ClusterClusterConfigArgs{
    		SubnetIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ApiServerPublicAccessConfig: &veecp.ClusterClusterConfigApiServerPublicAccessConfigArgs{
    			PublicAccessNetworkConfig: &veecp.ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs{
    				Bandwidth:   pulumi.Int(0),
    				BillingType: pulumi.String("string"),
    			},
    		},
    		ApiServerPublicAccessEnabled:       pulumi.Bool(false),
    		ResourcePublicAccessDefaultEnabled: pulumi.Bool(false),
    	},
    	PodsConfig: &veecp.ClusterPodsConfigArgs{
    		PodNetworkMode: pulumi.String("string"),
    		FlannelConfig: &veecp.ClusterPodsConfigFlannelConfigArgs{
    			PodCidrs: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			MaxPodsPerNode: pulumi.Int(0),
    		},
    		VpcCniConfig: &veecp.ClusterPodsConfigVpcCniConfigArgs{
    			SubnetIds: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	Profile: pulumi.String("string"),
    	ServicesConfig: &veecp.ClusterServicesConfigArgs{
    		ServiceCidrsv4s: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	ClientToken:             pulumi.String("string"),
    	DeleteProtectionEnabled: pulumi.Bool(false),
    	Description:             pulumi.String("string"),
    	EdgeTunnelEnabled:       pulumi.Bool(false),
    	KubernetesVersion:       pulumi.String("string"),
    	LoggingConfig: &veecp.ClusterLoggingConfigArgs{
    		LogProjectId: pulumi.String("string"),
    		LogSetups: veecp.ClusterLoggingConfigLogSetupArray{
    			&veecp.ClusterLoggingConfigLogSetupArgs{
    				LogType: pulumi.String("string"),
    				Enabled: pulumi.Bool(false),
    				LogTtl:  pulumi.Int(0),
    			},
    		},
    	},
    	Name: pulumi.String("string"),
    })
    
    var volcengineClusterResource = new com.pulumi.volcengine.veecp.Cluster("volcengineClusterResource", com.pulumi.volcengine.veecp.ClusterArgs.builder()
        .clusterConfig(ClusterClusterConfigArgs.builder()
            .subnetIds("string")
            .apiServerPublicAccessConfig(ClusterClusterConfigApiServerPublicAccessConfigArgs.builder()
                .publicAccessNetworkConfig(ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs.builder()
                    .bandwidth(0)
                    .billingType("string")
                    .build())
                .build())
            .apiServerPublicAccessEnabled(false)
            .resourcePublicAccessDefaultEnabled(false)
            .build())
        .podsConfig(ClusterPodsConfigArgs.builder()
            .podNetworkMode("string")
            .flannelConfig(ClusterPodsConfigFlannelConfigArgs.builder()
                .podCidrs("string")
                .maxPodsPerNode(0)
                .build())
            .vpcCniConfig(ClusterPodsConfigVpcCniConfigArgs.builder()
                .subnetIds("string")
                .build())
            .build())
        .profile("string")
        .servicesConfig(ClusterServicesConfigArgs.builder()
            .serviceCidrsv4s("string")
            .build())
        .clientToken("string")
        .deleteProtectionEnabled(false)
        .description("string")
        .edgeTunnelEnabled(false)
        .kubernetesVersion("string")
        .loggingConfig(ClusterLoggingConfigArgs.builder()
            .logProjectId("string")
            .logSetups(ClusterLoggingConfigLogSetupArgs.builder()
                .logType("string")
                .enabled(false)
                .logTtl(0)
                .build())
            .build())
        .name("string")
        .build());
    
    volcengine_cluster_resource = volcengine.veecp.Cluster("volcengineClusterResource",
        cluster_config={
            "subnet_ids": ["string"],
            "api_server_public_access_config": {
                "public_access_network_config": {
                    "bandwidth": 0,
                    "billing_type": "string",
                },
            },
            "api_server_public_access_enabled": False,
            "resource_public_access_default_enabled": False,
        },
        pods_config={
            "pod_network_mode": "string",
            "flannel_config": {
                "pod_cidrs": ["string"],
                "max_pods_per_node": 0,
            },
            "vpc_cni_config": {
                "subnet_ids": ["string"],
            },
        },
        profile="string",
        services_config={
            "service_cidrsv4s": ["string"],
        },
        client_token="string",
        delete_protection_enabled=False,
        description="string",
        edge_tunnel_enabled=False,
        kubernetes_version="string",
        logging_config={
            "log_project_id": "string",
            "log_setups": [{
                "log_type": "string",
                "enabled": False,
                "log_ttl": 0,
            }],
        },
        name="string")
    
    const volcengineClusterResource = new volcengine.veecp.Cluster("volcengineClusterResource", {
        clusterConfig: {
            subnetIds: ["string"],
            apiServerPublicAccessConfig: {
                publicAccessNetworkConfig: {
                    bandwidth: 0,
                    billingType: "string",
                },
            },
            apiServerPublicAccessEnabled: false,
            resourcePublicAccessDefaultEnabled: false,
        },
        podsConfig: {
            podNetworkMode: "string",
            flannelConfig: {
                podCidrs: ["string"],
                maxPodsPerNode: 0,
            },
            vpcCniConfig: {
                subnetIds: ["string"],
            },
        },
        profile: "string",
        servicesConfig: {
            serviceCidrsv4s: ["string"],
        },
        clientToken: "string",
        deleteProtectionEnabled: false,
        description: "string",
        edgeTunnelEnabled: false,
        kubernetesVersion: "string",
        loggingConfig: {
            logProjectId: "string",
            logSetups: [{
                logType: "string",
                enabled: false,
                logTtl: 0,
            }],
        },
        name: "string",
    });
    
    type: volcengine:veecp:Cluster
    properties:
        clientToken: string
        clusterConfig:
            apiServerPublicAccessConfig:
                publicAccessNetworkConfig:
                    bandwidth: 0
                    billingType: string
            apiServerPublicAccessEnabled: false
            resourcePublicAccessDefaultEnabled: false
            subnetIds:
                - string
        deleteProtectionEnabled: false
        description: string
        edgeTunnelEnabled: false
        kubernetesVersion: string
        loggingConfig:
            logProjectId: string
            logSetups:
                - enabled: false
                  logTtl: 0
                  logType: string
        name: string
        podsConfig:
            flannelConfig:
                maxPodsPerNode: 0
                podCidrs:
                    - string
            podNetworkMode: string
            vpcCniConfig:
                subnetIds:
                    - string
        profile: string
        servicesConfig:
            serviceCidrsv4s:
                - string
    

    Cluster Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

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

    The Cluster resource accepts the following input properties:

    ClusterConfig ClusterClusterConfig
    Network configuration of cluster control plane and nodes.
    PodsConfig ClusterPodsConfig
    Container (Pod) network configuration of the cluster.
    Profile string
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    ServicesConfig ClusterServicesConfig
    Cluster service (Service) network configuration.
    ClientToken string
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    DeleteProtectionEnabled bool
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    Description string
    Cluster description. Length is limited to within 300 characters.
    EdgeTunnelEnabled bool
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    KubernetesVersion string
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    LoggingConfig ClusterLoggingConfig
    Cluster log configuration information.
    Name string
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    ClusterConfig ClusterClusterConfigArgs
    Network configuration of cluster control plane and nodes.
    PodsConfig ClusterPodsConfigArgs
    Container (Pod) network configuration of the cluster.
    Profile string
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    ServicesConfig ClusterServicesConfigArgs
    Cluster service (Service) network configuration.
    ClientToken string
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    DeleteProtectionEnabled bool
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    Description string
    Cluster description. Length is limited to within 300 characters.
    EdgeTunnelEnabled bool
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    KubernetesVersion string
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    LoggingConfig ClusterLoggingConfigArgs
    Cluster log configuration information.
    Name string
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    clusterConfig ClusterClusterConfig
    Network configuration of cluster control plane and nodes.
    podsConfig ClusterPodsConfig
    Container (Pod) network configuration of the cluster.
    profile String
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    servicesConfig ClusterServicesConfig
    Cluster service (Service) network configuration.
    clientToken String
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    deleteProtectionEnabled Boolean
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    description String
    Cluster description. Length is limited to within 300 characters.
    edgeTunnelEnabled Boolean
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    kubernetesVersion String
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    loggingConfig ClusterLoggingConfig
    Cluster log configuration information.
    name String
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    clusterConfig ClusterClusterConfig
    Network configuration of cluster control plane and nodes.
    podsConfig ClusterPodsConfig
    Container (Pod) network configuration of the cluster.
    profile string
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    servicesConfig ClusterServicesConfig
    Cluster service (Service) network configuration.
    clientToken string
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    deleteProtectionEnabled boolean
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    description string
    Cluster description. Length is limited to within 300 characters.
    edgeTunnelEnabled boolean
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    kubernetesVersion string
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    loggingConfig ClusterLoggingConfig
    Cluster log configuration information.
    name string
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    cluster_config ClusterClusterConfigArgs
    Network configuration of cluster control plane and nodes.
    pods_config ClusterPodsConfigArgs
    Container (Pod) network configuration of the cluster.
    profile str
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    services_config ClusterServicesConfigArgs
    Cluster service (Service) network configuration.
    client_token str
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    delete_protection_enabled bool
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    description str
    Cluster description. Length is limited to within 300 characters.
    edge_tunnel_enabled bool
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    kubernetes_version str
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    logging_config ClusterLoggingConfigArgs
    Cluster log configuration information.
    name str
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    clusterConfig Property Map
    Network configuration of cluster control plane and nodes.
    podsConfig Property Map
    Container (Pod) network configuration of the cluster.
    profile String
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    servicesConfig Property Map
    Cluster service (Service) network configuration.
    clientToken String
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    deleteProtectionEnabled Boolean
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    description String
    Cluster description. Length is limited to within 300 characters.
    edgeTunnelEnabled Boolean
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    kubernetesVersion String
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    loggingConfig Property Map
    Cluster log configuration information.
    name String
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing Cluster Resource

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

    public static get(name: string, id: Input<ID>, state?: ClusterState, opts?: CustomResourceOptions): Cluster
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            client_token: Optional[str] = None,
            cluster_config: Optional[ClusterClusterConfigArgs] = None,
            delete_protection_enabled: Optional[bool] = None,
            description: Optional[str] = None,
            edge_tunnel_enabled: Optional[bool] = None,
            kubernetes_version: Optional[str] = None,
            logging_config: Optional[ClusterLoggingConfigArgs] = None,
            name: Optional[str] = None,
            pods_config: Optional[ClusterPodsConfigArgs] = None,
            profile: Optional[str] = None,
            services_config: Optional[ClusterServicesConfigArgs] = None) -> Cluster
    func GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)
    public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)
    public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)
    resources:  _:    type: volcengine:veecp:Cluster    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:
    ClientToken string
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    ClusterConfig ClusterClusterConfig
    Network configuration of cluster control plane and nodes.
    DeleteProtectionEnabled bool
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    Description string
    Cluster description. Length is limited to within 300 characters.
    EdgeTunnelEnabled bool
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    KubernetesVersion string
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    LoggingConfig ClusterLoggingConfig
    Cluster log configuration information.
    Name string
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    PodsConfig ClusterPodsConfig
    Container (Pod) network configuration of the cluster.
    Profile string
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    ServicesConfig ClusterServicesConfig
    Cluster service (Service) network configuration.
    ClientToken string
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    ClusterConfig ClusterClusterConfigArgs
    Network configuration of cluster control plane and nodes.
    DeleteProtectionEnabled bool
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    Description string
    Cluster description. Length is limited to within 300 characters.
    EdgeTunnelEnabled bool
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    KubernetesVersion string
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    LoggingConfig ClusterLoggingConfigArgs
    Cluster log configuration information.
    Name string
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    PodsConfig ClusterPodsConfigArgs
    Container (Pod) network configuration of the cluster.
    Profile string
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    ServicesConfig ClusterServicesConfigArgs
    Cluster service (Service) network configuration.
    clientToken String
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    clusterConfig ClusterClusterConfig
    Network configuration of cluster control plane and nodes.
    deleteProtectionEnabled Boolean
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    description String
    Cluster description. Length is limited to within 300 characters.
    edgeTunnelEnabled Boolean
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    kubernetesVersion String
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    loggingConfig ClusterLoggingConfig
    Cluster log configuration information.
    name String
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    podsConfig ClusterPodsConfig
    Container (Pod) network configuration of the cluster.
    profile String
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    servicesConfig ClusterServicesConfig
    Cluster service (Service) network configuration.
    clientToken string
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    clusterConfig ClusterClusterConfig
    Network configuration of cluster control plane and nodes.
    deleteProtectionEnabled boolean
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    description string
    Cluster description. Length is limited to within 300 characters.
    edgeTunnelEnabled boolean
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    kubernetesVersion string
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    loggingConfig ClusterLoggingConfig
    Cluster log configuration information.
    name string
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    podsConfig ClusterPodsConfig
    Container (Pod) network configuration of the cluster.
    profile string
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    servicesConfig ClusterServicesConfig
    Cluster service (Service) network configuration.
    client_token str
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    cluster_config ClusterClusterConfigArgs
    Network configuration of cluster control plane and nodes.
    delete_protection_enabled bool
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    description str
    Cluster description. Length is limited to within 300 characters.
    edge_tunnel_enabled bool
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    kubernetes_version str
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    logging_config ClusterLoggingConfigArgs
    Cluster log configuration information.
    name str
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    pods_config ClusterPodsConfigArgs
    Container (Pod) network configuration of the cluster.
    profile str
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    services_config ClusterServicesConfigArgs
    Cluster service (Service) network configuration.
    clientToken String
    ClientToken is a case-sensitive string of no more than 64 ASCII characters passed in by the caller.
    clusterConfig Property Map
    Network configuration of cluster control plane and nodes.
    deleteProtectionEnabled Boolean
    Cluster deletion protection. Values: false: (default value) Deletion protection is off. true: Enable deletion protection. The cluster cannot be directly deleted. After creating a cluster, when calling Delete edge cluster, configure the Force parameter and choose to forcibly delete the cluster.
    description String
    Cluster description. Length is limited to within 300 characters.
    edgeTunnelEnabled Boolean
    Whether to enable the edge tunnel. Values: false: (default value) Edge tunnel is off. true: Enable edge tunnel. Note: This parameter is not supported to be modified after the cluster is created.
    kubernetesVersion String
    Specify the Kubernetes version when creating a cluster. The format is x.xx. The default value is the latest version in the supported Kubernetes version list (currently 1.20).
    loggingConfig Property Map
    Cluster log configuration information.
    name String
    Cluster name. Under the same region, the name must be unique. Supports upper and lower case English letters, Chinese characters, numbers, and hyphens (-). Numbers cannot be at the first position, and hyphens (-) cannot be at the first or last position. The length is limited to 2 to 64 characters.
    podsConfig Property Map
    Container (Pod) network configuration of the cluster.
    profile String
    Edge cluster: Edge. Non-edge cluster: Cloud. When using edge hosting, set this item to Edge.
    servicesConfig Property Map
    Cluster service (Service) network configuration.

    Supporting Types

    ClusterClusterConfig, ClusterClusterConfigArgs

    SubnetIds List<string>
    The subnet ID for communication within the private network (VPC) of the cluster control plane. You can call the private network API to obtain the subnet ID. Note: When creating a cluster, please ensure that all specified SubnetIds (including but not limited to this parameter) belong to the same private network. It is recommended that you choose subnets in different availability zones as much as possible to improve the high availability of the cluster control plane. Please note that this parameter is not supported to be modified after the cluster is created. Please configure it reasonably.
    ApiServerPublicAccessConfig ClusterClusterConfigApiServerPublicAccessConfig
    Cluster API Server public network access configuration information. It takes effect only when ApiServerPublicAccessEnabled=true.
    ApiServerPublicAccessEnabled bool
    Cluster API Server public network access configuration, values: false: (default value). closed true: opened.
    ResourcePublicAccessDefaultEnabled bool
    Node public network access configuration, values: false: (default value). Do not enable public network access. Existing NAT gateways and rules are not affected. true: Enable public network access. After enabling, a NAT gateway is automatically created for the cluster's private network and corresponding rules are configured. Note: This parameter cannot be modified after the cluster is created. Please configure it reasonably.
    SubnetIds []string
    The subnet ID for communication within the private network (VPC) of the cluster control plane. You can call the private network API to obtain the subnet ID. Note: When creating a cluster, please ensure that all specified SubnetIds (including but not limited to this parameter) belong to the same private network. It is recommended that you choose subnets in different availability zones as much as possible to improve the high availability of the cluster control plane. Please note that this parameter is not supported to be modified after the cluster is created. Please configure it reasonably.
    ApiServerPublicAccessConfig ClusterClusterConfigApiServerPublicAccessConfig
    Cluster API Server public network access configuration information. It takes effect only when ApiServerPublicAccessEnabled=true.
    ApiServerPublicAccessEnabled bool
    Cluster API Server public network access configuration, values: false: (default value). closed true: opened.
    ResourcePublicAccessDefaultEnabled bool
    Node public network access configuration, values: false: (default value). Do not enable public network access. Existing NAT gateways and rules are not affected. true: Enable public network access. After enabling, a NAT gateway is automatically created for the cluster's private network and corresponding rules are configured. Note: This parameter cannot be modified after the cluster is created. Please configure it reasonably.
    subnetIds List<String>
    The subnet ID for communication within the private network (VPC) of the cluster control plane. You can call the private network API to obtain the subnet ID. Note: When creating a cluster, please ensure that all specified SubnetIds (including but not limited to this parameter) belong to the same private network. It is recommended that you choose subnets in different availability zones as much as possible to improve the high availability of the cluster control plane. Please note that this parameter is not supported to be modified after the cluster is created. Please configure it reasonably.
    apiServerPublicAccessConfig ClusterClusterConfigApiServerPublicAccessConfig
    Cluster API Server public network access configuration information. It takes effect only when ApiServerPublicAccessEnabled=true.
    apiServerPublicAccessEnabled Boolean
    Cluster API Server public network access configuration, values: false: (default value). closed true: opened.
    resourcePublicAccessDefaultEnabled Boolean
    Node public network access configuration, values: false: (default value). Do not enable public network access. Existing NAT gateways and rules are not affected. true: Enable public network access. After enabling, a NAT gateway is automatically created for the cluster's private network and corresponding rules are configured. Note: This parameter cannot be modified after the cluster is created. Please configure it reasonably.
    subnetIds string[]
    The subnet ID for communication within the private network (VPC) of the cluster control plane. You can call the private network API to obtain the subnet ID. Note: When creating a cluster, please ensure that all specified SubnetIds (including but not limited to this parameter) belong to the same private network. It is recommended that you choose subnets in different availability zones as much as possible to improve the high availability of the cluster control plane. Please note that this parameter is not supported to be modified after the cluster is created. Please configure it reasonably.
    apiServerPublicAccessConfig ClusterClusterConfigApiServerPublicAccessConfig
    Cluster API Server public network access configuration information. It takes effect only when ApiServerPublicAccessEnabled=true.
    apiServerPublicAccessEnabled boolean
    Cluster API Server public network access configuration, values: false: (default value). closed true: opened.
    resourcePublicAccessDefaultEnabled boolean
    Node public network access configuration, values: false: (default value). Do not enable public network access. Existing NAT gateways and rules are not affected. true: Enable public network access. After enabling, a NAT gateway is automatically created for the cluster's private network and corresponding rules are configured. Note: This parameter cannot be modified after the cluster is created. Please configure it reasonably.
    subnet_ids Sequence[str]
    The subnet ID for communication within the private network (VPC) of the cluster control plane. You can call the private network API to obtain the subnet ID. Note: When creating a cluster, please ensure that all specified SubnetIds (including but not limited to this parameter) belong to the same private network. It is recommended that you choose subnets in different availability zones as much as possible to improve the high availability of the cluster control plane. Please note that this parameter is not supported to be modified after the cluster is created. Please configure it reasonably.
    api_server_public_access_config ClusterClusterConfigApiServerPublicAccessConfig
    Cluster API Server public network access configuration information. It takes effect only when ApiServerPublicAccessEnabled=true.
    api_server_public_access_enabled bool
    Cluster API Server public network access configuration, values: false: (default value). closed true: opened.
    resource_public_access_default_enabled bool
    Node public network access configuration, values: false: (default value). Do not enable public network access. Existing NAT gateways and rules are not affected. true: Enable public network access. After enabling, a NAT gateway is automatically created for the cluster's private network and corresponding rules are configured. Note: This parameter cannot be modified after the cluster is created. Please configure it reasonably.
    subnetIds List<String>
    The subnet ID for communication within the private network (VPC) of the cluster control plane. You can call the private network API to obtain the subnet ID. Note: When creating a cluster, please ensure that all specified SubnetIds (including but not limited to this parameter) belong to the same private network. It is recommended that you choose subnets in different availability zones as much as possible to improve the high availability of the cluster control plane. Please note that this parameter is not supported to be modified after the cluster is created. Please configure it reasonably.
    apiServerPublicAccessConfig Property Map
    Cluster API Server public network access configuration information. It takes effect only when ApiServerPublicAccessEnabled=true.
    apiServerPublicAccessEnabled Boolean
    Cluster API Server public network access configuration, values: false: (default value). closed true: opened.
    resourcePublicAccessDefaultEnabled Boolean
    Node public network access configuration, values: false: (default value). Do not enable public network access. Existing NAT gateways and rules are not affected. true: Enable public network access. After enabling, a NAT gateway is automatically created for the cluster's private network and corresponding rules are configured. Note: This parameter cannot be modified after the cluster is created. Please configure it reasonably.

    ClusterClusterConfigApiServerPublicAccessConfig, ClusterClusterConfigApiServerPublicAccessConfigArgs

    publicAccessNetworkConfig Property Map
    Public network access network configuration.

    ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfig, ClusterClusterConfigApiServerPublicAccessConfigPublicAccessNetworkConfigArgs

    Bandwidth int
    The peak bandwidth of the public IP, unit: Mbps.
    BillingType string
    Billing type of public IP, the value is PostPaidByBandwidth or PostPaidByTraffic.
    Bandwidth int
    The peak bandwidth of the public IP, unit: Mbps.
    BillingType string
    Billing type of public IP, the value is PostPaidByBandwidth or PostPaidByTraffic.
    bandwidth Integer
    The peak bandwidth of the public IP, unit: Mbps.
    billingType String
    Billing type of public IP, the value is PostPaidByBandwidth or PostPaidByTraffic.
    bandwidth number
    The peak bandwidth of the public IP, unit: Mbps.
    billingType string
    Billing type of public IP, the value is PostPaidByBandwidth or PostPaidByTraffic.
    bandwidth int
    The peak bandwidth of the public IP, unit: Mbps.
    billing_type str
    Billing type of public IP, the value is PostPaidByBandwidth or PostPaidByTraffic.
    bandwidth Number
    The peak bandwidth of the public IP, unit: Mbps.
    billingType String
    Billing type of public IP, the value is PostPaidByBandwidth or PostPaidByTraffic.

    ClusterLoggingConfig, ClusterLoggingConfigArgs

    LogProjectId string
    The TLS log item ID of the collection target.
    LogSetups List<ClusterLoggingConfigLogSetup>
    Cluster logging options. This structure can only be modified and added, and cannot be deleted. When encountering a cannot be deleted error, please query the log setups of the current cluster and fill in the current tf file.
    LogProjectId string
    The TLS log item ID of the collection target.
    LogSetups []ClusterLoggingConfigLogSetup
    Cluster logging options. This structure can only be modified and added, and cannot be deleted. When encountering a cannot be deleted error, please query the log setups of the current cluster and fill in the current tf file.
    logProjectId String
    The TLS log item ID of the collection target.
    logSetups List<ClusterLoggingConfigLogSetup>
    Cluster logging options. This structure can only be modified and added, and cannot be deleted. When encountering a cannot be deleted error, please query the log setups of the current cluster and fill in the current tf file.
    logProjectId string
    The TLS log item ID of the collection target.
    logSetups ClusterLoggingConfigLogSetup[]
    Cluster logging options. This structure can only be modified and added, and cannot be deleted. When encountering a cannot be deleted error, please query the log setups of the current cluster and fill in the current tf file.
    log_project_id str
    The TLS log item ID of the collection target.
    log_setups Sequence[ClusterLoggingConfigLogSetup]
    Cluster logging options. This structure can only be modified and added, and cannot be deleted. When encountering a cannot be deleted error, please query the log setups of the current cluster and fill in the current tf file.
    logProjectId String
    The TLS log item ID of the collection target.
    logSetups List<Property Map>
    Cluster logging options. This structure can only be modified and added, and cannot be deleted. When encountering a cannot be deleted error, please query the log setups of the current cluster and fill in the current tf file.

    ClusterLoggingConfigLogSetup, ClusterLoggingConfigLogSetupArgs

    LogType string
    The current types of logs that can be enabled are: Audit: Cluster audit logs. KubeApiServer: kube-apiserver component logs. KubeScheduler: kube-scheduler component logs. KubeControllerManager: kube-controller-manager component logs.
    Enabled bool
    Whether to enable the log option, true means enable, false means not enable, the default is false. When Enabled is changed from false to true, a new Topic will be created.
    LogTtl int
    The storage time of logs in Log Service. After the specified log storage time is exceeded, the expired logs in this log topic will be automatically cleared. The unit is days, and the default is 30 days. The value range is 1 to 3650, specifying 3650 days means permanent storage.
    LogType string
    The current types of logs that can be enabled are: Audit: Cluster audit logs. KubeApiServer: kube-apiserver component logs. KubeScheduler: kube-scheduler component logs. KubeControllerManager: kube-controller-manager component logs.
    Enabled bool
    Whether to enable the log option, true means enable, false means not enable, the default is false. When Enabled is changed from false to true, a new Topic will be created.
    LogTtl int
    The storage time of logs in Log Service. After the specified log storage time is exceeded, the expired logs in this log topic will be automatically cleared. The unit is days, and the default is 30 days. The value range is 1 to 3650, specifying 3650 days means permanent storage.
    logType String
    The current types of logs that can be enabled are: Audit: Cluster audit logs. KubeApiServer: kube-apiserver component logs. KubeScheduler: kube-scheduler component logs. KubeControllerManager: kube-controller-manager component logs.
    enabled Boolean
    Whether to enable the log option, true means enable, false means not enable, the default is false. When Enabled is changed from false to true, a new Topic will be created.
    logTtl Integer
    The storage time of logs in Log Service. After the specified log storage time is exceeded, the expired logs in this log topic will be automatically cleared. The unit is days, and the default is 30 days. The value range is 1 to 3650, specifying 3650 days means permanent storage.
    logType string
    The current types of logs that can be enabled are: Audit: Cluster audit logs. KubeApiServer: kube-apiserver component logs. KubeScheduler: kube-scheduler component logs. KubeControllerManager: kube-controller-manager component logs.
    enabled boolean
    Whether to enable the log option, true means enable, false means not enable, the default is false. When Enabled is changed from false to true, a new Topic will be created.
    logTtl number
    The storage time of logs in Log Service. After the specified log storage time is exceeded, the expired logs in this log topic will be automatically cleared. The unit is days, and the default is 30 days. The value range is 1 to 3650, specifying 3650 days means permanent storage.
    log_type str
    The current types of logs that can be enabled are: Audit: Cluster audit logs. KubeApiServer: kube-apiserver component logs. KubeScheduler: kube-scheduler component logs. KubeControllerManager: kube-controller-manager component logs.
    enabled bool
    Whether to enable the log option, true means enable, false means not enable, the default is false. When Enabled is changed from false to true, a new Topic will be created.
    log_ttl int
    The storage time of logs in Log Service. After the specified log storage time is exceeded, the expired logs in this log topic will be automatically cleared. The unit is days, and the default is 30 days. The value range is 1 to 3650, specifying 3650 days means permanent storage.
    logType String
    The current types of logs that can be enabled are: Audit: Cluster audit logs. KubeApiServer: kube-apiserver component logs. KubeScheduler: kube-scheduler component logs. KubeControllerManager: kube-controller-manager component logs.
    enabled Boolean
    Whether to enable the log option, true means enable, false means not enable, the default is false. When Enabled is changed from false to true, a new Topic will be created.
    logTtl Number
    The storage time of logs in Log Service. After the specified log storage time is exceeded, the expired logs in this log topic will be automatically cleared. The unit is days, and the default is 30 days. The value range is 1 to 3650, specifying 3650 days means permanent storage.

    ClusterPodsConfig, ClusterPodsConfigArgs

    PodNetworkMode string
    Container network model, values: Flannel: Flannel network model, an independent Underlay container network solution. Combined with the global routing capability of a private network (VPC), it realizes a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution implemented based on the elastic network interface (ENI) of a private network, with high network communication performance. Description: After the cluster is created, this parameter is not supported to be modified temporarily. Please configure it reasonably.
    FlannelConfig ClusterPodsConfigFlannelConfig
    Flannel network configuration. It can be configured only when PodNetworkMode=Flannel, but it is not mandatory.
    VpcCniConfig ClusterPodsConfigVpcCniConfig
    VPC-CNI network configuration. PodNetworkMode=VpcCniShared, but it is not mandatory.
    PodNetworkMode string
    Container network model, values: Flannel: Flannel network model, an independent Underlay container network solution. Combined with the global routing capability of a private network (VPC), it realizes a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution implemented based on the elastic network interface (ENI) of a private network, with high network communication performance. Description: After the cluster is created, this parameter is not supported to be modified temporarily. Please configure it reasonably.
    FlannelConfig ClusterPodsConfigFlannelConfig
    Flannel network configuration. It can be configured only when PodNetworkMode=Flannel, but it is not mandatory.
    VpcCniConfig ClusterPodsConfigVpcCniConfig
    VPC-CNI network configuration. PodNetworkMode=VpcCniShared, but it is not mandatory.
    podNetworkMode String
    Container network model, values: Flannel: Flannel network model, an independent Underlay container network solution. Combined with the global routing capability of a private network (VPC), it realizes a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution implemented based on the elastic network interface (ENI) of a private network, with high network communication performance. Description: After the cluster is created, this parameter is not supported to be modified temporarily. Please configure it reasonably.
    flannelConfig ClusterPodsConfigFlannelConfig
    Flannel network configuration. It can be configured only when PodNetworkMode=Flannel, but it is not mandatory.
    vpcCniConfig ClusterPodsConfigVpcCniConfig
    VPC-CNI network configuration. PodNetworkMode=VpcCniShared, but it is not mandatory.
    podNetworkMode string
    Container network model, values: Flannel: Flannel network model, an independent Underlay container network solution. Combined with the global routing capability of a private network (VPC), it realizes a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution implemented based on the elastic network interface (ENI) of a private network, with high network communication performance. Description: After the cluster is created, this parameter is not supported to be modified temporarily. Please configure it reasonably.
    flannelConfig ClusterPodsConfigFlannelConfig
    Flannel network configuration. It can be configured only when PodNetworkMode=Flannel, but it is not mandatory.
    vpcCniConfig ClusterPodsConfigVpcCniConfig
    VPC-CNI network configuration. PodNetworkMode=VpcCniShared, but it is not mandatory.
    pod_network_mode str
    Container network model, values: Flannel: Flannel network model, an independent Underlay container network solution. Combined with the global routing capability of a private network (VPC), it realizes a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution implemented based on the elastic network interface (ENI) of a private network, with high network communication performance. Description: After the cluster is created, this parameter is not supported to be modified temporarily. Please configure it reasonably.
    flannel_config ClusterPodsConfigFlannelConfig
    Flannel network configuration. It can be configured only when PodNetworkMode=Flannel, but it is not mandatory.
    vpc_cni_config ClusterPodsConfigVpcCniConfig
    VPC-CNI network configuration. PodNetworkMode=VpcCniShared, but it is not mandatory.
    podNetworkMode String
    Container network model, values: Flannel: Flannel network model, an independent Underlay container network solution. Combined with the global routing capability of a private network (VPC), it realizes a high-performance network experience for the cluster. VpcCniShared: VPC-CNI network model, an Underlay container network solution implemented based on the elastic network interface (ENI) of a private network, with high network communication performance. Description: After the cluster is created, this parameter is not supported to be modified temporarily. Please configure it reasonably.
    flannelConfig Property Map
    Flannel network configuration. It can be configured only when PodNetworkMode=Flannel, but it is not mandatory.
    vpcCniConfig Property Map
    VPC-CNI network configuration. PodNetworkMode=VpcCniShared, but it is not mandatory.

    ClusterPodsConfigFlannelConfig, ClusterPodsConfigFlannelConfigArgs

    PodCidrs List<string>
    Pod CIDR of Flannel model container network. Only configurable when PodNetworkMode=Flannel, but not mandatory. Note: The number of Pods in the cluster is limited by the number of IPs in this CIDR. This parameter cannot be modified after cluster creation. Please plan the Pod CIDR reasonably. Cannot conflict with the following network segments: private network network segments corresponding to ClusterConfig.SubnetIds. All clusters within the same private network's FlannelConfig.PodCidrs. All clusters within the same private network's ServiceConfig.ServiceCidrsv4. Different clusters within the same private network's FlannelConfig.PodCidrs cannot conflict.
    MaxPodsPerNode int
    Upper limit of the number of single-node Pod instances in the Flannel model container network. Values: 64(default value), 16, 32, 128, 256.
    PodCidrs []string
    Pod CIDR of Flannel model container network. Only configurable when PodNetworkMode=Flannel, but not mandatory. Note: The number of Pods in the cluster is limited by the number of IPs in this CIDR. This parameter cannot be modified after cluster creation. Please plan the Pod CIDR reasonably. Cannot conflict with the following network segments: private network network segments corresponding to ClusterConfig.SubnetIds. All clusters within the same private network's FlannelConfig.PodCidrs. All clusters within the same private network's ServiceConfig.ServiceCidrsv4. Different clusters within the same private network's FlannelConfig.PodCidrs cannot conflict.
    MaxPodsPerNode int
    Upper limit of the number of single-node Pod instances in the Flannel model container network. Values: 64(default value), 16, 32, 128, 256.
    podCidrs List<String>
    Pod CIDR of Flannel model container network. Only configurable when PodNetworkMode=Flannel, but not mandatory. Note: The number of Pods in the cluster is limited by the number of IPs in this CIDR. This parameter cannot be modified after cluster creation. Please plan the Pod CIDR reasonably. Cannot conflict with the following network segments: private network network segments corresponding to ClusterConfig.SubnetIds. All clusters within the same private network's FlannelConfig.PodCidrs. All clusters within the same private network's ServiceConfig.ServiceCidrsv4. Different clusters within the same private network's FlannelConfig.PodCidrs cannot conflict.
    maxPodsPerNode Integer
    Upper limit of the number of single-node Pod instances in the Flannel model container network. Values: 64(default value), 16, 32, 128, 256.
    podCidrs string[]
    Pod CIDR of Flannel model container network. Only configurable when PodNetworkMode=Flannel, but not mandatory. Note: The number of Pods in the cluster is limited by the number of IPs in this CIDR. This parameter cannot be modified after cluster creation. Please plan the Pod CIDR reasonably. Cannot conflict with the following network segments: private network network segments corresponding to ClusterConfig.SubnetIds. All clusters within the same private network's FlannelConfig.PodCidrs. All clusters within the same private network's ServiceConfig.ServiceCidrsv4. Different clusters within the same private network's FlannelConfig.PodCidrs cannot conflict.
    maxPodsPerNode number
    Upper limit of the number of single-node Pod instances in the Flannel model container network. Values: 64(default value), 16, 32, 128, 256.
    pod_cidrs Sequence[str]
    Pod CIDR of Flannel model container network. Only configurable when PodNetworkMode=Flannel, but not mandatory. Note: The number of Pods in the cluster is limited by the number of IPs in this CIDR. This parameter cannot be modified after cluster creation. Please plan the Pod CIDR reasonably. Cannot conflict with the following network segments: private network network segments corresponding to ClusterConfig.SubnetIds. All clusters within the same private network's FlannelConfig.PodCidrs. All clusters within the same private network's ServiceConfig.ServiceCidrsv4. Different clusters within the same private network's FlannelConfig.PodCidrs cannot conflict.
    max_pods_per_node int
    Upper limit of the number of single-node Pod instances in the Flannel model container network. Values: 64(default value), 16, 32, 128, 256.
    podCidrs List<String>
    Pod CIDR of Flannel model container network. Only configurable when PodNetworkMode=Flannel, but not mandatory. Note: The number of Pods in the cluster is limited by the number of IPs in this CIDR. This parameter cannot be modified after cluster creation. Please plan the Pod CIDR reasonably. Cannot conflict with the following network segments: private network network segments corresponding to ClusterConfig.SubnetIds. All clusters within the same private network's FlannelConfig.PodCidrs. All clusters within the same private network's ServiceConfig.ServiceCidrsv4. Different clusters within the same private network's FlannelConfig.PodCidrs cannot conflict.
    maxPodsPerNode Number
    Upper limit of the number of single-node Pod instances in the Flannel model container network. Values: 64(default value), 16, 32, 128, 256.

    ClusterPodsConfigVpcCniConfig, ClusterPodsConfigVpcCniConfigArgs

    SubnetIds List<string>
    A list of Pod subnet IDs for the VPC-CNI container network.
    SubnetIds []string
    A list of Pod subnet IDs for the VPC-CNI container network.
    subnetIds List<String>
    A list of Pod subnet IDs for the VPC-CNI container network.
    subnetIds string[]
    A list of Pod subnet IDs for the VPC-CNI container network.
    subnet_ids Sequence[str]
    A list of Pod subnet IDs for the VPC-CNI container network.
    subnetIds List<String>
    A list of Pod subnet IDs for the VPC-CNI container network.

    ClusterServicesConfig, ClusterServicesConfigArgs

    ServiceCidrsv4s List<string>
    CIDR used by services within the cluster. It cannot conflict with the following network segments: FlannelConfig.PodCidrs. SubnetIds of all clusters within the same private network or FlannelConfig.VpcConfig.SubnetIds. ServiceConfig.ServiceCidrsv4 of all clusters within the same private network (this parameter).It is stated that currently only one array element is supported. When multiple values are specified, only the first value takes effect.
    ServiceCidrsv4s []string
    CIDR used by services within the cluster. It cannot conflict with the following network segments: FlannelConfig.PodCidrs. SubnetIds of all clusters within the same private network or FlannelConfig.VpcConfig.SubnetIds. ServiceConfig.ServiceCidrsv4 of all clusters within the same private network (this parameter).It is stated that currently only one array element is supported. When multiple values are specified, only the first value takes effect.
    serviceCidrsv4s List<String>
    CIDR used by services within the cluster. It cannot conflict with the following network segments: FlannelConfig.PodCidrs. SubnetIds of all clusters within the same private network or FlannelConfig.VpcConfig.SubnetIds. ServiceConfig.ServiceCidrsv4 of all clusters within the same private network (this parameter).It is stated that currently only one array element is supported. When multiple values are specified, only the first value takes effect.
    serviceCidrsv4s string[]
    CIDR used by services within the cluster. It cannot conflict with the following network segments: FlannelConfig.PodCidrs. SubnetIds of all clusters within the same private network or FlannelConfig.VpcConfig.SubnetIds. ServiceConfig.ServiceCidrsv4 of all clusters within the same private network (this parameter).It is stated that currently only one array element is supported. When multiple values are specified, only the first value takes effect.
    service_cidrsv4s Sequence[str]
    CIDR used by services within the cluster. It cannot conflict with the following network segments: FlannelConfig.PodCidrs. SubnetIds of all clusters within the same private network or FlannelConfig.VpcConfig.SubnetIds. ServiceConfig.ServiceCidrsv4 of all clusters within the same private network (this parameter).It is stated that currently only one array element is supported. When multiple values are specified, only the first value takes effect.
    serviceCidrsv4s List<String>
    CIDR used by services within the cluster. It cannot conflict with the following network segments: FlannelConfig.PodCidrs. SubnetIds of all clusters within the same private network or FlannelConfig.VpcConfig.SubnetIds. ServiceConfig.ServiceCidrsv4 of all clusters within the same private network (this parameter).It is stated that currently only one array element is supported. When multiple values are specified, only the first value takes effect.

    Import

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

    $ pulumi import volcengine:veecp/cluster:Cluster 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