1. Packages
  2. Vmc Provider
  3. API Docs
  4. Cluster
vmc 1.15.4 published on Monday, Apr 21, 2025 by vmware

vmc.Cluster

Explore with Pulumi AI

vmc logo
vmc 1.15.4 published on Monday, Apr 21, 2025 by vmware

    Provides a resource to manage clusters.

    Note: Cluster resource implicitly depends on SDDC resource creation. SDDC must be provisioned before a cluster can be created.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as vmc from "@pulumi/vmc";
    
    const cluster_1 = new vmc.Cluster("cluster-1", {
        sddcId: vmc_sddc.sddc_1.id,
        numHosts: _var.num_hosts,
        microsoftLicensingConfigs: [{
            mssqlLicensing: "DISABLED",
            windowsLicensing: "ENABLED",
        }],
    });
    
    import pulumi
    import pulumi_vmc as vmc
    
    cluster_1 = vmc.Cluster("cluster-1",
        sddc_id=vmc_sddc["sddc_1"]["id"],
        num_hosts=var["num_hosts"],
        microsoft_licensing_configs=[{
            "mssql_licensing": "DISABLED",
            "windows_licensing": "ENABLED",
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/vmc/vmc"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vmc.NewCluster(ctx, "cluster-1", &vmc.ClusterArgs{
    			SddcId:   pulumi.Any(vmc_sddc.Sddc_1.Id),
    			NumHosts: pulumi.Any(_var.Num_hosts),
    			MicrosoftLicensingConfigs: vmc.ClusterMicrosoftLicensingConfigArray{
    				&vmc.ClusterMicrosoftLicensingConfigArgs{
    					MssqlLicensing:   pulumi.String("DISABLED"),
    					WindowsLicensing: pulumi.String("ENABLED"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Vmc = Pulumi.Vmc;
    
    return await Deployment.RunAsync(() => 
    {
        var cluster_1 = new Vmc.Cluster("cluster-1", new()
        {
            SddcId = vmc_sddc.Sddc_1.Id,
            NumHosts = @var.Num_hosts,
            MicrosoftLicensingConfigs = new[]
            {
                new Vmc.Inputs.ClusterMicrosoftLicensingConfigArgs
                {
                    MssqlLicensing = "DISABLED",
                    WindowsLicensing = "ENABLED",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vmc.Cluster;
    import com.pulumi.vmc.ClusterArgs;
    import com.pulumi.vmc.inputs.ClusterMicrosoftLicensingConfigArgs;
    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 cluster_1 = new Cluster("cluster-1", ClusterArgs.builder()
                .sddcId(vmc_sddc.sddc_1().id())
                .numHosts(var_.num_hosts())
                .microsoftLicensingConfigs(ClusterMicrosoftLicensingConfigArgs.builder()
                    .mssqlLicensing("DISABLED")
                    .windowsLicensing("ENABLED")
                    .build())
                .build());
    
        }
    }
    
    resources:
      cluster-1:
        type: vmc:Cluster
        properties:
          sddcId: ${vmc_sddc.sddc_1.id}
          numHosts: ${var.num_hosts}
          microsoftLicensingConfigs:
            - mssqlLicensing: DISABLED
              windowsLicensing: ENABLED
    

    Modifying an Elastic DRS Policy

    For a new cluster, elastic DRS uses the Default Storage Scale-Out policy, adding hosts only when storage utilization exceeds the threshold of 75%.

    You can select a different policy if it provides better support for your workload VMs by updating the resource using the following arguments:

    • edrs_policy_type - (Optional) The EDRS policy type. This can either be cost, performance, storage-scaleup or rapid-scaleup. Defaults to storage-scaleup.

    • enable_edrs - (Optional) Enable EDRS.

    • min_hosts - (Optional) The minimum number of ESX hosts that the cluster can scale in to.

    • max_hosts - (Optional) The maximum number of ESX hosts that the cluster can scale out to.

    Note: When the EDRS policy is disabled (i.e., enable_edrs = false) for performance, cost or rapid-scaleup, the policy type changes to the default, storage-scaleup.

    Note: The EDRS policy properties can be modified only after a cluster has been created.

    Example

    import * as pulumi from "@pulumi/pulumi";
    import * as vmc from "@pulumi/vmc";
    
    const myAccounts = vmc.getConnectedAccounts({
        accountNumber: _var.aws_account_number,
    });
    const mySubnets = myAccounts.then(myAccounts => vmc.getCustomerSubnets({
        connectedAccountId: myAccounts.id,
        region: _var.sddc_region,
    }));
    const cluster_1 = new vmc.Cluster("cluster-1", {
        sddcId: vmc_sddc.sddc_1.id,
        numHosts: _var.num_hosts,
        edrsPolicyType: "cost",
        enableEdrs: true,
        minHosts: 3,
        maxHosts: 8,
    });
    
    import pulumi
    import pulumi_vmc as vmc
    
    my_accounts = vmc.get_connected_accounts(account_number=var["aws_account_number"])
    my_subnets = vmc.get_customer_subnets(connected_account_id=my_accounts.id,
        region=var["sddc_region"])
    cluster_1 = vmc.Cluster("cluster-1",
        sddc_id=vmc_sddc["sddc_1"]["id"],
        num_hosts=var["num_hosts"],
        edrs_policy_type="cost",
        enable_edrs=True,
        min_hosts=3,
        max_hosts=8)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/vmc/vmc"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		myAccounts, err := vmc.GetConnectedAccounts(ctx, &vmc.GetConnectedAccountsArgs{
    			AccountNumber: _var.Aws_account_number,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = vmc.GetCustomerSubnets(ctx, &vmc.GetCustomerSubnetsArgs{
    			ConnectedAccountId: pulumi.StringRef(myAccounts.Id),
    			Region:             _var.Sddc_region,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = vmc.NewCluster(ctx, "cluster-1", &vmc.ClusterArgs{
    			SddcId:         pulumi.Any(vmc_sddc.Sddc_1.Id),
    			NumHosts:       pulumi.Any(_var.Num_hosts),
    			EdrsPolicyType: pulumi.String("cost"),
    			EnableEdrs:     pulumi.Bool(true),
    			MinHosts:       pulumi.Float64(3),
    			MaxHosts:       pulumi.Float64(8),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Vmc = Pulumi.Vmc;
    
    return await Deployment.RunAsync(() => 
    {
        var myAccounts = Vmc.GetConnectedAccounts.Invoke(new()
        {
            AccountNumber = @var.Aws_account_number,
        });
    
        var mySubnets = Vmc.GetCustomerSubnets.Invoke(new()
        {
            ConnectedAccountId = myAccounts.Apply(getConnectedAccountsResult => getConnectedAccountsResult.Id),
            Region = @var.Sddc_region,
        });
    
        var cluster_1 = new Vmc.Cluster("cluster-1", new()
        {
            SddcId = vmc_sddc.Sddc_1.Id,
            NumHosts = @var.Num_hosts,
            EdrsPolicyType = "cost",
            EnableEdrs = true,
            MinHosts = 3,
            MaxHosts = 8,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vmc.VmcFunctions;
    import com.pulumi.vmc.inputs.GetConnectedAccountsArgs;
    import com.pulumi.vmc.inputs.GetCustomerSubnetsArgs;
    import com.pulumi.vmc.Cluster;
    import com.pulumi.vmc.ClusterArgs;
    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 myAccounts = VmcFunctions.getConnectedAccounts(GetConnectedAccountsArgs.builder()
                .accountNumber(var_.aws_account_number())
                .build());
    
            final var mySubnets = VmcFunctions.getCustomerSubnets(GetCustomerSubnetsArgs.builder()
                .connectedAccountId(myAccounts.applyValue(getConnectedAccountsResult -> getConnectedAccountsResult.id()))
                .region(var_.sddc_region())
                .build());
    
            var cluster_1 = new Cluster("cluster-1", ClusterArgs.builder()
                .sddcId(vmc_sddc.sddc_1().id())
                .numHosts(var_.num_hosts())
                .edrsPolicyType("cost")
                .enableEdrs(true)
                .minHosts(3)
                .maxHosts(8)
                .build());
    
        }
    }
    
    resources:
      cluster-1:
        type: vmc:Cluster
        properties:
          sddcId: ${vmc_sddc.sddc_1.id}
          numHosts: ${var.num_hosts}
          edrsPolicyType: cost
          enableEdrs: true
          minHosts: 3
          maxHosts: 8
    variables:
      myAccounts:
        fn::invoke:
          function: vmc:getConnectedAccounts
          arguments:
            accountNumber: ${var.aws_account_number}
      mySubnets:
        fn::invoke:
          function: vmc:getCustomerSubnets
          arguments:
            connectedAccountId: ${myAccounts.id}
            region: ${var.sddc_region}
    

    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,
                num_hosts: Optional[float] = None,
                sddc_id: Optional[str] = None,
                cluster_id: Optional[str] = None,
                edrs_policy_type: Optional[str] = None,
                enable_edrs: Optional[bool] = None,
                host_cpu_cores_count: Optional[float] = None,
                host_instance_type: Optional[str] = None,
                max_hosts: Optional[float] = None,
                microsoft_licensing_configs: Optional[Sequence[ClusterMicrosoftLicensingConfigArgs]] = None,
                min_hosts: Optional[float] = None,
                timeouts: Optional[ClusterTimeoutsArgs] = 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: vmc: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 clusterResource = new Vmc.Cluster("clusterResource", new()
    {
        NumHosts = 0,
        SddcId = "string",
        ClusterId = "string",
        EdrsPolicyType = "string",
        EnableEdrs = false,
        HostCpuCoresCount = 0,
        HostInstanceType = "string",
        MaxHosts = 0,
        MicrosoftLicensingConfigs = new[]
        {
            new Vmc.Inputs.ClusterMicrosoftLicensingConfigArgs
            {
                AcademicLicense = false,
                MssqlLicensing = "string",
                WindowsLicensing = "string",
            },
        },
        MinHosts = 0,
        Timeouts = new Vmc.Inputs.ClusterTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
    });
    
    example, err := vmc.NewCluster(ctx, "clusterResource", &vmc.ClusterArgs{
    	NumHosts:          pulumi.Float64(0),
    	SddcId:            pulumi.String("string"),
    	ClusterId:         pulumi.String("string"),
    	EdrsPolicyType:    pulumi.String("string"),
    	EnableEdrs:        pulumi.Bool(false),
    	HostCpuCoresCount: pulumi.Float64(0),
    	HostInstanceType:  pulumi.String("string"),
    	MaxHosts:          pulumi.Float64(0),
    	MicrosoftLicensingConfigs: vmc.ClusterMicrosoftLicensingConfigArray{
    		&vmc.ClusterMicrosoftLicensingConfigArgs{
    			AcademicLicense:  pulumi.Bool(false),
    			MssqlLicensing:   pulumi.String("string"),
    			WindowsLicensing: pulumi.String("string"),
    		},
    	},
    	MinHosts: pulumi.Float64(0),
    	Timeouts: &vmc.ClusterTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    })
    
    var clusterResource = new Cluster("clusterResource", ClusterArgs.builder()
        .numHosts(0)
        .sddcId("string")
        .clusterId("string")
        .edrsPolicyType("string")
        .enableEdrs(false)
        .hostCpuCoresCount(0)
        .hostInstanceType("string")
        .maxHosts(0)
        .microsoftLicensingConfigs(ClusterMicrosoftLicensingConfigArgs.builder()
            .academicLicense(false)
            .mssqlLicensing("string")
            .windowsLicensing("string")
            .build())
        .minHosts(0)
        .timeouts(ClusterTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .build());
    
    cluster_resource = vmc.Cluster("clusterResource",
        num_hosts=0,
        sddc_id="string",
        cluster_id="string",
        edrs_policy_type="string",
        enable_edrs=False,
        host_cpu_cores_count=0,
        host_instance_type="string",
        max_hosts=0,
        microsoft_licensing_configs=[{
            "academic_license": False,
            "mssql_licensing": "string",
            "windows_licensing": "string",
        }],
        min_hosts=0,
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        })
    
    const clusterResource = new vmc.Cluster("clusterResource", {
        numHosts: 0,
        sddcId: "string",
        clusterId: "string",
        edrsPolicyType: "string",
        enableEdrs: false,
        hostCpuCoresCount: 0,
        hostInstanceType: "string",
        maxHosts: 0,
        microsoftLicensingConfigs: [{
            academicLicense: false,
            mssqlLicensing: "string",
            windowsLicensing: "string",
        }],
        minHosts: 0,
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
    });
    
    type: vmc:Cluster
    properties:
        clusterId: string
        edrsPolicyType: string
        enableEdrs: false
        hostCpuCoresCount: 0
        hostInstanceType: string
        maxHosts: 0
        microsoftLicensingConfigs:
            - academicLicense: false
              mssqlLicensing: string
              windowsLicensing: string
        minHosts: 0
        numHosts: 0
        sddcId: string
        timeouts:
            create: string
            delete: string
            update: 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:

    NumHosts double
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    SddcId string
    SDDC identifier.
    ClusterId string
    The cluster identifier.
    EdrsPolicyType string
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    EnableEdrs bool
    True if EDRS is enabled
    HostCpuCoresCount double
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    HostInstanceType string
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    MaxHosts double
    The maximum number of hosts that the cluster can scale out to.
    MicrosoftLicensingConfigs List<ClusterMicrosoftLicensingConfig>
    Indicates the desired licensing support, if any, of Microsoft software.
    MinHosts double
    The minimum number of hosts that the cluster can scale in to.
    Timeouts ClusterTimeouts
    NumHosts float64
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    SddcId string
    SDDC identifier.
    ClusterId string
    The cluster identifier.
    EdrsPolicyType string
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    EnableEdrs bool
    True if EDRS is enabled
    HostCpuCoresCount float64
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    HostInstanceType string
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    MaxHosts float64
    The maximum number of hosts that the cluster can scale out to.
    MicrosoftLicensingConfigs []ClusterMicrosoftLicensingConfigArgs
    Indicates the desired licensing support, if any, of Microsoft software.
    MinHosts float64
    The minimum number of hosts that the cluster can scale in to.
    Timeouts ClusterTimeoutsArgs
    numHosts Double
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    sddcId String
    SDDC identifier.
    clusterId String
    The cluster identifier.
    edrsPolicyType String
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    enableEdrs Boolean
    True if EDRS is enabled
    hostCpuCoresCount Double
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    hostInstanceType String
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    maxHosts Double
    The maximum number of hosts that the cluster can scale out to.
    microsoftLicensingConfigs List<ClusterMicrosoftLicensingConfig>
    Indicates the desired licensing support, if any, of Microsoft software.
    minHosts Double
    The minimum number of hosts that the cluster can scale in to.
    timeouts ClusterTimeouts
    numHosts number
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    sddcId string
    SDDC identifier.
    clusterId string
    The cluster identifier.
    edrsPolicyType string
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    enableEdrs boolean
    True if EDRS is enabled
    hostCpuCoresCount number
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    hostInstanceType string
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    maxHosts number
    The maximum number of hosts that the cluster can scale out to.
    microsoftLicensingConfigs ClusterMicrosoftLicensingConfig[]
    Indicates the desired licensing support, if any, of Microsoft software.
    minHosts number
    The minimum number of hosts that the cluster can scale in to.
    timeouts ClusterTimeouts
    num_hosts float
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    sddc_id str
    SDDC identifier.
    cluster_id str
    The cluster identifier.
    edrs_policy_type str
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    enable_edrs bool
    True if EDRS is enabled
    host_cpu_cores_count float
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    host_instance_type str
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    max_hosts float
    The maximum number of hosts that the cluster can scale out to.
    microsoft_licensing_configs Sequence[ClusterMicrosoftLicensingConfigArgs]
    Indicates the desired licensing support, if any, of Microsoft software.
    min_hosts float
    The minimum number of hosts that the cluster can scale in to.
    timeouts ClusterTimeoutsArgs
    numHosts Number
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    sddcId String
    SDDC identifier.
    clusterId String
    The cluster identifier.
    edrsPolicyType String
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    enableEdrs Boolean
    True if EDRS is enabled
    hostCpuCoresCount Number
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    hostInstanceType String
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    maxHosts Number
    The maximum number of hosts that the cluster can scale out to.
    microsoftLicensingConfigs List<Property Map>
    Indicates the desired licensing support, if any, of Microsoft software.
    minHosts Number
    The minimum number of hosts that the cluster can scale in to.
    timeouts Property Map

    Outputs

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

    ClusterInfo Dictionary<string, string>
    Information about cluster such as name, state, host instance type, and cluster identifier.
    Id string
    The provider-assigned unique ID for this managed resource.
    ClusterInfo map[string]string
    Information about cluster such as name, state, host instance type, and cluster identifier.
    Id string
    The provider-assigned unique ID for this managed resource.
    clusterInfo Map<String,String>
    Information about cluster such as name, state, host instance type, and cluster identifier.
    id String
    The provider-assigned unique ID for this managed resource.
    clusterInfo {[key: string]: string}
    Information about cluster such as name, state, host instance type, and cluster identifier.
    id string
    The provider-assigned unique ID for this managed resource.
    cluster_info Mapping[str, str]
    Information about cluster such as name, state, host instance type, and cluster identifier.
    id str
    The provider-assigned unique ID for this managed resource.
    clusterInfo Map<String>
    Information about cluster such as name, state, host instance type, and cluster identifier.
    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,
            cluster_id: Optional[str] = None,
            cluster_info: Optional[Mapping[str, str]] = None,
            edrs_policy_type: Optional[str] = None,
            enable_edrs: Optional[bool] = None,
            host_cpu_cores_count: Optional[float] = None,
            host_instance_type: Optional[str] = None,
            max_hosts: Optional[float] = None,
            microsoft_licensing_configs: Optional[Sequence[ClusterMicrosoftLicensingConfigArgs]] = None,
            min_hosts: Optional[float] = None,
            num_hosts: Optional[float] = None,
            sddc_id: Optional[str] = None,
            timeouts: Optional[ClusterTimeoutsArgs] = 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: vmc: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:
    ClusterId string
    The cluster identifier.
    ClusterInfo Dictionary<string, string>
    Information about cluster such as name, state, host instance type, and cluster identifier.
    EdrsPolicyType string
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    EnableEdrs bool
    True if EDRS is enabled
    HostCpuCoresCount double
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    HostInstanceType string
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    MaxHosts double
    The maximum number of hosts that the cluster can scale out to.
    MicrosoftLicensingConfigs List<ClusterMicrosoftLicensingConfig>
    Indicates the desired licensing support, if any, of Microsoft software.
    MinHosts double
    The minimum number of hosts that the cluster can scale in to.
    NumHosts double
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    SddcId string
    SDDC identifier.
    Timeouts ClusterTimeouts
    ClusterId string
    The cluster identifier.
    ClusterInfo map[string]string
    Information about cluster such as name, state, host instance type, and cluster identifier.
    EdrsPolicyType string
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    EnableEdrs bool
    True if EDRS is enabled
    HostCpuCoresCount float64
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    HostInstanceType string
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    MaxHosts float64
    The maximum number of hosts that the cluster can scale out to.
    MicrosoftLicensingConfigs []ClusterMicrosoftLicensingConfigArgs
    Indicates the desired licensing support, if any, of Microsoft software.
    MinHosts float64
    The minimum number of hosts that the cluster can scale in to.
    NumHosts float64
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    SddcId string
    SDDC identifier.
    Timeouts ClusterTimeoutsArgs
    clusterId String
    The cluster identifier.
    clusterInfo Map<String,String>
    Information about cluster such as name, state, host instance type, and cluster identifier.
    edrsPolicyType String
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    enableEdrs Boolean
    True if EDRS is enabled
    hostCpuCoresCount Double
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    hostInstanceType String
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    maxHosts Double
    The maximum number of hosts that the cluster can scale out to.
    microsoftLicensingConfigs List<ClusterMicrosoftLicensingConfig>
    Indicates the desired licensing support, if any, of Microsoft software.
    minHosts Double
    The minimum number of hosts that the cluster can scale in to.
    numHosts Double
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    sddcId String
    SDDC identifier.
    timeouts ClusterTimeouts
    clusterId string
    The cluster identifier.
    clusterInfo {[key: string]: string}
    Information about cluster such as name, state, host instance type, and cluster identifier.
    edrsPolicyType string
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    enableEdrs boolean
    True if EDRS is enabled
    hostCpuCoresCount number
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    hostInstanceType string
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    maxHosts number
    The maximum number of hosts that the cluster can scale out to.
    microsoftLicensingConfigs ClusterMicrosoftLicensingConfig[]
    Indicates the desired licensing support, if any, of Microsoft software.
    minHosts number
    The minimum number of hosts that the cluster can scale in to.
    numHosts number
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    sddcId string
    SDDC identifier.
    timeouts ClusterTimeouts
    cluster_id str
    The cluster identifier.
    cluster_info Mapping[str, str]
    Information about cluster such as name, state, host instance type, and cluster identifier.
    edrs_policy_type str
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    enable_edrs bool
    True if EDRS is enabled
    host_cpu_cores_count float
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    host_instance_type str
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    max_hosts float
    The maximum number of hosts that the cluster can scale out to.
    microsoft_licensing_configs Sequence[ClusterMicrosoftLicensingConfigArgs]
    Indicates the desired licensing support, if any, of Microsoft software.
    min_hosts float
    The minimum number of hosts that the cluster can scale in to.
    num_hosts float
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    sddc_id str
    SDDC identifier.
    timeouts ClusterTimeoutsArgs
    clusterId String
    The cluster identifier.
    clusterInfo Map<String>
    Information about cluster such as name, state, host instance type, and cluster identifier.
    edrsPolicyType String
    The EDRS policy type. This can either be 'cost', 'performance', 'storage-scaleup' or 'rapid-scaleup'. Default : storage-scaleup.
    enableEdrs Boolean
    True if EDRS is enabled
    hostCpuCoresCount Number
    Customize CPU cores on ESX hosts in a cluster. Specify number of cores to be enabled on ESX hosts in a cluster.
    hostInstanceType String
    The instance type for the ESX hosts added to this cluster. Allowed values include: I3_METAL, I3EN_METAL, I4I_METAL, and R5_METAL. Defaults to I3_METAL.
    maxHosts Number
    The maximum number of hosts that the cluster can scale out to.
    microsoftLicensingConfigs List<Property Map>
    Indicates the desired licensing support, if any, of Microsoft software.
    minHosts Number
    The minimum number of hosts that the cluster can scale in to.
    numHosts Number
    Number of ESX hosts in the cluster. The number of ESX hosts must be between 2-16 hosts for a cluster.
    sddcId String
    SDDC identifier.
    timeouts Property Map

    Supporting Types

    ClusterMicrosoftLicensingConfig, ClusterMicrosoftLicensingConfigArgs

    AcademicLicense bool
    Flag to identify if it is Academic Standard or Commercial Standard License.
    MssqlLicensing string
    The status of MSSQL licensing for this SDDC’s clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    WindowsLicensing string
    The status of Windows licensing for this SDDC's clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    AcademicLicense bool
    Flag to identify if it is Academic Standard or Commercial Standard License.
    MssqlLicensing string
    The status of MSSQL licensing for this SDDC’s clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    WindowsLicensing string
    The status of Windows licensing for this SDDC's clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    academicLicense Boolean
    Flag to identify if it is Academic Standard or Commercial Standard License.
    mssqlLicensing String
    The status of MSSQL licensing for this SDDC’s clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    windowsLicensing String
    The status of Windows licensing for this SDDC's clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    academicLicense boolean
    Flag to identify if it is Academic Standard or Commercial Standard License.
    mssqlLicensing string
    The status of MSSQL licensing for this SDDC’s clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    windowsLicensing string
    The status of Windows licensing for this SDDC's clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    academic_license bool
    Flag to identify if it is Academic Standard or Commercial Standard License.
    mssql_licensing str
    The status of MSSQL licensing for this SDDC’s clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    windows_licensing str
    The status of Windows licensing for this SDDC's clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    academicLicense Boolean
    Flag to identify if it is Academic Standard or Commercial Standard License.
    mssqlLicensing String
    The status of MSSQL licensing for this SDDC’s clusters. Possible values : enabled, ENABLED, disabled, DISABLED.
    windowsLicensing String
    The status of Windows licensing for this SDDC's clusters. Possible values : enabled, ENABLED, disabled, DISABLED.

    ClusterTimeouts, ClusterTimeoutsArgs

    Create string
    Delete string
    Update string
    Create string
    Delete string
    Update string
    create String
    delete String
    update String
    create string
    delete string
    update string
    create str
    delete str
    update str
    create String
    delete String
    update String

    Import

    Import the using the id and sddc_id.

    $ pulumi import vmc:index/cluster:Cluster cluster_1 id,sddc_id`
    

    For example:

    $ pulumi import vmc:index/cluster:Cluster cluster_1 afe7a0fd-3f0a-48b2-9ddb-0489c22732ae,45495963-d24d-469b-830a-9003bfe132b5`
    

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

    Package Details

    Repository
    vmc vmware/terraform-provider-vmc
    License
    Notes
    This Pulumi package is based on the vmc Terraform Provider.
    vmc logo
    vmc 1.15.4 published on Monday, Apr 21, 2025 by vmware