1. Packages
  2. Packages
  3. Vkcs Provider
  4. API Docs
  5. KubernetesClusterV2
Viewing docs for vkcs 0.15.0
published on Tuesday, May 5, 2026 by vk-cs
Viewing docs for vkcs 0.15.0
published on Tuesday, May 5, 2026 by vk-cs

    Standard Kubernetes cluster

    import * as pulumi from "@pulumi/pulumi";
    import * as vkcs from "@pulumi/vkcs";
    
    const k8sCluster = new vkcs.KubernetesClusterV2("k8s_cluster", {
        name: "k8s-standard-cluster",
        description: "An example of a standard Kubernetes cluster v2 created via Terraform",
        version: "v1.34.2",
        clusterType: "standard",
        masterCount: 1,
        availabilityZones: ["MS1"],
        masterFlavor: master.id,
        networkId: appVkcsNetworkingNetwork.id,
        subnetId: appVkcsNetworkingSubnet.id,
        loadbalancerSubnetId: appVkcsNetworkingSubnet.id,
        networkPlugin: "calico",
        podsIpv4Cidr: "10.100.0.0/16",
    }, {
        dependsOn: [app],
    });
    
    import pulumi
    import pulumi_vkcs as vkcs
    
    k8s_cluster = vkcs.KubernetesClusterV2("k8s_cluster",
        name="k8s-standard-cluster",
        description="An example of a standard Kubernetes cluster v2 created via Terraform",
        version="v1.34.2",
        cluster_type="standard",
        master_count=1,
        availability_zones=["MS1"],
        master_flavor=master["id"],
        network_id=app_vkcs_networking_network["id"],
        subnet_id=app_vkcs_networking_subnet["id"],
        loadbalancer_subnet_id=app_vkcs_networking_subnet["id"],
        network_plugin="calico",
        pods_ipv4_cidr="10.100.0.0/16",
        opts = pulumi.ResourceOptions(depends_on=[app]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vkcs.NewKubernetesClusterV2(ctx, "k8s_cluster", &vkcs.KubernetesClusterV2Args{
    			Name:        pulumi.String("k8s-standard-cluster"),
    			Description: pulumi.String("An example of a standard Kubernetes cluster v2 created via Terraform"),
    			Version:     pulumi.String("v1.34.2"),
    			ClusterType: pulumi.String("standard"),
    			MasterCount: pulumi.Float64(1),
    			AvailabilityZones: pulumi.StringArray{
    				pulumi.String("MS1"),
    			},
    			MasterFlavor:         pulumi.Any(master.Id),
    			NetworkId:            pulumi.Any(appVkcsNetworkingNetwork.Id),
    			SubnetId:             pulumi.Any(appVkcsNetworkingSubnet.Id),
    			LoadbalancerSubnetId: pulumi.Any(appVkcsNetworkingSubnet.Id),
    			NetworkPlugin:        pulumi.String("calico"),
    			PodsIpv4Cidr:         pulumi.String("10.100.0.0/16"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			app,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Vkcs = Pulumi.Vkcs;
    
    return await Deployment.RunAsync(() => 
    {
        var k8sCluster = new Vkcs.KubernetesClusterV2("k8s_cluster", new()
        {
            Name = "k8s-standard-cluster",
            Description = "An example of a standard Kubernetes cluster v2 created via Terraform",
            Version = "v1.34.2",
            ClusterType = "standard",
            MasterCount = 1,
            AvailabilityZones = new[]
            {
                "MS1",
            },
            MasterFlavor = master.Id,
            NetworkId = appVkcsNetworkingNetwork.Id,
            SubnetId = appVkcsNetworkingSubnet.Id,
            LoadbalancerSubnetId = appVkcsNetworkingSubnet.Id,
            NetworkPlugin = "calico",
            PodsIpv4Cidr = "10.100.0.0/16",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                app,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vkcs.KubernetesClusterV2;
    import com.pulumi.vkcs.KubernetesClusterV2Args;
    import com.pulumi.resources.CustomResourceOptions;
    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) {
            var k8sCluster = new KubernetesClusterV2("k8sCluster", KubernetesClusterV2Args.builder()
                .name("k8s-standard-cluster")
                .description("An example of a standard Kubernetes cluster v2 created via Terraform")
                .version("v1.34.2")
                .clusterType("standard")
                .masterCount(1.0)
                .availabilityZones("MS1")
                .masterFlavor(master.id())
                .networkId(appVkcsNetworkingNetwork.id())
                .subnetId(appVkcsNetworkingSubnet.id())
                .loadbalancerSubnetId(appVkcsNetworkingSubnet.id())
                .networkPlugin("calico")
                .podsIpv4Cidr("10.100.0.0/16")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(app)
                    .build());
    
        }
    }
    
    resources:
      k8sCluster:
        type: vkcs:KubernetesClusterV2
        name: k8s_cluster
        properties:
          name: k8s-standard-cluster
          description: An example of a standard Kubernetes cluster v2 created via Terraform
          version: v1.34.2
          clusterType: standard
          masterCount: 1
          availabilityZones:
            - MS1
          masterFlavor: ${master.id}
          networkId: ${appVkcsNetworkingNetwork.id}
          subnetId: ${appVkcsNetworkingSubnet.id}
          loadbalancerSubnetId: ${appVkcsNetworkingSubnet.id}
          networkPlugin: calico
          podsIpv4Cidr: 10.100.0.0/16
        options:
          dependsOn:
            - ${app}
    

    Regional Kubernetes cluster

    import * as pulumi from "@pulumi/pulumi";
    import * as vkcs from "@pulumi/vkcs";
    
    const k8sCluster = new vkcs.KubernetesClusterV2("k8s_cluster", {
        name: "k8s-regional-cluster",
        description: "An example of a regional Kubernetes cluster v2 created via Terraform",
        version: "v1.34.2",
        clusterType: "regional",
        masterCount: 3,
        availabilityZones: [
            "GZ1",
            "MS1",
            "ME1",
        ],
        masterFlavor: master.id,
        networkId: appVkcsNetworkingNetwork.id,
        subnetId: appVkcsNetworkingSubnet.id,
        loadbalancerSubnetId: appVkcsNetworkingSubnet.id,
        networkPlugin: "calico",
        podsIpv4Cidr: "10.100.0.0/16",
    }, {
        dependsOn: [app],
    });
    
    import pulumi
    import pulumi_vkcs as vkcs
    
    k8s_cluster = vkcs.KubernetesClusterV2("k8s_cluster",
        name="k8s-regional-cluster",
        description="An example of a regional Kubernetes cluster v2 created via Terraform",
        version="v1.34.2",
        cluster_type="regional",
        master_count=3,
        availability_zones=[
            "GZ1",
            "MS1",
            "ME1",
        ],
        master_flavor=master["id"],
        network_id=app_vkcs_networking_network["id"],
        subnet_id=app_vkcs_networking_subnet["id"],
        loadbalancer_subnet_id=app_vkcs_networking_subnet["id"],
        network_plugin="calico",
        pods_ipv4_cidr="10.100.0.0/16",
        opts = pulumi.ResourceOptions(depends_on=[app]))
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/vkcs/vkcs"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vkcs.NewKubernetesClusterV2(ctx, "k8s_cluster", &vkcs.KubernetesClusterV2Args{
    			Name:        pulumi.String("k8s-regional-cluster"),
    			Description: pulumi.String("An example of a regional Kubernetes cluster v2 created via Terraform"),
    			Version:     pulumi.String("v1.34.2"),
    			ClusterType: pulumi.String("regional"),
    			MasterCount: pulumi.Float64(3),
    			AvailabilityZones: pulumi.StringArray{
    				pulumi.String("GZ1"),
    				pulumi.String("MS1"),
    				pulumi.String("ME1"),
    			},
    			MasterFlavor:         pulumi.Any(master.Id),
    			NetworkId:            pulumi.Any(appVkcsNetworkingNetwork.Id),
    			SubnetId:             pulumi.Any(appVkcsNetworkingSubnet.Id),
    			LoadbalancerSubnetId: pulumi.Any(appVkcsNetworkingSubnet.Id),
    			NetworkPlugin:        pulumi.String("calico"),
    			PodsIpv4Cidr:         pulumi.String("10.100.0.0/16"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			app,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Vkcs = Pulumi.Vkcs;
    
    return await Deployment.RunAsync(() => 
    {
        var k8sCluster = new Vkcs.KubernetesClusterV2("k8s_cluster", new()
        {
            Name = "k8s-regional-cluster",
            Description = "An example of a regional Kubernetes cluster v2 created via Terraform",
            Version = "v1.34.2",
            ClusterType = "regional",
            MasterCount = 3,
            AvailabilityZones = new[]
            {
                "GZ1",
                "MS1",
                "ME1",
            },
            MasterFlavor = master.Id,
            NetworkId = appVkcsNetworkingNetwork.Id,
            SubnetId = appVkcsNetworkingSubnet.Id,
            LoadbalancerSubnetId = appVkcsNetworkingSubnet.Id,
            NetworkPlugin = "calico",
            PodsIpv4Cidr = "10.100.0.0/16",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                app,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vkcs.KubernetesClusterV2;
    import com.pulumi.vkcs.KubernetesClusterV2Args;
    import com.pulumi.resources.CustomResourceOptions;
    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) {
            var k8sCluster = new KubernetesClusterV2("k8sCluster", KubernetesClusterV2Args.builder()
                .name("k8s-regional-cluster")
                .description("An example of a regional Kubernetes cluster v2 created via Terraform")
                .version("v1.34.2")
                .clusterType("regional")
                .masterCount(3.0)
                .availabilityZones(            
                    "GZ1",
                    "MS1",
                    "ME1")
                .masterFlavor(master.id())
                .networkId(appVkcsNetworkingNetwork.id())
                .subnetId(appVkcsNetworkingSubnet.id())
                .loadbalancerSubnetId(appVkcsNetworkingSubnet.id())
                .networkPlugin("calico")
                .podsIpv4Cidr("10.100.0.0/16")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(app)
                    .build());
    
        }
    }
    
    resources:
      k8sCluster:
        type: vkcs:KubernetesClusterV2
        name: k8s_cluster
        properties:
          name: k8s-regional-cluster
          description: An example of a regional Kubernetes cluster v2 created via Terraform
          version: v1.34.2
          clusterType: regional
          masterCount: 3
          availabilityZones:
            - GZ1
            - MS1
            - ME1
          masterFlavor: ${master.id}
          networkId: ${appVkcsNetworkingNetwork.id}
          subnetId: ${appVkcsNetworkingSubnet.id}
          loadbalancerSubnetId: ${appVkcsNetworkingSubnet.id}
          networkPlugin: calico
          podsIpv4Cidr: 10.100.0.0/16
        options:
          dependsOn:
            - ${app}
    

    Create KubernetesClusterV2 Resource

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

    Constructor syntax

    new KubernetesClusterV2(name: string, args: KubernetesClusterV2Args, opts?: CustomResourceOptions);
    @overload
    def KubernetesClusterV2(resource_name: str,
                            args: KubernetesClusterV2Args,
                            opts: Optional[ResourceOptions] = None)
    
    @overload
    def KubernetesClusterV2(resource_name: str,
                            opts: Optional[ResourceOptions] = None,
                            availability_zones: Optional[Sequence[str]] = None,
                            cluster_type: Optional[str] = None,
                            version: Optional[str] = None,
                            subnet_id: Optional[str] = None,
                            pods_ipv4_cidr: Optional[str] = None,
                            network_plugin: Optional[str] = None,
                            network_id: Optional[str] = None,
                            loadbalancer_subnet_id: Optional[str] = None,
                            master_count: Optional[float] = None,
                            master_flavor: Optional[str] = None,
                            name: Optional[str] = None,
                            loadbalancer_allowed_cidrs: Optional[Sequence[str]] = None,
                            labels: Optional[Mapping[str, str]] = None,
                            insecure_registries: Optional[Sequence[str]] = None,
                            public_ip: Optional[bool] = None,
                            region: Optional[str] = None,
                            external_network_id: Optional[str] = None,
                            timeouts: Optional[KubernetesClusterV2TimeoutsArgs] = None,
                            uuid: Optional[str] = None,
                            description: Optional[str] = None)
    func NewKubernetesClusterV2(ctx *Context, name string, args KubernetesClusterV2Args, opts ...ResourceOption) (*KubernetesClusterV2, error)
    public KubernetesClusterV2(string name, KubernetesClusterV2Args args, CustomResourceOptions? opts = null)
    public KubernetesClusterV2(String name, KubernetesClusterV2Args args)
    public KubernetesClusterV2(String name, KubernetesClusterV2Args args, CustomResourceOptions options)
    
    type: vkcs:KubernetesClusterV2
    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 KubernetesClusterV2Args
    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 KubernetesClusterV2Args
    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 KubernetesClusterV2Args
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args KubernetesClusterV2Args
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args KubernetesClusterV2Args
    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 kubernetesClusterV2Resource = new Vkcs.KubernetesClusterV2("kubernetesClusterV2Resource", new()
    {
        AvailabilityZones = new[]
        {
            "string",
        },
        ClusterType = "string",
        Version = "string",
        SubnetId = "string",
        PodsIpv4Cidr = "string",
        NetworkPlugin = "string",
        NetworkId = "string",
        LoadbalancerSubnetId = "string",
        MasterCount = 0,
        MasterFlavor = "string",
        Name = "string",
        LoadbalancerAllowedCidrs = new[]
        {
            "string",
        },
        Labels = 
        {
            { "string", "string" },
        },
        InsecureRegistries = new[]
        {
            "string",
        },
        PublicIp = false,
        Region = "string",
        ExternalNetworkId = "string",
        Timeouts = new Vkcs.Inputs.KubernetesClusterV2TimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
        Uuid = "string",
        Description = "string",
    });
    
    example, err := vkcs.NewKubernetesClusterV2(ctx, "kubernetesClusterV2Resource", &vkcs.KubernetesClusterV2Args{
    	AvailabilityZones: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	ClusterType:          pulumi.String("string"),
    	Version:              pulumi.String("string"),
    	SubnetId:             pulumi.String("string"),
    	PodsIpv4Cidr:         pulumi.String("string"),
    	NetworkPlugin:        pulumi.String("string"),
    	NetworkId:            pulumi.String("string"),
    	LoadbalancerSubnetId: pulumi.String("string"),
    	MasterCount:          pulumi.Float64(0),
    	MasterFlavor:         pulumi.String("string"),
    	Name:                 pulumi.String("string"),
    	LoadbalancerAllowedCidrs: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	InsecureRegistries: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	PublicIp:          pulumi.Bool(false),
    	Region:            pulumi.String("string"),
    	ExternalNetworkId: pulumi.String("string"),
    	Timeouts: &vkcs.KubernetesClusterV2TimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    	Uuid:        pulumi.String("string"),
    	Description: pulumi.String("string"),
    })
    
    var kubernetesClusterV2Resource = new KubernetesClusterV2("kubernetesClusterV2Resource", KubernetesClusterV2Args.builder()
        .availabilityZones("string")
        .clusterType("string")
        .version("string")
        .subnetId("string")
        .podsIpv4Cidr("string")
        .networkPlugin("string")
        .networkId("string")
        .loadbalancerSubnetId("string")
        .masterCount(0.0)
        .masterFlavor("string")
        .name("string")
        .loadbalancerAllowedCidrs("string")
        .labels(Map.of("string", "string"))
        .insecureRegistries("string")
        .publicIp(false)
        .region("string")
        .externalNetworkId("string")
        .timeouts(KubernetesClusterV2TimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .uuid("string")
        .description("string")
        .build());
    
    kubernetes_cluster_v2_resource = vkcs.KubernetesClusterV2("kubernetesClusterV2Resource",
        availability_zones=["string"],
        cluster_type="string",
        version="string",
        subnet_id="string",
        pods_ipv4_cidr="string",
        network_plugin="string",
        network_id="string",
        loadbalancer_subnet_id="string",
        master_count=float(0),
        master_flavor="string",
        name="string",
        loadbalancer_allowed_cidrs=["string"],
        labels={
            "string": "string",
        },
        insecure_registries=["string"],
        public_ip=False,
        region="string",
        external_network_id="string",
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        },
        uuid="string",
        description="string")
    
    const kubernetesClusterV2Resource = new vkcs.KubernetesClusterV2("kubernetesClusterV2Resource", {
        availabilityZones: ["string"],
        clusterType: "string",
        version: "string",
        subnetId: "string",
        podsIpv4Cidr: "string",
        networkPlugin: "string",
        networkId: "string",
        loadbalancerSubnetId: "string",
        masterCount: 0,
        masterFlavor: "string",
        name: "string",
        loadbalancerAllowedCidrs: ["string"],
        labels: {
            string: "string",
        },
        insecureRegistries: ["string"],
        publicIp: false,
        region: "string",
        externalNetworkId: "string",
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
        uuid: "string",
        description: "string",
    });
    
    type: vkcs:KubernetesClusterV2
    properties:
        availabilityZones:
            - string
        clusterType: string
        description: string
        externalNetworkId: string
        insecureRegistries:
            - string
        labels:
            string: string
        loadbalancerAllowedCidrs:
            - string
        loadbalancerSubnetId: string
        masterCount: 0
        masterFlavor: string
        name: string
        networkId: string
        networkPlugin: string
        podsIpv4Cidr: string
        publicIp: false
        region: string
        subnetId: string
        timeouts:
            create: string
            delete: string
            update: string
        uuid: string
        version: string
    

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

    AvailabilityZones List<string>
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    ClusterType string
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    LoadbalancerSubnetId string
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    MasterCount double
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    MasterFlavor string
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    NetworkId string
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    NetworkPlugin string
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    PodsIpv4Cidr string
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    SubnetId string
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    Version string
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    Description string
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    ExternalNetworkId string
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    InsecureRegistries List<string>
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    Labels Dictionary<string, string>
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    LoadbalancerAllowedCidrs List<string>
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    Name string
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    PublicIp bool
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    Region string
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    Timeouts KubernetesClusterV2Timeouts
    Timeouts configuration for create, update and delete operations.
    Uuid string
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    AvailabilityZones []string
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    ClusterType string
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    LoadbalancerSubnetId string
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    MasterCount float64
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    MasterFlavor string
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    NetworkId string
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    NetworkPlugin string
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    PodsIpv4Cidr string
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    SubnetId string
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    Version string
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    Description string
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    ExternalNetworkId string
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    InsecureRegistries []string
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    Labels map[string]string
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    LoadbalancerAllowedCidrs []string
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    Name string
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    PublicIp bool
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    Region string
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    Timeouts KubernetesClusterV2TimeoutsArgs
    Timeouts configuration for create, update and delete operations.
    Uuid string
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    availabilityZones List<String>
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    clusterType String
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    loadbalancerSubnetId String
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    masterCount Double
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    masterFlavor String
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    networkId String
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    networkPlugin String
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    podsIpv4Cidr String
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    subnetId String
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    version String
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    description String
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    externalNetworkId String
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    insecureRegistries List<String>
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    labels Map<String,String>
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    loadbalancerAllowedCidrs List<String>
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    name String
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    publicIp Boolean
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    region String
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    timeouts KubernetesClusterV2Timeouts
    Timeouts configuration for create, update and delete operations.
    uuid String
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    availabilityZones string[]
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    clusterType string
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    loadbalancerSubnetId string
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    masterCount number
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    masterFlavor string
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    networkId string
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    networkPlugin string
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    podsIpv4Cidr string
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    subnetId string
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    version string
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    description string
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    externalNetworkId string
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    insecureRegistries string[]
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    labels {[key: string]: string}
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    loadbalancerAllowedCidrs string[]
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    name string
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    publicIp boolean
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    region string
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    timeouts KubernetesClusterV2Timeouts
    Timeouts configuration for create, update and delete operations.
    uuid string
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    availability_zones Sequence[str]
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    cluster_type str
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    loadbalancer_subnet_id str
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    master_count float
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    master_flavor str
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    network_id str
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    network_plugin str
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    pods_ipv4_cidr str
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    subnet_id str
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    version str
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    description str
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    external_network_id str
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    insecure_registries Sequence[str]
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    labels Mapping[str, str]
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    loadbalancer_allowed_cidrs Sequence[str]
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    name str
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    public_ip bool
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    region str
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    timeouts KubernetesClusterV2TimeoutsArgs
    Timeouts configuration for create, update and delete operations.
    uuid str
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    availabilityZones List<String>
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    clusterType String
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    loadbalancerSubnetId String
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    masterCount Number
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    masterFlavor String
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    networkId String
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    networkPlugin String
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    podsIpv4Cidr String
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    subnetId String
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    version String
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    description String
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    externalNetworkId String
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    insecureRegistries List<String>
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    labels Map<String>
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    loadbalancerAllowedCidrs List<String>
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    name String
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    publicIp Boolean
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    region String
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    timeouts Property Map
    Timeouts configuration for create, update and delete operations.
    uuid String
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.

    Outputs

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

    ApiAddress string
    string → The URL of the Kubernetes API server.
    ApiLbFip string
    string → The floating IP of the API load balancer (present if public_ip = true).
    ApiLbVip string
    string → The internal VIP of the API load balancer.
    CreatedAt string
    string → The timestamp when the cluster was created (ISO 8601 format).
    Id string
    The provider-assigned unique ID for this managed resource.
    K8sConfig string
    string → The kubeconfig file contents. Sensitive — store securely.
    MasterDisks List<KubernetesClusterV2MasterDisk>
    set → Information about the master node disks. Each disk includes type and size.
    NodeGroups List<KubernetesClusterV2NodeGroup>
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    ProjectId string
    string → The project ID that owns the cluster.
    Status string
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    ApiAddress string
    string → The URL of the Kubernetes API server.
    ApiLbFip string
    string → The floating IP of the API load balancer (present if public_ip = true).
    ApiLbVip string
    string → The internal VIP of the API load balancer.
    CreatedAt string
    string → The timestamp when the cluster was created (ISO 8601 format).
    Id string
    The provider-assigned unique ID for this managed resource.
    K8sConfig string
    string → The kubeconfig file contents. Sensitive — store securely.
    MasterDisks []KubernetesClusterV2MasterDisk
    set → Information about the master node disks. Each disk includes type and size.
    NodeGroups []KubernetesClusterV2NodeGroup
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    ProjectId string
    string → The project ID that owns the cluster.
    Status string
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    apiAddress String
    string → The URL of the Kubernetes API server.
    apiLbFip String
    string → The floating IP of the API load balancer (present if public_ip = true).
    apiLbVip String
    string → The internal VIP of the API load balancer.
    createdAt String
    string → The timestamp when the cluster was created (ISO 8601 format).
    id String
    The provider-assigned unique ID for this managed resource.
    k8sConfig String
    string → The kubeconfig file contents. Sensitive — store securely.
    masterDisks List<KubernetesClusterV2MasterDisk>
    set → Information about the master node disks. Each disk includes type and size.
    nodeGroups List<KubernetesClusterV2NodeGroup>
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    projectId String
    string → The project ID that owns the cluster.
    status String
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    apiAddress string
    string → The URL of the Kubernetes API server.
    apiLbFip string
    string → The floating IP of the API load balancer (present if public_ip = true).
    apiLbVip string
    string → The internal VIP of the API load balancer.
    createdAt string
    string → The timestamp when the cluster was created (ISO 8601 format).
    id string
    The provider-assigned unique ID for this managed resource.
    k8sConfig string
    string → The kubeconfig file contents. Sensitive — store securely.
    masterDisks KubernetesClusterV2MasterDisk[]
    set → Information about the master node disks. Each disk includes type and size.
    nodeGroups KubernetesClusterV2NodeGroup[]
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    projectId string
    string → The project ID that owns the cluster.
    status string
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    api_address str
    string → The URL of the Kubernetes API server.
    api_lb_fip str
    string → The floating IP of the API load balancer (present if public_ip = true).
    api_lb_vip str
    string → The internal VIP of the API load balancer.
    created_at str
    string → The timestamp when the cluster was created (ISO 8601 format).
    id str
    The provider-assigned unique ID for this managed resource.
    k8s_config str
    string → The kubeconfig file contents. Sensitive — store securely.
    master_disks Sequence[KubernetesClusterV2MasterDisk]
    set → Information about the master node disks. Each disk includes type and size.
    node_groups Sequence[KubernetesClusterV2NodeGroup]
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    project_id str
    string → The project ID that owns the cluster.
    status str
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    apiAddress String
    string → The URL of the Kubernetes API server.
    apiLbFip String
    string → The floating IP of the API load balancer (present if public_ip = true).
    apiLbVip String
    string → The internal VIP of the API load balancer.
    createdAt String
    string → The timestamp when the cluster was created (ISO 8601 format).
    id String
    The provider-assigned unique ID for this managed resource.
    k8sConfig String
    string → The kubeconfig file contents. Sensitive — store securely.
    masterDisks List<Property Map>
    set → Information about the master node disks. Each disk includes type and size.
    nodeGroups List<Property Map>
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    projectId String
    string → The project ID that owns the cluster.
    status String
    string → The current cluster status (e.g., RUNNING, RECONCILING).

    Look up Existing KubernetesClusterV2 Resource

    Get an existing KubernetesClusterV2 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?: KubernetesClusterV2State, opts?: CustomResourceOptions): KubernetesClusterV2
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            api_address: Optional[str] = None,
            api_lb_fip: Optional[str] = None,
            api_lb_vip: Optional[str] = None,
            availability_zones: Optional[Sequence[str]] = None,
            cluster_type: Optional[str] = None,
            created_at: Optional[str] = None,
            description: Optional[str] = None,
            external_network_id: Optional[str] = None,
            insecure_registries: Optional[Sequence[str]] = None,
            k8s_config: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            loadbalancer_allowed_cidrs: Optional[Sequence[str]] = None,
            loadbalancer_subnet_id: Optional[str] = None,
            master_count: Optional[float] = None,
            master_disks: Optional[Sequence[KubernetesClusterV2MasterDiskArgs]] = None,
            master_flavor: Optional[str] = None,
            name: Optional[str] = None,
            network_id: Optional[str] = None,
            network_plugin: Optional[str] = None,
            node_groups: Optional[Sequence[KubernetesClusterV2NodeGroupArgs]] = None,
            pods_ipv4_cidr: Optional[str] = None,
            project_id: Optional[str] = None,
            public_ip: Optional[bool] = None,
            region: Optional[str] = None,
            status: Optional[str] = None,
            subnet_id: Optional[str] = None,
            timeouts: Optional[KubernetesClusterV2TimeoutsArgs] = None,
            uuid: Optional[str] = None,
            version: Optional[str] = None) -> KubernetesClusterV2
    func GetKubernetesClusterV2(ctx *Context, name string, id IDInput, state *KubernetesClusterV2State, opts ...ResourceOption) (*KubernetesClusterV2, error)
    public static KubernetesClusterV2 Get(string name, Input<string> id, KubernetesClusterV2State? state, CustomResourceOptions? opts = null)
    public static KubernetesClusterV2 get(String name, Output<String> id, KubernetesClusterV2State state, CustomResourceOptions options)
    resources:  _:    type: vkcs:KubernetesClusterV2    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:
    ApiAddress string
    string → The URL of the Kubernetes API server.
    ApiLbFip string
    string → The floating IP of the API load balancer (present if public_ip = true).
    ApiLbVip string
    string → The internal VIP of the API load balancer.
    AvailabilityZones List<string>
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    ClusterType string
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    CreatedAt string
    string → The timestamp when the cluster was created (ISO 8601 format).
    Description string
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    ExternalNetworkId string
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    InsecureRegistries List<string>
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    K8sConfig string
    string → The kubeconfig file contents. Sensitive — store securely.
    Labels Dictionary<string, string>
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    LoadbalancerAllowedCidrs List<string>
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    LoadbalancerSubnetId string
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    MasterCount double
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    MasterDisks List<KubernetesClusterV2MasterDisk>
    set → Information about the master node disks. Each disk includes type and size.
    MasterFlavor string
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    Name string
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    NetworkId string
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    NetworkPlugin string
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    NodeGroups List<KubernetesClusterV2NodeGroup>
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    PodsIpv4Cidr string
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    ProjectId string
    string → The project ID that owns the cluster.
    PublicIp bool
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    Region string
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    Status string
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    SubnetId string
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    Timeouts KubernetesClusterV2Timeouts
    Timeouts configuration for create, update and delete operations.
    Uuid string
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    Version string
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    ApiAddress string
    string → The URL of the Kubernetes API server.
    ApiLbFip string
    string → The floating IP of the API load balancer (present if public_ip = true).
    ApiLbVip string
    string → The internal VIP of the API load balancer.
    AvailabilityZones []string
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    ClusterType string
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    CreatedAt string
    string → The timestamp when the cluster was created (ISO 8601 format).
    Description string
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    ExternalNetworkId string
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    InsecureRegistries []string
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    K8sConfig string
    string → The kubeconfig file contents. Sensitive — store securely.
    Labels map[string]string
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    LoadbalancerAllowedCidrs []string
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    LoadbalancerSubnetId string
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    MasterCount float64
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    MasterDisks []KubernetesClusterV2MasterDiskArgs
    set → Information about the master node disks. Each disk includes type and size.
    MasterFlavor string
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    Name string
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    NetworkId string
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    NetworkPlugin string
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    NodeGroups []KubernetesClusterV2NodeGroupArgs
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    PodsIpv4Cidr string
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    ProjectId string
    string → The project ID that owns the cluster.
    PublicIp bool
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    Region string
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    Status string
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    SubnetId string
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    Timeouts KubernetesClusterV2TimeoutsArgs
    Timeouts configuration for create, update and delete operations.
    Uuid string
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    Version string
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    apiAddress String
    string → The URL of the Kubernetes API server.
    apiLbFip String
    string → The floating IP of the API load balancer (present if public_ip = true).
    apiLbVip String
    string → The internal VIP of the API load balancer.
    availabilityZones List<String>
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    clusterType String
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    createdAt String
    string → The timestamp when the cluster was created (ISO 8601 format).
    description String
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    externalNetworkId String
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    insecureRegistries List<String>
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    k8sConfig String
    string → The kubeconfig file contents. Sensitive — store securely.
    labels Map<String,String>
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    loadbalancerAllowedCidrs List<String>
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    loadbalancerSubnetId String
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    masterCount Double
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    masterDisks List<KubernetesClusterV2MasterDisk>
    set → Information about the master node disks. Each disk includes type and size.
    masterFlavor String
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    name String
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    networkId String
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    networkPlugin String
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    nodeGroups List<KubernetesClusterV2NodeGroup>
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    podsIpv4Cidr String
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    projectId String
    string → The project ID that owns the cluster.
    publicIp Boolean
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    region String
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    status String
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    subnetId String
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    timeouts KubernetesClusterV2Timeouts
    Timeouts configuration for create, update and delete operations.
    uuid String
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    version String
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    apiAddress string
    string → The URL of the Kubernetes API server.
    apiLbFip string
    string → The floating IP of the API load balancer (present if public_ip = true).
    apiLbVip string
    string → The internal VIP of the API load balancer.
    availabilityZones string[]
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    clusterType string
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    createdAt string
    string → The timestamp when the cluster was created (ISO 8601 format).
    description string
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    externalNetworkId string
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    insecureRegistries string[]
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    k8sConfig string
    string → The kubeconfig file contents. Sensitive — store securely.
    labels {[key: string]: string}
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    loadbalancerAllowedCidrs string[]
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    loadbalancerSubnetId string
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    masterCount number
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    masterDisks KubernetesClusterV2MasterDisk[]
    set → Information about the master node disks. Each disk includes type and size.
    masterFlavor string
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    name string
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    networkId string
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    networkPlugin string
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    nodeGroups KubernetesClusterV2NodeGroup[]
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    podsIpv4Cidr string
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    projectId string
    string → The project ID that owns the cluster.
    publicIp boolean
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    region string
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    status string
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    subnetId string
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    timeouts KubernetesClusterV2Timeouts
    Timeouts configuration for create, update and delete operations.
    uuid string
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    version string
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    api_address str
    string → The URL of the Kubernetes API server.
    api_lb_fip str
    string → The floating IP of the API load balancer (present if public_ip = true).
    api_lb_vip str
    string → The internal VIP of the API load balancer.
    availability_zones Sequence[str]
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    cluster_type str
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    created_at str
    string → The timestamp when the cluster was created (ISO 8601 format).
    description str
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    external_network_id str
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    insecure_registries Sequence[str]
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    k8s_config str
    string → The kubeconfig file contents. Sensitive — store securely.
    labels Mapping[str, str]
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    loadbalancer_allowed_cidrs Sequence[str]
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    loadbalancer_subnet_id str
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    master_count float
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    master_disks Sequence[KubernetesClusterV2MasterDiskArgs]
    set → Information about the master node disks. Each disk includes type and size.
    master_flavor str
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    name str
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    network_id str
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    network_plugin str
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    node_groups Sequence[KubernetesClusterV2NodeGroupArgs]
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    pods_ipv4_cidr str
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    project_id str
    string → The project ID that owns the cluster.
    public_ip bool
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    region str
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    status str
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    subnet_id str
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    timeouts KubernetesClusterV2TimeoutsArgs
    Timeouts configuration for create, update and delete operations.
    uuid str
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    version str
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.
    apiAddress String
    string → The URL of the Kubernetes API server.
    apiLbFip String
    string → The floating IP of the API load balancer (present if public_ip = true).
    apiLbVip String
    string → The internal VIP of the API load balancer.
    availabilityZones List<String>
    required set of string → A set of availability zones for the cluster's masters. For a standard cluster, provide 1, 3, or 5 zones. For a regional cluster, provide 3 or 5 zones. Forces replacement on change.
    clusterType String
    required string → Either standard (single AZ) or regional (three AZs). Forces replacement on change.
    createdAt String
    string → The timestamp when the cluster was created (ISO 8601 format).
    description String
    optional string → A human-readable description of the cluster. Forces replacement on change. The maximum length is 256 characters.
    externalNetworkId String
    optional string → The ID of the external network for internet access. If omitted, the system selects one automatically. Forces replacement on change.
    insecureRegistries List<String>
    optional set of string → A set of registry addresses (e.g., myregistry.com) that can be accessed without TLS verification. Forces replacement on change.
    k8sConfig String
    string → The kubeconfig file contents. Sensitive — store securely.
    labels Map<String>
    optional map of string → A map of Kubernetes labels to apply to the cluster. Keys and values must conform to Kubernetes label syntax. Forces replacement on change.
    loadbalancerAllowedCidrs List<String>
    optional set of string → A set of CIDR blocks permitted to access the API load balancer. If empty, all IPs are allowed. Forces replacement on change.
    loadbalancerSubnetId String
    required string → The ID of the subnet where LoadBalancer services will be allocated IPs. Forces replacement on change.
    masterCount Number
    required number → The number of master nodes. Must be an odd number to maintain etcd quorum (1, 3, or 5). Forces replacement on change.
    masterDisks List<Property Map>
    set → Information about the master node disks. Each disk includes type and size.
    masterFlavor String
    required string → The flavor ID for master nodes. Changing this triggers a rolling upgrade of the control plane.
    name String
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    networkId String
    required string → The ID of the VPC network where the cluster will be deployed. The network must use the sprut SDN. Forces replacement on change.
    networkPlugin String
    required string → The CNI plugin to use. Currently only calico is supported. Forces replacement on change.
    nodeGroups List<Property Map>
    set → A list of node groups associated with the cluster. Each object contains id, name, flavor, node_count, and availability_zone.
    podsIpv4Cidr String
    required string → The IPv4 CIDR block for the pod network. Must be a valid private CIDR (e.g., 10.100.0.0/16). Forces replacement on change.
    projectId String
    string → The project ID that owns the cluster.
    publicIp Boolean
    optional boolean → If true, a floating IP is assigned to the API endpoint. Forces replacement on change. Default is false.
    region String
    optional string → The region in which to create the cluster. If omitted, the provider's region is used. Forces replacement on change.
    status String
    string → The current cluster status (e.g., RUNNING, RECONCILING).
    subnetId String
    required string → The ID of the subnet for cluster nodes. Forces replacement on change.
    timeouts Property Map
    Timeouts configuration for create, update and delete operations.
    uuid String
    optional string → The cluster UUID. Can be specified; if not, it is generated automatically. Changing this forces a new cluster.
    version String
    required string → The Kubernetes version to deploy. Only upgrades to a higher version are allowed.

    Supporting Types

    KubernetesClusterV2MasterDisk, KubernetesClusterV2MasterDiskArgs

    Size double
    number → The size of the disk in GB.
    Type string
    string → The storage volume type provisioned for this master disk component.
    Size float64
    number → The size of the disk in GB.
    Type string
    string → The storage volume type provisioned for this master disk component.
    size Double
    number → The size of the disk in GB.
    type String
    string → The storage volume type provisioned for this master disk component.
    size number
    number → The size of the disk in GB.
    type string
    string → The storage volume type provisioned for this master disk component.
    size float
    number → The size of the disk in GB.
    type str
    string → The storage volume type provisioned for this master disk component.
    size Number
    number → The size of the disk in GB.
    type String
    string → The storage volume type provisioned for this master disk component.

    KubernetesClusterV2NodeGroup, KubernetesClusterV2NodeGroupArgs

    AvailabilityZone string
    string → The AZ where the node group resides.
    Flavor string
    string → The flavor ID used for the worker nodes.
    Id string
    string → The ID of the node group.
    Name string
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    NodeCount double
    number → The current number of nodes in the group.
    AvailabilityZone string
    string → The AZ where the node group resides.
    Flavor string
    string → The flavor ID used for the worker nodes.
    Id string
    string → The ID of the node group.
    Name string
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    NodeCount float64
    number → The current number of nodes in the group.
    availabilityZone String
    string → The AZ where the node group resides.
    flavor String
    string → The flavor ID used for the worker nodes.
    id String
    string → The ID of the node group.
    name String
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    nodeCount Double
    number → The current number of nodes in the group.
    availabilityZone string
    string → The AZ where the node group resides.
    flavor string
    string → The flavor ID used for the worker nodes.
    id string
    string → The ID of the node group.
    name string
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    nodeCount number
    number → The current number of nodes in the group.
    availability_zone str
    string → The AZ where the node group resides.
    flavor str
    string → The flavor ID used for the worker nodes.
    id str
    string → The ID of the node group.
    name str
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    node_count float
    number → The current number of nodes in the group.
    availabilityZone String
    string → The AZ where the node group resides.
    flavor String
    string → The flavor ID used for the worker nodes.
    id String
    string → The ID of the node group.
    name String
    required string → A unique cluster name. Must be 3-25 lowercase alphanumeric characters or hyphens, start/end with alphanumeric, and contain no consecutive hyphens. Forces replacement on change.
    nodeCount Number
    number → The current number of nodes in the group.

    KubernetesClusterV2Timeouts, KubernetesClusterV2TimeoutsArgs

    Create string
    Timeout for create operation (e.g., 60m, 2h). Default is 60m.
    Delete string
    Timeout for delete operation (e.g., 120m, 3h). Default is 30m.
    Update string
    Timeout for update operation (e.g., 120m, 3h). Default is 60m.
    Create string
    Timeout for create operation (e.g., 60m, 2h). Default is 60m.
    Delete string
    Timeout for delete operation (e.g., 120m, 3h). Default is 30m.
    Update string
    Timeout for update operation (e.g., 120m, 3h). Default is 60m.
    create String
    Timeout for create operation (e.g., 60m, 2h). Default is 60m.
    delete String
    Timeout for delete operation (e.g., 120m, 3h). Default is 30m.
    update String
    Timeout for update operation (e.g., 120m, 3h). Default is 60m.
    create string
    Timeout for create operation (e.g., 60m, 2h). Default is 60m.
    delete string
    Timeout for delete operation (e.g., 120m, 3h). Default is 30m.
    update string
    Timeout for update operation (e.g., 120m, 3h). Default is 60m.
    create str
    Timeout for create operation (e.g., 60m, 2h). Default is 60m.
    delete str
    Timeout for delete operation (e.g., 120m, 3h). Default is 30m.
    update str
    Timeout for update operation (e.g., 120m, 3h). Default is 60m.
    create String
    Timeout for create operation (e.g., 60m, 2h). Default is 60m.
    delete String
    Timeout for delete operation (e.g., 120m, 3h). Default is 30m.
    update String
    Timeout for update operation (e.g., 120m, 3h). Default is 60m.

    Import

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

    $ pulumi import vkcs:index/kubernetesClusterV2:KubernetesClusterV2 k8s_cluster 39UdIv4W0EegBs2EYVeGdas38do
    

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

    Package Details

    Repository
    vkcs vk-cs/terraform-provider-vkcs
    License
    Notes
    This Pulumi package is based on the vkcs Terraform Provider.
    Viewing docs for vkcs 0.15.0
    published on Tuesday, May 5, 2026 by vk-cs
      Try Pulumi Cloud free. Your team will thank you.