ibm.ComputeVmInstance
Explore with Pulumi AI
Create, update, and delete a Virtual Machine (VM) instance. For more information, about IBM Cloud Virtual Machine instance, see migrating VMDK or VHD images to VPC.
Note
- For more information, see the IBM Cloud Classic Infrastructure (SoftLayer) API docs.
 - Update is not supported when the 
bulk_vmsparameter is used. 
Example Usage
In the following example, you can create a VM instance using a Debian image:
import * as pulumi from "@pulumi/pulumi";
import * as ibm from "@pulumi/ibm";
const twcTerraformSample = new ibm.ComputeVmInstance("twcTerraformSample", {
    cores: 1,
    datacenter: "wdc01",
    dedicatedAcctHostOnly: true,
    disks: [
        25,
        10,
        20,
    ],
    domain: "bar.example.com",
    hostname: "twc-terraform-sample-name",
    hourlyBilling: true,
    localDisk: false,
    memory: 1024,
    networkSpeed: 10,
    osReferenceCode: "DEBIAN_8_64",
    privateNetworkOnly: false,
    privateSecurityGroupIds: [576973],
    privateVlanId: 7721931,
    publicVlanId: 1391277,
    userMetadata: "{\"value\":\"newvalue\"}",
});
import pulumi
import pulumi_ibm as ibm
twc_terraform_sample = ibm.ComputeVmInstance("twcTerraformSample",
    cores=1,
    datacenter="wdc01",
    dedicated_acct_host_only=True,
    disks=[
        25,
        10,
        20,
    ],
    domain="bar.example.com",
    hostname="twc-terraform-sample-name",
    hourly_billing=True,
    local_disk=False,
    memory=1024,
    network_speed=10,
    os_reference_code="DEBIAN_8_64",
    private_network_only=False,
    private_security_group_ids=[576973],
    private_vlan_id=7721931,
    public_vlan_id=1391277,
    user_metadata="{\"value\":\"newvalue\"}")
package main
import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/ibm"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ibm.NewComputeVmInstance(ctx, "twcTerraformSample", &ibm.ComputeVmInstanceArgs{
			Cores:                 pulumi.Float64(1),
			Datacenter:            pulumi.String("wdc01"),
			DedicatedAcctHostOnly: pulumi.Bool(true),
			Disks: pulumi.Float64Array{
				pulumi.Float64(25),
				pulumi.Float64(10),
				pulumi.Float64(20),
			},
			Domain:             pulumi.String("bar.example.com"),
			Hostname:           pulumi.String("twc-terraform-sample-name"),
			HourlyBilling:      pulumi.Bool(true),
			LocalDisk:          pulumi.Bool(false),
			Memory:             pulumi.Float64(1024),
			NetworkSpeed:       pulumi.Float64(10),
			OsReferenceCode:    pulumi.String("DEBIAN_8_64"),
			PrivateNetworkOnly: pulumi.Bool(false),
			PrivateSecurityGroupIds: pulumi.Float64Array{
				pulumi.Float64(576973),
			},
			PrivateVlanId: pulumi.Float64(7721931),
			PublicVlanId:  pulumi.Float64(1391277),
			UserMetadata:  pulumi.String("{\"value\":\"newvalue\"}"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ibm = Pulumi.Ibm;
return await Deployment.RunAsync(() => 
{
    var twcTerraformSample = new Ibm.ComputeVmInstance("twcTerraformSample", new()
    {
        Cores = 1,
        Datacenter = "wdc01",
        DedicatedAcctHostOnly = true,
        Disks = new[]
        {
            25,
            10,
            20,
        },
        Domain = "bar.example.com",
        Hostname = "twc-terraform-sample-name",
        HourlyBilling = true,
        LocalDisk = false,
        Memory = 1024,
        NetworkSpeed = 10,
        OsReferenceCode = "DEBIAN_8_64",
        PrivateNetworkOnly = false,
        PrivateSecurityGroupIds = new[]
        {
            576973,
        },
        PrivateVlanId = 7721931,
        PublicVlanId = 1391277,
        UserMetadata = "{\"value\":\"newvalue\"}",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ibm.ComputeVmInstance;
import com.pulumi.ibm.ComputeVmInstanceArgs;
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 twcTerraformSample = new ComputeVmInstance("twcTerraformSample", ComputeVmInstanceArgs.builder()
            .cores(1)
            .datacenter("wdc01")
            .dedicatedAcctHostOnly(true)
            .disks(            
                25,
                10,
                20)
            .domain("bar.example.com")
            .hostname("twc-terraform-sample-name")
            .hourlyBilling(true)
            .localDisk(false)
            .memory(1024)
            .networkSpeed(10)
            .osReferenceCode("DEBIAN_8_64")
            .privateNetworkOnly(false)
            .privateSecurityGroupIds(576973)
            .privateVlanId(7721931)
            .publicVlanId(1391277)
            .userMetadata("{\"value\":\"newvalue\"}")
            .build());
    }
}
resources:
  twcTerraformSample:
    type: ibm:ComputeVmInstance
    properties:
      cores: 1
      datacenter: wdc01
      dedicatedAcctHostOnly: true
      disks:
        - 25
        - 10
        - 20
      domain: bar.example.com
      hostname: twc-terraform-sample-name
      hourlyBilling: true
      localDisk: false
      memory: 1024
      networkSpeed: 10
      osReferenceCode: DEBIAN_8_64
      privateNetworkOnly: false
      privateSecurityGroupIds:
        - 576973
      privateVlanId: 7.721931e+06
      publicVlanId: 1.391277e+06
      userMetadata: '{"value":"newvalue"}'
In the following example, you can create a VM instance using a block device template:
import * as pulumi from "@pulumi/pulumi";
import * as ibm from "@pulumi/ibm";
const terraform_sample_BDTGroup = new ibm.ComputeVmInstance("terraform-sample-BDTGroup", {
    cores: 1,
    datacenter: "ams01",
    domain: "bar.example.com",
    hostname: "terraform-sample-blockDeviceTemplateGroup",
    hourlyBilling: false,
    imageId: 12345,
    localDisk: false,
    memory: 1024,
    privateSubnet: "10.56.109.128/26",
    publicSubnet: "50.97.46.160/28",
    tags: [
        "collectd",
        "mesos-master",
    ],
});
import pulumi
import pulumi_ibm as ibm
terraform_sample__bdt_group = ibm.ComputeVmInstance("terraform-sample-BDTGroup",
    cores=1,
    datacenter="ams01",
    domain="bar.example.com",
    hostname="terraform-sample-blockDeviceTemplateGroup",
    hourly_billing=False,
    image_id=12345,
    local_disk=False,
    memory=1024,
    private_subnet="10.56.109.128/26",
    public_subnet="50.97.46.160/28",
    tags=[
        "collectd",
        "mesos-master",
    ])
package main
import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/ibm"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ibm.NewComputeVmInstance(ctx, "terraform-sample-BDTGroup", &ibm.ComputeVmInstanceArgs{
			Cores:         pulumi.Float64(1),
			Datacenter:    pulumi.String("ams01"),
			Domain:        pulumi.String("bar.example.com"),
			Hostname:      pulumi.String("terraform-sample-blockDeviceTemplateGroup"),
			HourlyBilling: pulumi.Bool(false),
			ImageId:       pulumi.Float64(12345),
			LocalDisk:     pulumi.Bool(false),
			Memory:        pulumi.Float64(1024),
			PrivateSubnet: pulumi.String("10.56.109.128/26"),
			PublicSubnet:  pulumi.String("50.97.46.160/28"),
			Tags: pulumi.StringArray{
				pulumi.String("collectd"),
				pulumi.String("mesos-master"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ibm = Pulumi.Ibm;
return await Deployment.RunAsync(() => 
{
    var terraform_sample_BDTGroup = new Ibm.ComputeVmInstance("terraform-sample-BDTGroup", new()
    {
        Cores = 1,
        Datacenter = "ams01",
        Domain = "bar.example.com",
        Hostname = "terraform-sample-blockDeviceTemplateGroup",
        HourlyBilling = false,
        ImageId = 12345,
        LocalDisk = false,
        Memory = 1024,
        PrivateSubnet = "10.56.109.128/26",
        PublicSubnet = "50.97.46.160/28",
        Tags = new[]
        {
            "collectd",
            "mesos-master",
        },
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ibm.ComputeVmInstance;
import com.pulumi.ibm.ComputeVmInstanceArgs;
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 terraform_sample_BDTGroup = new ComputeVmInstance("terraform-sample-BDTGroup", ComputeVmInstanceArgs.builder()
            .cores(1)
            .datacenter("ams01")
            .domain("bar.example.com")
            .hostname("terraform-sample-blockDeviceTemplateGroup")
            .hourlyBilling(false)
            .imageId(12345)
            .localDisk(false)
            .memory(1024)
            .privateSubnet("10.56.109.128/26")
            .publicSubnet("50.97.46.160/28")
            .tags(            
                "collectd",
                "mesos-master")
            .build());
    }
}
resources:
  terraform-sample-BDTGroup:
    type: ibm:ComputeVmInstance
    properties:
      cores: 1
      datacenter: ams01
      domain: bar.example.com
      hostname: terraform-sample-blockDeviceTemplateGroup
      # public_network_speed = 10
      hourlyBilling: false
      imageId: 12345
      localDisk: false
      memory: 1024
      privateSubnet: 10.56.109.128/26
      publicSubnet: 50.97.46.160/28
      tags:
        - collectd
        - mesos-master
In the following example, you can create a VM instance using a flavor:
import * as pulumi from "@pulumi/pulumi";
import * as ibm from "@pulumi/ibm";
const terraform_sample_flavor = new ibm.ComputeVmInstance("terraform-sample-flavor", {
    datacenter: "dal06",
    dedicatedAcctHostOnly: false,
    disks: [
        10,
        20,
        30,
    ],
    domain: "bar.example.com",
    flavorKeyName: "B1_2X8X25",
    hostname: "terraform-sample-flavor",
    hourlyBilling: true,
    ipv6Enabled: true,
    localDisk: false,
    networkSpeed: 10,
    notes: "VM notes",
    osReferenceCode: "DEBIAN_8_64",
    privateNetworkOnly: false,
    secondaryIpCount: 4,
    tags: ["collectd"],
    userMetadata: "{\\\"value\\\":\\\"newvalue\\\"}",
});
import pulumi
import pulumi_ibm as ibm
terraform_sample_flavor = ibm.ComputeVmInstance("terraform-sample-flavor",
    datacenter="dal06",
    dedicated_acct_host_only=False,
    disks=[
        10,
        20,
        30,
    ],
    domain="bar.example.com",
    flavor_key_name="B1_2X8X25",
    hostname="terraform-sample-flavor",
    hourly_billing=True,
    ipv6_enabled=True,
    local_disk=False,
    network_speed=10,
    notes="VM notes",
    os_reference_code="DEBIAN_8_64",
    private_network_only=False,
    secondary_ip_count=4,
    tags=["collectd"],
    user_metadata="{\\\"value\\\":\\\"newvalue\\\"}")
package main
import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/ibm"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ibm.NewComputeVmInstance(ctx, "terraform-sample-flavor", &ibm.ComputeVmInstanceArgs{
			Datacenter:            pulumi.String("dal06"),
			DedicatedAcctHostOnly: pulumi.Bool(false),
			Disks: pulumi.Float64Array{
				pulumi.Float64(10),
				pulumi.Float64(20),
				pulumi.Float64(30),
			},
			Domain:             pulumi.String("bar.example.com"),
			FlavorKeyName:      pulumi.String("B1_2X8X25"),
			Hostname:           pulumi.String("terraform-sample-flavor"),
			HourlyBilling:      pulumi.Bool(true),
			Ipv6Enabled:        pulumi.Bool(true),
			LocalDisk:          pulumi.Bool(false),
			NetworkSpeed:       pulumi.Float64(10),
			Notes:              pulumi.String("VM notes"),
			OsReferenceCode:    pulumi.String("DEBIAN_8_64"),
			PrivateNetworkOnly: pulumi.Bool(false),
			SecondaryIpCount:   pulumi.Float64(4),
			Tags: pulumi.StringArray{
				pulumi.String("collectd"),
			},
			UserMetadata: pulumi.String("{\\\"value\\\":\\\"newvalue\\\"}"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ibm = Pulumi.Ibm;
return await Deployment.RunAsync(() => 
{
    var terraform_sample_flavor = new Ibm.ComputeVmInstance("terraform-sample-flavor", new()
    {
        Datacenter = "dal06",
        DedicatedAcctHostOnly = false,
        Disks = new[]
        {
            10,
            20,
            30,
        },
        Domain = "bar.example.com",
        FlavorKeyName = "B1_2X8X25",
        Hostname = "terraform-sample-flavor",
        HourlyBilling = true,
        Ipv6Enabled = true,
        LocalDisk = false,
        NetworkSpeed = 10,
        Notes = "VM notes",
        OsReferenceCode = "DEBIAN_8_64",
        PrivateNetworkOnly = false,
        SecondaryIpCount = 4,
        Tags = new[]
        {
            "collectd",
        },
        UserMetadata = "{\\\"value\\\":\\\"newvalue\\\"}",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ibm.ComputeVmInstance;
import com.pulumi.ibm.ComputeVmInstanceArgs;
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 terraform_sample_flavor = new ComputeVmInstance("terraform-sample-flavor", ComputeVmInstanceArgs.builder()
            .datacenter("dal06")
            .dedicatedAcctHostOnly(false)
            .disks(            
                10,
                20,
                30)
            .domain("bar.example.com")
            .flavorKeyName("B1_2X8X25")
            .hostname("terraform-sample-flavor")
            .hourlyBilling(true)
            .ipv6Enabled(true)
            .localDisk(false)
            .networkSpeed(10)
            .notes("VM notes")
            .osReferenceCode("DEBIAN_8_64")
            .privateNetworkOnly(false)
            .secondaryIpCount(4)
            .tags("collectd")
            .userMetadata("{\\\"value\\\":\\\"newvalue\\\"}")
            .build());
    }
}
resources:
  terraform-sample-flavor:
    type: ibm:ComputeVmInstance
    properties:
      datacenter: dal06
      # It should be false
      dedicatedAcctHostOnly: false
      # provide disk 3, 4, 5 and so on
      disks:
        - 10
        - 20
        - 30
      domain: bar.example.com
      flavorKeyName: B1_2X8X25
      hostname: terraform-sample-flavor
      hourlyBilling: true
      ipv6Enabled: true
      localDisk: false
      networkSpeed: 10
      notes: VM notes
      osReferenceCode: DEBIAN_8_64
      privateNetworkOnly: false
      secondaryIpCount: 4
      tags:
        - collectd
      userMetadata: '{\"value\":\"newvalue\"}'
In the following example, you can create multiple vm’s
import * as pulumi from "@pulumi/pulumi";
import * as ibm from "@pulumi/ibm";
const terraform_bulk_vms = new ibm.ComputeVmInstance("terraform-bulk-vms", {
    bulkVms: [
        {
            domain: "bar.example.com",
            hostname: "vm1",
        },
        {
            domain: "bar.example.com",
            hostname: "vm2",
        },
    ],
    cores: 1,
    datacenter: "dal09",
    disks: [25],
    hourlyBilling: true,
    localDisk: false,
    memory: 1024,
    networkSpeed: 100,
    osReferenceCode: "CENTOS_7_64",
    privateNetworkOnly: true,
});
import pulumi
import pulumi_ibm as ibm
terraform_bulk_vms = ibm.ComputeVmInstance("terraform-bulk-vms",
    bulk_vms=[
        {
            "domain": "bar.example.com",
            "hostname": "vm1",
        },
        {
            "domain": "bar.example.com",
            "hostname": "vm2",
        },
    ],
    cores=1,
    datacenter="dal09",
    disks=[25],
    hourly_billing=True,
    local_disk=False,
    memory=1024,
    network_speed=100,
    os_reference_code="CENTOS_7_64",
    private_network_only=True)
package main
import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/ibm"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ibm.NewComputeVmInstance(ctx, "terraform-bulk-vms", &ibm.ComputeVmInstanceArgs{
			BulkVms: ibm.ComputeVmInstanceBulkVmArray{
				&ibm.ComputeVmInstanceBulkVmArgs{
					Domain:   pulumi.String("bar.example.com"),
					Hostname: pulumi.String("vm1"),
				},
				&ibm.ComputeVmInstanceBulkVmArgs{
					Domain:   pulumi.String("bar.example.com"),
					Hostname: pulumi.String("vm2"),
				},
			},
			Cores:      pulumi.Float64(1),
			Datacenter: pulumi.String("dal09"),
			Disks: pulumi.Float64Array{
				pulumi.Float64(25),
			},
			HourlyBilling:      pulumi.Bool(true),
			LocalDisk:          pulumi.Bool(false),
			Memory:             pulumi.Float64(1024),
			NetworkSpeed:       pulumi.Float64(100),
			OsReferenceCode:    pulumi.String("CENTOS_7_64"),
			PrivateNetworkOnly: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ibm = Pulumi.Ibm;
return await Deployment.RunAsync(() => 
{
    var terraform_bulk_vms = new Ibm.ComputeVmInstance("terraform-bulk-vms", new()
    {
        BulkVms = new[]
        {
            new Ibm.Inputs.ComputeVmInstanceBulkVmArgs
            {
                Domain = "bar.example.com",
                Hostname = "vm1",
            },
            new Ibm.Inputs.ComputeVmInstanceBulkVmArgs
            {
                Domain = "bar.example.com",
                Hostname = "vm2",
            },
        },
        Cores = 1,
        Datacenter = "dal09",
        Disks = new[]
        {
            25,
        },
        HourlyBilling = true,
        LocalDisk = false,
        Memory = 1024,
        NetworkSpeed = 100,
        OsReferenceCode = "CENTOS_7_64",
        PrivateNetworkOnly = true,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ibm.ComputeVmInstance;
import com.pulumi.ibm.ComputeVmInstanceArgs;
import com.pulumi.ibm.inputs.ComputeVmInstanceBulkVmArgs;
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 terraform_bulk_vms = new ComputeVmInstance("terraform-bulk-vms", ComputeVmInstanceArgs.builder()
            .bulkVms(            
                ComputeVmInstanceBulkVmArgs.builder()
                    .domain("bar.example.com")
                    .hostname("vm1")
                    .build(),
                ComputeVmInstanceBulkVmArgs.builder()
                    .domain("bar.example.com")
                    .hostname("vm2")
                    .build())
            .cores(1)
            .datacenter("dal09")
            .disks(25)
            .hourlyBilling(true)
            .localDisk(false)
            .memory(1024)
            .networkSpeed(100)
            .osReferenceCode("CENTOS_7_64")
            .privateNetworkOnly(true)
            .build());
    }
}
resources:
  terraform-bulk-vms:
    type: ibm:ComputeVmInstance
    properties:
      bulkVms:
        - domain: bar.example.com
          hostname: vm1
        - domain: bar.example.com
          hostname: vm2
      cores: 1
      datacenter: dal09
      disks:
        - 25
      hourlyBilling: true
      localDisk: false
      memory: 1024
      networkSpeed: 100
      osReferenceCode: CENTOS_7_64
      privateNetworkOnly: true
Example to create a VM instance by using a datacenter_choice.
This example creates a VM instance by using a datacenter_choice. If VM fails to place order on first datacenter or vlans it retries to place order on subsequent datacenters and vlans untill place order is successful:
Coming soon!
Coming soon!
Coming soon!
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ibm.ComputeVmInstance;
import com.pulumi.ibm.ComputeVmInstanceArgs;
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 terraform_retry = new ComputeVmInstance("terraform-retry", ComputeVmInstanceArgs.builder()
            .hostname("vmretry")
            .domain("example.com")
            .networkSpeed(100)
            .hourlyBilling(true)
            .cores(1)
            .memory(1024)
            .localDisk(false)
            .osReferenceCode("DEBIAN_7_64")
            .disks(25)
            .datacenterChoices(            
                Map.ofEntries(
                    Map.entry("datacenter", "dal09"),
                    Map.entry("public_vlan_id", 123245),
                    Map.entry("private_vlan_id", 123255)
                ),
                Map.of("datacenter", "wdc54"),
                Map.ofEntries(
                    Map.entry("datacenter", "dal09"),
                    Map.entry("public_vlan_id", 153345),
                    Map.entry("private_vlan_id", 123255)
                ),
                Map.of("datacenter", "dal06"),
                Map.ofEntries(
                    Map.entry("datacenter", "dal09"),
                    Map.entry("public_vlan_id", 123245),
                    Map.entry("private_vlan_id", 123255)
                ),
                Map.ofEntries(
                    Map.entry("datacenter", "dal09"),
                    Map.entry("public_vlan_id", 1232454),
                    Map.entry("private_vlan_id", 1234567)
                ))
            .timeouts(ComputeVmInstanceTimeoutsArgs.builder()
                .create("20m")
                .update("20m")
                .delete("20m")
                .build())
            .build());
    }
}
resources:
  terraform-retry:
    type: ibm:ComputeVmInstance
    properties:
      hostname: vmretry
      domain: example.com
      networkSpeed: 100
      hourlyBilling: true
      cores: 1
      memory: 1024
      localDisk: false
      osReferenceCode: DEBIAN_7_64
      disks:
        - 25
      datacenterChoices:
        - datacenter: dal09
          public_vlan_id: 123245
          private_vlan_id: 123255
        - datacenter: wdc54
        - datacenter: dal09
          public_vlan_id: 153345
          private_vlan_id: 123255
        - datacenter: dal06
        - datacenter: dal09
          public_vlan_id: 123245
          private_vlan_id: 123255
        - datacenter: dal09
          public_vlan_id: 1.232454e+06
          private_vlan_id: 1.234567e+06
      # User can configure timeouts
      timeouts:
        - create: 20m
          update: 20m
          delete: 20m
Example of a quote based ordering
import * as pulumi from "@pulumi/pulumi";
import * as ibm from "@pulumi/ibm";
const vm1 = new ibm.ComputeVmInstance("vm1", {
    datacenter: "dal06",
    domain: "IBM.cloud",
    flavorKeyName: "B1_2X8X100",
    hostname: "terraformquote",
    hourlyBilling: false,
    localDisk: true,
    networkSpeed: 100,
    osReferenceCode: "DEBIAN_9_64",
    privateNetworkOnly: false,
    quoteId: 2877000,
});
import pulumi
import pulumi_ibm as ibm
vm1 = ibm.ComputeVmInstance("vm1",
    datacenter="dal06",
    domain="IBM.cloud",
    flavor_key_name="B1_2X8X100",
    hostname="terraformquote",
    hourly_billing=False,
    local_disk=True,
    network_speed=100,
    os_reference_code="DEBIAN_9_64",
    private_network_only=False,
    quote_id=2877000)
package main
import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/ibm"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ibm.NewComputeVmInstance(ctx, "vm1", &ibm.ComputeVmInstanceArgs{
			Datacenter:         pulumi.String("dal06"),
			Domain:             pulumi.String("IBM.cloud"),
			FlavorKeyName:      pulumi.String("B1_2X8X100"),
			Hostname:           pulumi.String("terraformquote"),
			HourlyBilling:      pulumi.Bool(false),
			LocalDisk:          pulumi.Bool(true),
			NetworkSpeed:       pulumi.Float64(100),
			OsReferenceCode:    pulumi.String("DEBIAN_9_64"),
			PrivateNetworkOnly: pulumi.Bool(false),
			QuoteId:            pulumi.Float64(2877000),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ibm = Pulumi.Ibm;
return await Deployment.RunAsync(() => 
{
    var vm1 = new Ibm.ComputeVmInstance("vm1", new()
    {
        Datacenter = "dal06",
        Domain = "IBM.cloud",
        FlavorKeyName = "B1_2X8X100",
        Hostname = "terraformquote",
        HourlyBilling = false,
        LocalDisk = true,
        NetworkSpeed = 100,
        OsReferenceCode = "DEBIAN_9_64",
        PrivateNetworkOnly = false,
        QuoteId = 2877000,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ibm.ComputeVmInstance;
import com.pulumi.ibm.ComputeVmInstanceArgs;
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 vm1 = new ComputeVmInstance("vm1", ComputeVmInstanceArgs.builder()
            .datacenter("dal06")
            .domain("IBM.cloud")
            .flavorKeyName("B1_2X8X100")
            .hostname("terraformquote")
            .hourlyBilling(false)
            .localDisk(true)
            .networkSpeed(100)
            .osReferenceCode("DEBIAN_9_64")
            .privateNetworkOnly(false)
            .quoteId("2877000")
            .build());
    }
}
resources:
  vm1:
    type: ibm:ComputeVmInstance
    properties:
      datacenter: dal06
      domain: IBM.cloud
      flavorKeyName: B1_2X8X100
      # Mandatory fields
      hostname: terraformquote
      hourlyBilling: false
      localDisk: true
      networkSpeed: 100
      # Optional fields
      osReferenceCode: DEBIAN_9_64
      privateNetworkOnly: false
      quoteId: '2877000'
In the following example, you can create a VM instance using a Reserved Capacity:
import * as pulumi from "@pulumi/pulumi";
import * as ibm from "@pulumi/ibm";
const reservedinstance = new ibm.ComputeVmInstance("reservedinstance", {
    datacenter: "lon02",
    domain: "ibm.com",
    hostname: "terraformreserved",
    hourlyBilling: false,
    localDisk: false,
    networkSpeed: 10,
    notes: "VM notes",
    osReferenceCode: "DEBIAN_9_64",
    reservedCapacityId: 110974,
    reservedInstancePrimaryDisk: 100,
});
import pulumi
import pulumi_ibm as ibm
reservedinstance = ibm.ComputeVmInstance("reservedinstance",
    datacenter="lon02",
    domain="ibm.com",
    hostname="terraformreserved",
    hourly_billing=False,
    local_disk=False,
    network_speed=10,
    notes="VM notes",
    os_reference_code="DEBIAN_9_64",
    reserved_capacity_id=110974,
    reserved_instance_primary_disk=100)
package main
import (
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/ibm/ibm"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ibm.NewComputeVmInstance(ctx, "reservedinstance", &ibm.ComputeVmInstanceArgs{
			Datacenter:                  pulumi.String("lon02"),
			Domain:                      pulumi.String("ibm.com"),
			Hostname:                    pulumi.String("terraformreserved"),
			HourlyBilling:               pulumi.Bool(false),
			LocalDisk:                   pulumi.Bool(false),
			NetworkSpeed:                pulumi.Float64(10),
			Notes:                       pulumi.String("VM notes"),
			OsReferenceCode:             pulumi.String("DEBIAN_9_64"),
			ReservedCapacityId:          pulumi.Float64(110974),
			ReservedInstancePrimaryDisk: pulumi.Float64(100),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Ibm = Pulumi.Ibm;
return await Deployment.RunAsync(() => 
{
    var reservedinstance = new Ibm.ComputeVmInstance("reservedinstance", new()
    {
        Datacenter = "lon02",
        Domain = "ibm.com",
        Hostname = "terraformreserved",
        HourlyBilling = false,
        LocalDisk = false,
        NetworkSpeed = 10,
        Notes = "VM notes",
        OsReferenceCode = "DEBIAN_9_64",
        ReservedCapacityId = 110974,
        ReservedInstancePrimaryDisk = 100,
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.ibm.ComputeVmInstance;
import com.pulumi.ibm.ComputeVmInstanceArgs;
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 reservedinstance = new ComputeVmInstance("reservedinstance", ComputeVmInstanceArgs.builder()
            .datacenter("lon02")
            .domain("ibm.com")
            .hostname("terraformreserved")
            .hourlyBilling(false)
            .localDisk(false)
            .networkSpeed(10)
            .notes("VM notes")
            .osReferenceCode("DEBIAN_9_64")
            .reservedCapacityId("110974")
            .reservedInstancePrimaryDisk(100)
            .build());
    }
}
resources:
  reservedinstance:
    type: ibm:ComputeVmInstance
    properties:
      datacenter: lon02
      domain: ibm.com
      hostname: terraformreserved
      hourlyBilling: false
      localDisk: false
      networkSpeed: 10
      notes: VM notes
      osReferenceCode: DEBIAN_9_64
      reservedCapacityId: '110974'
      reservedInstancePrimaryDisk: 100
Create ComputeVmInstance Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new ComputeVmInstance(name: string, args?: ComputeVmInstanceArgs, opts?: CustomResourceOptions);@overload
def ComputeVmInstance(resource_name: str,
                      args: Optional[ComputeVmInstanceArgs] = None,
                      opts: Optional[ResourceOptions] = None)
@overload
def ComputeVmInstance(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      block_storage_ids: Optional[Sequence[float]] = None,
                      bulk_vms: Optional[Sequence[ComputeVmInstanceBulkVmArgs]] = None,
                      compute_vm_instance_id: Optional[str] = None,
                      cores: Optional[float] = None,
                      datacenter: Optional[str] = None,
                      datacenter_choices: Optional[Sequence[Mapping[str, str]]] = None,
                      dedicated_acct_host_only: Optional[bool] = None,
                      dedicated_host_id: Optional[float] = None,
                      dedicated_host_name: Optional[str] = None,
                      disks: Optional[Sequence[float]] = None,
                      domain: Optional[str] = None,
                      evault: Optional[float] = None,
                      file_storage_ids: Optional[Sequence[float]] = None,
                      flavor_key_name: Optional[str] = None,
                      hostname: Optional[str] = None,
                      hourly_billing: Optional[bool] = None,
                      image_id: Optional[float] = None,
                      ipv6_enabled: Optional[bool] = None,
                      ipv6_static_enabled: Optional[bool] = None,
                      local_disk: Optional[bool] = None,
                      memory: Optional[float] = None,
                      network_speed: Optional[float] = None,
                      notes: Optional[str] = None,
                      os_reference_code: Optional[str] = None,
                      placement_group_id: Optional[float] = None,
                      placement_group_name: Optional[str] = None,
                      post_install_script_uri: Optional[str] = None,
                      private_network_only: Optional[bool] = None,
                      private_security_group_ids: Optional[Sequence[float]] = None,
                      private_subnet: Optional[str] = None,
                      private_vlan_id: Optional[float] = None,
                      public_bandwidth_limited: Optional[float] = None,
                      public_bandwidth_unlimited: Optional[bool] = None,
                      public_security_group_ids: Optional[Sequence[float]] = None,
                      public_subnet: Optional[str] = None,
                      public_vlan_id: Optional[float] = None,
                      quote_id: Optional[float] = None,
                      reserved_capacity_id: Optional[float] = None,
                      reserved_capacity_name: Optional[str] = None,
                      reserved_instance_primary_disk: Optional[float] = None,
                      secondary_ip_count: Optional[float] = None,
                      ssh_key_ids: Optional[Sequence[float]] = None,
                      tags: Optional[Sequence[str]] = None,
                      timeouts: Optional[ComputeVmInstanceTimeoutsArgs] = None,
                      transient: Optional[bool] = None,
                      user_metadata: Optional[str] = None,
                      wait_time_minutes: Optional[float] = None)func NewComputeVmInstance(ctx *Context, name string, args *ComputeVmInstanceArgs, opts ...ResourceOption) (*ComputeVmInstance, error)public ComputeVmInstance(string name, ComputeVmInstanceArgs? args = null, CustomResourceOptions? opts = null)
public ComputeVmInstance(String name, ComputeVmInstanceArgs args)
public ComputeVmInstance(String name, ComputeVmInstanceArgs args, CustomResourceOptions options)
type: ibm:ComputeVmInstance
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 ComputeVmInstanceArgs
 - 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 ComputeVmInstanceArgs
 - 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 ComputeVmInstanceArgs
 - The arguments to resource properties.
 - opts ResourceOption
 - Bag of options to control resource's behavior.
 
- name string
 - The unique name of the resource.
 - args ComputeVmInstanceArgs
 - The arguments to resource properties.
 - opts CustomResourceOptions
 - Bag of options to control resource's behavior.
 
- name String
 - The unique name of the resource.
 - args ComputeVmInstanceArgs
 - 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 computeVmInstanceResource = new Ibm.ComputeVmInstance("computeVmInstanceResource", new()
{
    BlockStorageIds = new[]
    {
        0,
    },
    BulkVms = new[]
    {
        new Ibm.Inputs.ComputeVmInstanceBulkVmArgs
        {
            Domain = "string",
            Hostname = "string",
        },
    },
    ComputeVmInstanceId = "string",
    Cores = 0,
    Datacenter = "string",
    DatacenterChoices = new[]
    {
        
        {
            { "string", "string" },
        },
    },
    DedicatedAcctHostOnly = false,
    DedicatedHostId = 0,
    DedicatedHostName = "string",
    Disks = new[]
    {
        0,
    },
    Domain = "string",
    Evault = 0,
    FileStorageIds = new[]
    {
        0,
    },
    FlavorKeyName = "string",
    Hostname = "string",
    HourlyBilling = false,
    ImageId = 0,
    Ipv6Enabled = false,
    Ipv6StaticEnabled = false,
    LocalDisk = false,
    Memory = 0,
    NetworkSpeed = 0,
    Notes = "string",
    OsReferenceCode = "string",
    PlacementGroupId = 0,
    PlacementGroupName = "string",
    PostInstallScriptUri = "string",
    PrivateNetworkOnly = false,
    PrivateSecurityGroupIds = new[]
    {
        0,
    },
    PrivateSubnet = "string",
    PrivateVlanId = 0,
    PublicBandwidthLimited = 0,
    PublicBandwidthUnlimited = false,
    PublicSecurityGroupIds = new[]
    {
        0,
    },
    PublicSubnet = "string",
    PublicVlanId = 0,
    QuoteId = 0,
    ReservedCapacityId = 0,
    ReservedCapacityName = "string",
    ReservedInstancePrimaryDisk = 0,
    SecondaryIpCount = 0,
    SshKeyIds = new[]
    {
        0,
    },
    Tags = new[]
    {
        "string",
    },
    Timeouts = new Ibm.Inputs.ComputeVmInstanceTimeoutsArgs
    {
        Create = "string",
        Delete = "string",
        Update = "string",
    },
    Transient = false,
    UserMetadata = "string",
});
example, err := ibm.NewComputeVmInstance(ctx, "computeVmInstanceResource", &ibm.ComputeVmInstanceArgs{
BlockStorageIds: pulumi.Float64Array{
pulumi.Float64(0),
},
BulkVms: .ComputeVmInstanceBulkVmArray{
&.ComputeVmInstanceBulkVmArgs{
Domain: pulumi.String("string"),
Hostname: pulumi.String("string"),
},
},
ComputeVmInstanceId: pulumi.String("string"),
Cores: pulumi.Float64(0),
Datacenter: pulumi.String("string"),
DatacenterChoices: pulumi.StringMapArray{
pulumi.StringMap{
"string": pulumi.String("string"),
},
},
DedicatedAcctHostOnly: pulumi.Bool(false),
DedicatedHostId: pulumi.Float64(0),
DedicatedHostName: pulumi.String("string"),
Disks: pulumi.Float64Array{
pulumi.Float64(0),
},
Domain: pulumi.String("string"),
Evault: pulumi.Float64(0),
FileStorageIds: pulumi.Float64Array{
pulumi.Float64(0),
},
FlavorKeyName: pulumi.String("string"),
Hostname: pulumi.String("string"),
HourlyBilling: pulumi.Bool(false),
ImageId: pulumi.Float64(0),
Ipv6Enabled: pulumi.Bool(false),
Ipv6StaticEnabled: pulumi.Bool(false),
LocalDisk: pulumi.Bool(false),
Memory: pulumi.Float64(0),
NetworkSpeed: pulumi.Float64(0),
Notes: pulumi.String("string"),
OsReferenceCode: pulumi.String("string"),
PlacementGroupId: pulumi.Float64(0),
PlacementGroupName: pulumi.String("string"),
PostInstallScriptUri: pulumi.String("string"),
PrivateNetworkOnly: pulumi.Bool(false),
PrivateSecurityGroupIds: pulumi.Float64Array{
pulumi.Float64(0),
},
PrivateSubnet: pulumi.String("string"),
PrivateVlanId: pulumi.Float64(0),
PublicBandwidthLimited: pulumi.Float64(0),
PublicBandwidthUnlimited: pulumi.Bool(false),
PublicSecurityGroupIds: pulumi.Float64Array{
pulumi.Float64(0),
},
PublicSubnet: pulumi.String("string"),
PublicVlanId: pulumi.Float64(0),
QuoteId: pulumi.Float64(0),
ReservedCapacityId: pulumi.Float64(0),
ReservedCapacityName: pulumi.String("string"),
ReservedInstancePrimaryDisk: pulumi.Float64(0),
SecondaryIpCount: pulumi.Float64(0),
SshKeyIds: pulumi.Float64Array{
pulumi.Float64(0),
},
Tags: pulumi.StringArray{
pulumi.String("string"),
},
Timeouts: &.ComputeVmInstanceTimeoutsArgs{
Create: pulumi.String("string"),
Delete: pulumi.String("string"),
Update: pulumi.String("string"),
},
Transient: pulumi.Bool(false),
UserMetadata: pulumi.String("string"),
})
var computeVmInstanceResource = new ComputeVmInstance("computeVmInstanceResource", ComputeVmInstanceArgs.builder()
    .blockStorageIds(0)
    .bulkVms(ComputeVmInstanceBulkVmArgs.builder()
        .domain("string")
        .hostname("string")
        .build())
    .computeVmInstanceId("string")
    .cores(0)
    .datacenter("string")
    .datacenterChoices(Map.of("string", "string"))
    .dedicatedAcctHostOnly(false)
    .dedicatedHostId(0)
    .dedicatedHostName("string")
    .disks(0)
    .domain("string")
    .evault(0)
    .fileStorageIds(0)
    .flavorKeyName("string")
    .hostname("string")
    .hourlyBilling(false)
    .imageId(0)
    .ipv6Enabled(false)
    .ipv6StaticEnabled(false)
    .localDisk(false)
    .memory(0)
    .networkSpeed(0)
    .notes("string")
    .osReferenceCode("string")
    .placementGroupId(0)
    .placementGroupName("string")
    .postInstallScriptUri("string")
    .privateNetworkOnly(false)
    .privateSecurityGroupIds(0)
    .privateSubnet("string")
    .privateVlanId(0)
    .publicBandwidthLimited(0)
    .publicBandwidthUnlimited(false)
    .publicSecurityGroupIds(0)
    .publicSubnet("string")
    .publicVlanId(0)
    .quoteId(0)
    .reservedCapacityId(0)
    .reservedCapacityName("string")
    .reservedInstancePrimaryDisk(0)
    .secondaryIpCount(0)
    .sshKeyIds(0)
    .tags("string")
    .timeouts(ComputeVmInstanceTimeoutsArgs.builder()
        .create("string")
        .delete("string")
        .update("string")
        .build())
    .transient_(false)
    .userMetadata("string")
    .build());
compute_vm_instance_resource = ibm.ComputeVmInstance("computeVmInstanceResource",
    block_storage_ids=[0],
    bulk_vms=[{
        "domain": "string",
        "hostname": "string",
    }],
    compute_vm_instance_id="string",
    cores=0,
    datacenter="string",
    datacenter_choices=[{
        "string": "string",
    }],
    dedicated_acct_host_only=False,
    dedicated_host_id=0,
    dedicated_host_name="string",
    disks=[0],
    domain="string",
    evault=0,
    file_storage_ids=[0],
    flavor_key_name="string",
    hostname="string",
    hourly_billing=False,
    image_id=0,
    ipv6_enabled=False,
    ipv6_static_enabled=False,
    local_disk=False,
    memory=0,
    network_speed=0,
    notes="string",
    os_reference_code="string",
    placement_group_id=0,
    placement_group_name="string",
    post_install_script_uri="string",
    private_network_only=False,
    private_security_group_ids=[0],
    private_subnet="string",
    private_vlan_id=0,
    public_bandwidth_limited=0,
    public_bandwidth_unlimited=False,
    public_security_group_ids=[0],
    public_subnet="string",
    public_vlan_id=0,
    quote_id=0,
    reserved_capacity_id=0,
    reserved_capacity_name="string",
    reserved_instance_primary_disk=0,
    secondary_ip_count=0,
    ssh_key_ids=[0],
    tags=["string"],
    timeouts={
        "create": "string",
        "delete": "string",
        "update": "string",
    },
    transient=False,
    user_metadata="string")
const computeVmInstanceResource = new ibm.ComputeVmInstance("computeVmInstanceResource", {
    blockStorageIds: [0],
    bulkVms: [{
        domain: "string",
        hostname: "string",
    }],
    computeVmInstanceId: "string",
    cores: 0,
    datacenter: "string",
    datacenterChoices: [{
        string: "string",
    }],
    dedicatedAcctHostOnly: false,
    dedicatedHostId: 0,
    dedicatedHostName: "string",
    disks: [0],
    domain: "string",
    evault: 0,
    fileStorageIds: [0],
    flavorKeyName: "string",
    hostname: "string",
    hourlyBilling: false,
    imageId: 0,
    ipv6Enabled: false,
    ipv6StaticEnabled: false,
    localDisk: false,
    memory: 0,
    networkSpeed: 0,
    notes: "string",
    osReferenceCode: "string",
    placementGroupId: 0,
    placementGroupName: "string",
    postInstallScriptUri: "string",
    privateNetworkOnly: false,
    privateSecurityGroupIds: [0],
    privateSubnet: "string",
    privateVlanId: 0,
    publicBandwidthLimited: 0,
    publicBandwidthUnlimited: false,
    publicSecurityGroupIds: [0],
    publicSubnet: "string",
    publicVlanId: 0,
    quoteId: 0,
    reservedCapacityId: 0,
    reservedCapacityName: "string",
    reservedInstancePrimaryDisk: 0,
    secondaryIpCount: 0,
    sshKeyIds: [0],
    tags: ["string"],
    timeouts: {
        create: "string",
        "delete": "string",
        update: "string",
    },
    transient: false,
    userMetadata: "string",
});
type: ibm:ComputeVmInstance
properties:
    blockStorageIds:
        - 0
    bulkVms:
        - domain: string
          hostname: string
    computeVmInstanceId: string
    cores: 0
    datacenter: string
    datacenterChoices:
        - string: string
    dedicatedAcctHostOnly: false
    dedicatedHostId: 0
    dedicatedHostName: string
    disks:
        - 0
    domain: string
    evault: 0
    fileStorageIds:
        - 0
    flavorKeyName: string
    hostname: string
    hourlyBilling: false
    imageId: 0
    ipv6Enabled: false
    ipv6StaticEnabled: false
    localDisk: false
    memory: 0
    networkSpeed: 0
    notes: string
    osReferenceCode: string
    placementGroupId: 0
    placementGroupName: string
    postInstallScriptUri: string
    privateNetworkOnly: false
    privateSecurityGroupIds:
        - 0
    privateSubnet: string
    privateVlanId: 0
    publicBandwidthLimited: 0
    publicBandwidthUnlimited: false
    publicSecurityGroupIds:
        - 0
    publicSubnet: string
    publicVlanId: 0
    quoteId: 0
    reservedCapacityId: 0
    reservedCapacityName: string
    reservedInstancePrimaryDisk: 0
    secondaryIpCount: 0
    sshKeyIds:
        - 0
    tags:
        - string
    timeouts:
        create: string
        delete: string
        update: string
    transient: false
    userMetadata: string
ComputeVmInstance 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 ComputeVmInstance resource accepts the following input properties:
- Block
Storage List<double>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - Bulk
Vms List<ComputeVm Instance Bulk Vm>  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- Compute
Vm stringInstance Id  - (String) The unique identifier of the VM instance.
 - Cores double
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - Datacenter string
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - Datacenter
Choices List<ImmutableDictionary<string, string>>  A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- Dedicated
Acct boolHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - Dedicated
Host doubleId  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - Dedicated
Host stringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - Disks List<double>
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - Domain string
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - Evault double
 - Allowed 
Evaultin GB per month for monthly based servers. - File
Storage List<double>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - Flavor
Key stringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - Hostname string
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - Hourly
Billing bool - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - Image
Id double - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - Ipv6Enabled bool
 - The primary public IPv6 address. The default value is false.
 - Ipv6Static
Enabled bool - The public static IPv6 address block of 
/64. The default value is false. - Local
Disk bool - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - Memory double
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - Network
Speed double - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - Notes string
 - Descriptive text of up to 1000 characters about the VM instance.
 - Os
Reference stringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - Placement
Group doubleId  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - Placement
Group stringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - Post
Install stringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - Private
Network boolOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - Private
Security List<double>Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - Private
Subnet string - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - Private
Vlan doubleId  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - Public
Bandwidth doubleLimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - Public
Bandwidth boolUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - Public
Security List<double>Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - Public
Subnet string - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - Public
Vlan doubleId  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - Quote
Id double - Quote ID for Quote based provisioning
 - Reserved
Capacity doubleId  - The reserved capacity ID to provision the instance.
 - Reserved
Capacity stringName  - The reserved capacity name to provision the instance.
 - Reserved
Instance doublePrimary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - Secondary
Ip doubleCount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - Ssh
Key List<double>Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - List<string>
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - Timeouts
Compute
Vm Instance Timeouts  - Transient bool
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - User
Metadata string - Arbitrary data to be made available to the computing instance.
 - Wait
Time doubleMinutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- Block
Storage []float64Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - Bulk
Vms []ComputeVm Instance Bulk Vm Args  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- Compute
Vm stringInstance Id  - (String) The unique identifier of the VM instance.
 - Cores float64
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - Datacenter string
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - Datacenter
Choices []map[string]string A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- Dedicated
Acct boolHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - Dedicated
Host float64Id  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - Dedicated
Host stringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - Disks []float64
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - Domain string
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - Evault float64
 - Allowed 
Evaultin GB per month for monthly based servers. - File
Storage []float64Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - Flavor
Key stringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - Hostname string
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - Hourly
Billing bool - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - Image
Id float64 - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - Ipv6Enabled bool
 - The primary public IPv6 address. The default value is false.
 - Ipv6Static
Enabled bool - The public static IPv6 address block of 
/64. The default value is false. - Local
Disk bool - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - Memory float64
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - Network
Speed float64 - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - Notes string
 - Descriptive text of up to 1000 characters about the VM instance.
 - Os
Reference stringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - Placement
Group float64Id  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - Placement
Group stringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - Post
Install stringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - Private
Network boolOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - Private
Security []float64Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - Private
Subnet string - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - Private
Vlan float64Id  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - Public
Bandwidth float64Limited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - Public
Bandwidth boolUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - Public
Security []float64Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - Public
Subnet string - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - Public
Vlan float64Id  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - Quote
Id float64 - Quote ID for Quote based provisioning
 - Reserved
Capacity float64Id  - The reserved capacity ID to provision the instance.
 - Reserved
Capacity stringName  - The reserved capacity name to provision the instance.
 - Reserved
Instance float64Primary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - Secondary
Ip float64Count  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - Ssh
Key []float64Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - []string
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - Timeouts
Compute
Vm Instance Timeouts Args  - Transient bool
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - User
Metadata string - Arbitrary data to be made available to the computing instance.
 - Wait
Time float64Minutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- block
Storage List<Double>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - bulk
Vms List<ComputeVm Instance Bulk Vm>  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- compute
Vm StringInstance Id  - (String) The unique identifier of the VM instance.
 - cores Double
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - datacenter String
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - datacenter
Choices List<Map<String,String>> A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- dedicated
Acct BooleanHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - dedicated
Host DoubleId  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - dedicated
Host StringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - disks List<Double>
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - domain String
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - evault Double
 - Allowed 
Evaultin GB per month for monthly based servers. - file
Storage List<Double>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - flavor
Key StringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - hostname String
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - hourly
Billing Boolean - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - image
Id Double - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - ipv6Enabled Boolean
 - The primary public IPv6 address. The default value is false.
 - ipv6Static
Enabled Boolean - The public static IPv6 address block of 
/64. The default value is false. - local
Disk Boolean - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - memory Double
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - network
Speed Double - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - notes String
 - Descriptive text of up to 1000 characters about the VM instance.
 - os
Reference StringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - placement
Group DoubleId  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - placement
Group StringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - post
Install StringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - private
Network BooleanOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - private
Security List<Double>Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - private
Subnet String - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - private
Vlan DoubleId  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - public
Bandwidth DoubleLimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - public
Bandwidth BooleanUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - public
Security List<Double>Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - public
Subnet String - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - public
Vlan DoubleId  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - quote
Id Double - Quote ID for Quote based provisioning
 - reserved
Capacity DoubleId  - The reserved capacity ID to provision the instance.
 - reserved
Capacity StringName  - The reserved capacity name to provision the instance.
 - reserved
Instance DoublePrimary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - secondary
Ip DoubleCount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - ssh
Key List<Double>Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - List<String>
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - timeouts
Compute
Vm Instance Timeouts  - transient_ Boolean
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - user
Metadata String - Arbitrary data to be made available to the computing instance.
 - wait
Time DoubleMinutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- block
Storage number[]Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - bulk
Vms ComputeVm Instance Bulk Vm[]  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- compute
Vm stringInstance Id  - (String) The unique identifier of the VM instance.
 - cores number
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - datacenter string
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - datacenter
Choices {[key: string]: string}[] A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- dedicated
Acct booleanHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - dedicated
Host numberId  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - dedicated
Host stringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - disks number[]
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - domain string
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - evault number
 - Allowed 
Evaultin GB per month for monthly based servers. - file
Storage number[]Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - flavor
Key stringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - hostname string
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - hourly
Billing boolean - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - image
Id number - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - ipv6Enabled boolean
 - The primary public IPv6 address. The default value is false.
 - ipv6Static
Enabled boolean - The public static IPv6 address block of 
/64. The default value is false. - local
Disk boolean - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - memory number
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - network
Speed number - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - notes string
 - Descriptive text of up to 1000 characters about the VM instance.
 - os
Reference stringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - placement
Group numberId  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - placement
Group stringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - post
Install stringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - private
Network booleanOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - private
Security number[]Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - private
Subnet string - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - private
Vlan numberId  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - public
Bandwidth numberLimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - public
Bandwidth booleanUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - public
Security number[]Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - public
Subnet string - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - public
Vlan numberId  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - quote
Id number - Quote ID for Quote based provisioning
 - reserved
Capacity numberId  - The reserved capacity ID to provision the instance.
 - reserved
Capacity stringName  - The reserved capacity name to provision the instance.
 - reserved
Instance numberPrimary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - secondary
Ip numberCount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - ssh
Key number[]Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - string[]
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - timeouts
Compute
Vm Instance Timeouts  - transient boolean
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - user
Metadata string - Arbitrary data to be made available to the computing instance.
 - wait
Time numberMinutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- block_
storage_ Sequence[float]ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - bulk_
vms Sequence[ComputeVm Instance Bulk Vm Args]  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- compute_
vm_ strinstance_ id  - (String) The unique identifier of the VM instance.
 - cores float
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - datacenter str
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - datacenter_
choices Sequence[Mapping[str, str]] A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- dedicated_
acct_ boolhost_ only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - dedicated_
host_ floatid  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - dedicated_
host_ strname  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - disks Sequence[float]
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - domain str
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - evault float
 - Allowed 
Evaultin GB per month for monthly based servers. - file_
storage_ Sequence[float]ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - flavor_
key_ strname  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - hostname str
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - hourly_
billing bool - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - image_
id float - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - ipv6_
enabled bool - The primary public IPv6 address. The default value is false.
 - ipv6_
static_ boolenabled  - The public static IPv6 address block of 
/64. The default value is false. - local_
disk bool - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - memory float
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - network_
speed float - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - notes str
 - Descriptive text of up to 1000 characters about the VM instance.
 - os_
reference_ strcode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - placement_
group_ floatid  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - placement_
group_ strname  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - post_
install_ strscript_ uri  - The URI of the script to be downloaded and executed after installation is complete.
 - private_
network_ boolonly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - private_
security_ Sequence[float]group_ ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - private_
subnet str - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - private_
vlan_ floatid  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - public_
bandwidth_ floatlimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - public_
bandwidth_ boolunlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - public_
security_ Sequence[float]group_ ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - public_
subnet str - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - public_
vlan_ floatid  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - quote_
id float - Quote ID for Quote based provisioning
 - reserved_
capacity_ floatid  - The reserved capacity ID to provision the instance.
 - reserved_
capacity_ strname  - The reserved capacity name to provision the instance.
 - reserved_
instance_ floatprimary_ disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - secondary_
ip_ floatcount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - ssh_
key_ Sequence[float]ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - Sequence[str]
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - timeouts
Compute
Vm Instance Timeouts Args  - transient bool
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - user_
metadata str - Arbitrary data to be made available to the computing instance.
 - wait_
time_ floatminutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- block
Storage List<Number>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - bulk
Vms List<Property Map> Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- compute
Vm StringInstance Id  - (String) The unique identifier of the VM instance.
 - cores Number
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - datacenter String
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - datacenter
Choices List<Map<String>> A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- dedicated
Acct BooleanHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - dedicated
Host NumberId  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - dedicated
Host StringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - disks List<Number>
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - domain String
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - evault Number
 - Allowed 
Evaultin GB per month for monthly based servers. - file
Storage List<Number>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - flavor
Key StringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - hostname String
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - hourly
Billing Boolean - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - image
Id Number - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - ipv6Enabled Boolean
 - The primary public IPv6 address. The default value is false.
 - ipv6Static
Enabled Boolean - The public static IPv6 address block of 
/64. The default value is false. - local
Disk Boolean - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - memory Number
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - network
Speed Number - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - notes String
 - Descriptive text of up to 1000 characters about the VM instance.
 - os
Reference StringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - placement
Group NumberId  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - placement
Group StringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - post
Install StringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - private
Network BooleanOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - private
Security List<Number>Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - private
Subnet String - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - private
Vlan NumberId  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - public
Bandwidth NumberLimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - public
Bandwidth BooleanUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - public
Security List<Number>Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - public
Subnet String - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - public
Vlan NumberId  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - quote
Id Number - Quote ID for Quote based provisioning
 - reserved
Capacity NumberId  - The reserved capacity ID to provision the instance.
 - reserved
Capacity StringName  - The reserved capacity name to provision the instance.
 - reserved
Instance NumberPrimary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - secondary
Ip NumberCount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - ssh
Key List<Number>Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - List<String>
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - timeouts Property Map
 - transient Boolean
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - user
Metadata String - Arbitrary data to be made available to the computing instance.
 - wait
Time NumberMinutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
Outputs
All input properties are implicitly available as output properties. Additionally, the ComputeVmInstance resource produces the following output properties:
- Id string
 - The provider-assigned unique ID for this managed resource.
 - Ip
Address doubleId  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - Ip
Address doubleId Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - Ipv4Address string
 - (String) The public IPv4 address of the VM instance.
 - Ipv4Address
Private string - (String) The private IPv4 address of the VM instance.
 - Ipv6Address string
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - Ipv6Address
Id double - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - Private
Interface doubleId  - (String) The ID of the primary private interface.
 - Private
Subnet doubleId  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - Public
Interface doubleId  - (String) The ID of the primary public interface.
 - Public
Ipv6Subnet string - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - Public
Ipv6Subnet doubleId  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - Public
Subnet doubleId  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - Resource
Controller stringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - Resource
Name string - The name of the resource
 - Resource
Status string - The status of the resource
 - Secondary
Ip List<string>Addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 
- Id string
 - The provider-assigned unique ID for this managed resource.
 - Ip
Address float64Id  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - Ip
Address float64Id Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - Ipv4Address string
 - (String) The public IPv4 address of the VM instance.
 - Ipv4Address
Private string - (String) The private IPv4 address of the VM instance.
 - Ipv6Address string
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - Ipv6Address
Id float64 - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - Private
Interface float64Id  - (String) The ID of the primary private interface.
 - Private
Subnet float64Id  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - Public
Interface float64Id  - (String) The ID of the primary public interface.
 - Public
Ipv6Subnet string - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - Public
Ipv6Subnet float64Id  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - Public
Subnet float64Id  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - Resource
Controller stringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - Resource
Name string - The name of the resource
 - Resource
Status string - The status of the resource
 - Secondary
Ip []stringAddresses  - (String) The public secondary IPv4 addresses of the VM instance.
 
- id String
 - The provider-assigned unique ID for this managed resource.
 - ip
Address DoubleId  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - ip
Address DoubleId Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - ipv4Address String
 - (String) The public IPv4 address of the VM instance.
 - ipv4Address
Private String - (String) The private IPv4 address of the VM instance.
 - ipv6Address String
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - ipv6Address
Id Double - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - private
Interface DoubleId  - (String) The ID of the primary private interface.
 - private
Subnet DoubleId  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - public
Interface DoubleId  - (String) The ID of the primary public interface.
 - public
Ipv6Subnet String - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - public
Ipv6Subnet DoubleId  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - public
Subnet DoubleId  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - resource
Controller StringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - resource
Name String - The name of the resource
 - resource
Status String - The status of the resource
 - secondary
Ip List<String>Addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 
- id string
 - The provider-assigned unique ID for this managed resource.
 - ip
Address numberId  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - ip
Address numberId Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - ipv4Address string
 - (String) The public IPv4 address of the VM instance.
 - ipv4Address
Private string - (String) The private IPv4 address of the VM instance.
 - ipv6Address string
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - ipv6Address
Id number - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - private
Interface numberId  - (String) The ID of the primary private interface.
 - private
Subnet numberId  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - public
Interface numberId  - (String) The ID of the primary public interface.
 - public
Ipv6Subnet string - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - public
Ipv6Subnet numberId  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - public
Subnet numberId  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - resource
Controller stringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - resource
Name string - The name of the resource
 - resource
Status string - The status of the resource
 - secondary
Ip string[]Addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 
- id str
 - The provider-assigned unique ID for this managed resource.
 - ip_
address_ floatid  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - ip_
address_ floatid_ private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - ipv4_
address str - (String) The public IPv4 address of the VM instance.
 - ipv4_
address_ strprivate  - (String) The private IPv4 address of the VM instance.
 - ipv6_
address str - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - ipv6_
address_ floatid  - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - private_
interface_ floatid  - (String) The ID of the primary private interface.
 - private_
subnet_ floatid  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - public_
interface_ floatid  - (String) The ID of the primary public interface.
 - public_
ipv6_ strsubnet  - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - public_
ipv6_ floatsubnet_ id  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - public_
subnet_ floatid  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - resource_
controller_ strurl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - resource_
name str - The name of the resource
 - resource_
status str - The status of the resource
 - secondary_
ip_ Sequence[str]addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 
- id String
 - The provider-assigned unique ID for this managed resource.
 - ip
Address NumberId  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - ip
Address NumberId Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - ipv4Address String
 - (String) The public IPv4 address of the VM instance.
 - ipv4Address
Private String - (String) The private IPv4 address of the VM instance.
 - ipv6Address String
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - ipv6Address
Id Number - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - private
Interface NumberId  - (String) The ID of the primary private interface.
 - private
Subnet NumberId  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - public
Interface NumberId  - (String) The ID of the primary public interface.
 - public
Ipv6Subnet String - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - public
Ipv6Subnet NumberId  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - public
Subnet NumberId  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - resource
Controller StringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - resource
Name String - The name of the resource
 - resource
Status String - The status of the resource
 - secondary
Ip List<String>Addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 
Look up Existing ComputeVmInstance Resource
Get an existing ComputeVmInstance 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?: ComputeVmInstanceState, opts?: CustomResourceOptions): ComputeVmInstance@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        block_storage_ids: Optional[Sequence[float]] = None,
        bulk_vms: Optional[Sequence[ComputeVmInstanceBulkVmArgs]] = None,
        compute_vm_instance_id: Optional[str] = None,
        cores: Optional[float] = None,
        datacenter: Optional[str] = None,
        datacenter_choices: Optional[Sequence[Mapping[str, str]]] = None,
        dedicated_acct_host_only: Optional[bool] = None,
        dedicated_host_id: Optional[float] = None,
        dedicated_host_name: Optional[str] = None,
        disks: Optional[Sequence[float]] = None,
        domain: Optional[str] = None,
        evault: Optional[float] = None,
        file_storage_ids: Optional[Sequence[float]] = None,
        flavor_key_name: Optional[str] = None,
        hostname: Optional[str] = None,
        hourly_billing: Optional[bool] = None,
        image_id: Optional[float] = None,
        ip_address_id: Optional[float] = None,
        ip_address_id_private: Optional[float] = None,
        ipv4_address: Optional[str] = None,
        ipv4_address_private: Optional[str] = None,
        ipv6_address: Optional[str] = None,
        ipv6_address_id: Optional[float] = None,
        ipv6_enabled: Optional[bool] = None,
        ipv6_static_enabled: Optional[bool] = None,
        local_disk: Optional[bool] = None,
        memory: Optional[float] = None,
        network_speed: Optional[float] = None,
        notes: Optional[str] = None,
        os_reference_code: Optional[str] = None,
        placement_group_id: Optional[float] = None,
        placement_group_name: Optional[str] = None,
        post_install_script_uri: Optional[str] = None,
        private_interface_id: Optional[float] = None,
        private_network_only: Optional[bool] = None,
        private_security_group_ids: Optional[Sequence[float]] = None,
        private_subnet: Optional[str] = None,
        private_subnet_id: Optional[float] = None,
        private_vlan_id: Optional[float] = None,
        public_bandwidth_limited: Optional[float] = None,
        public_bandwidth_unlimited: Optional[bool] = None,
        public_interface_id: Optional[float] = None,
        public_ipv6_subnet: Optional[str] = None,
        public_ipv6_subnet_id: Optional[float] = None,
        public_security_group_ids: Optional[Sequence[float]] = None,
        public_subnet: Optional[str] = None,
        public_subnet_id: Optional[float] = None,
        public_vlan_id: Optional[float] = None,
        quote_id: Optional[float] = None,
        reserved_capacity_id: Optional[float] = None,
        reserved_capacity_name: Optional[str] = None,
        reserved_instance_primary_disk: Optional[float] = None,
        resource_controller_url: Optional[str] = None,
        resource_name: Optional[str] = None,
        resource_status: Optional[str] = None,
        secondary_ip_addresses: Optional[Sequence[str]] = None,
        secondary_ip_count: Optional[float] = None,
        ssh_key_ids: Optional[Sequence[float]] = None,
        tags: Optional[Sequence[str]] = None,
        timeouts: Optional[ComputeVmInstanceTimeoutsArgs] = None,
        transient: Optional[bool] = None,
        user_metadata: Optional[str] = None,
        wait_time_minutes: Optional[float] = None) -> ComputeVmInstancefunc GetComputeVmInstance(ctx *Context, name string, id IDInput, state *ComputeVmInstanceState, opts ...ResourceOption) (*ComputeVmInstance, error)public static ComputeVmInstance Get(string name, Input<string> id, ComputeVmInstanceState? state, CustomResourceOptions? opts = null)public static ComputeVmInstance get(String name, Output<String> id, ComputeVmInstanceState state, CustomResourceOptions options)resources:  _:    type: ibm:ComputeVmInstance    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.
 
- Block
Storage List<double>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - Bulk
Vms List<ComputeVm Instance Bulk Vm>  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- Compute
Vm stringInstance Id  - (String) The unique identifier of the VM instance.
 - Cores double
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - Datacenter string
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - Datacenter
Choices List<ImmutableDictionary<string, string>>  A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- Dedicated
Acct boolHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - Dedicated
Host doubleId  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - Dedicated
Host stringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - Disks List<double>
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - Domain string
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - Evault double
 - Allowed 
Evaultin GB per month for monthly based servers. - File
Storage List<double>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - Flavor
Key stringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - Hostname string
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - Hourly
Billing bool - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - Image
Id double - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - Ip
Address doubleId  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - Ip
Address doubleId Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - Ipv4Address string
 - (String) The public IPv4 address of the VM instance.
 - Ipv4Address
Private string - (String) The private IPv4 address of the VM instance.
 - Ipv6Address string
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - Ipv6Address
Id double - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - Ipv6Enabled bool
 - The primary public IPv6 address. The default value is false.
 - Ipv6Static
Enabled bool - The public static IPv6 address block of 
/64. The default value is false. - Local
Disk bool - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - Memory double
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - Network
Speed double - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - Notes string
 - Descriptive text of up to 1000 characters about the VM instance.
 - Os
Reference stringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - Placement
Group doubleId  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - Placement
Group stringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - Post
Install stringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - Private
Interface doubleId  - (String) The ID of the primary private interface.
 - Private
Network boolOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - Private
Security List<double>Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - Private
Subnet string - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - Private
Subnet doubleId  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - Private
Vlan doubleId  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - Public
Bandwidth doubleLimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - Public
Bandwidth boolUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - Public
Interface doubleId  - (String) The ID of the primary public interface.
 - Public
Ipv6Subnet string - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - Public
Ipv6Subnet doubleId  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - Public
Security List<double>Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - Public
Subnet string - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - Public
Subnet doubleId  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - Public
Vlan doubleId  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - Quote
Id double - Quote ID for Quote based provisioning
 - Reserved
Capacity doubleId  - The reserved capacity ID to provision the instance.
 - Reserved
Capacity stringName  - The reserved capacity name to provision the instance.
 - Reserved
Instance doublePrimary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - Resource
Controller stringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - Resource
Name string - The name of the resource
 - Resource
Status string - The status of the resource
 - Secondary
Ip List<string>Addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 - Secondary
Ip doubleCount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - Ssh
Key List<double>Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - List<string>
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - Timeouts
Compute
Vm Instance Timeouts  - Transient bool
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - User
Metadata string - Arbitrary data to be made available to the computing instance.
 - Wait
Time doubleMinutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- Block
Storage []float64Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - Bulk
Vms []ComputeVm Instance Bulk Vm Args  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- Compute
Vm stringInstance Id  - (String) The unique identifier of the VM instance.
 - Cores float64
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - Datacenter string
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - Datacenter
Choices []map[string]string A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- Dedicated
Acct boolHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - Dedicated
Host float64Id  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - Dedicated
Host stringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - Disks []float64
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - Domain string
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - Evault float64
 - Allowed 
Evaultin GB per month for monthly based servers. - File
Storage []float64Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - Flavor
Key stringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - Hostname string
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - Hourly
Billing bool - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - Image
Id float64 - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - Ip
Address float64Id  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - Ip
Address float64Id Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - Ipv4Address string
 - (String) The public IPv4 address of the VM instance.
 - Ipv4Address
Private string - (String) The private IPv4 address of the VM instance.
 - Ipv6Address string
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - Ipv6Address
Id float64 - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - Ipv6Enabled bool
 - The primary public IPv6 address. The default value is false.
 - Ipv6Static
Enabled bool - The public static IPv6 address block of 
/64. The default value is false. - Local
Disk bool - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - Memory float64
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - Network
Speed float64 - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - Notes string
 - Descriptive text of up to 1000 characters about the VM instance.
 - Os
Reference stringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - Placement
Group float64Id  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - Placement
Group stringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - Post
Install stringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - Private
Interface float64Id  - (String) The ID of the primary private interface.
 - Private
Network boolOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - Private
Security []float64Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - Private
Subnet string - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - Private
Subnet float64Id  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - Private
Vlan float64Id  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - Public
Bandwidth float64Limited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - Public
Bandwidth boolUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - Public
Interface float64Id  - (String) The ID of the primary public interface.
 - Public
Ipv6Subnet string - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - Public
Ipv6Subnet float64Id  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - Public
Security []float64Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - Public
Subnet string - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - Public
Subnet float64Id  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - Public
Vlan float64Id  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - Quote
Id float64 - Quote ID for Quote based provisioning
 - Reserved
Capacity float64Id  - The reserved capacity ID to provision the instance.
 - Reserved
Capacity stringName  - The reserved capacity name to provision the instance.
 - Reserved
Instance float64Primary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - Resource
Controller stringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - Resource
Name string - The name of the resource
 - Resource
Status string - The status of the resource
 - Secondary
Ip []stringAddresses  - (String) The public secondary IPv4 addresses of the VM instance.
 - Secondary
Ip float64Count  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - Ssh
Key []float64Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - []string
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - Timeouts
Compute
Vm Instance Timeouts Args  - Transient bool
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - User
Metadata string - Arbitrary data to be made available to the computing instance.
 - Wait
Time float64Minutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- block
Storage List<Double>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - bulk
Vms List<ComputeVm Instance Bulk Vm>  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- compute
Vm StringInstance Id  - (String) The unique identifier of the VM instance.
 - cores Double
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - datacenter String
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - datacenter
Choices List<Map<String,String>> A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- dedicated
Acct BooleanHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - dedicated
Host DoubleId  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - dedicated
Host StringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - disks List<Double>
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - domain String
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - evault Double
 - Allowed 
Evaultin GB per month for monthly based servers. - file
Storage List<Double>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - flavor
Key StringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - hostname String
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - hourly
Billing Boolean - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - image
Id Double - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - ip
Address DoubleId  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - ip
Address DoubleId Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - ipv4Address String
 - (String) The public IPv4 address of the VM instance.
 - ipv4Address
Private String - (String) The private IPv4 address of the VM instance.
 - ipv6Address String
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - ipv6Address
Id Double - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - ipv6Enabled Boolean
 - The primary public IPv6 address. The default value is false.
 - ipv6Static
Enabled Boolean - The public static IPv6 address block of 
/64. The default value is false. - local
Disk Boolean - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - memory Double
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - network
Speed Double - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - notes String
 - Descriptive text of up to 1000 characters about the VM instance.
 - os
Reference StringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - placement
Group DoubleId  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - placement
Group StringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - post
Install StringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - private
Interface DoubleId  - (String) The ID of the primary private interface.
 - private
Network BooleanOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - private
Security List<Double>Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - private
Subnet String - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - private
Subnet DoubleId  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - private
Vlan DoubleId  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - public
Bandwidth DoubleLimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - public
Bandwidth BooleanUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - public
Interface DoubleId  - (String) The ID of the primary public interface.
 - public
Ipv6Subnet String - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - public
Ipv6Subnet DoubleId  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - public
Security List<Double>Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - public
Subnet String - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - public
Subnet DoubleId  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - public
Vlan DoubleId  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - quote
Id Double - Quote ID for Quote based provisioning
 - reserved
Capacity DoubleId  - The reserved capacity ID to provision the instance.
 - reserved
Capacity StringName  - The reserved capacity name to provision the instance.
 - reserved
Instance DoublePrimary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - resource
Controller StringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - resource
Name String - The name of the resource
 - resource
Status String - The status of the resource
 - secondary
Ip List<String>Addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 - secondary
Ip DoubleCount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - ssh
Key List<Double>Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - List<String>
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - timeouts
Compute
Vm Instance Timeouts  - transient_ Boolean
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - user
Metadata String - Arbitrary data to be made available to the computing instance.
 - wait
Time DoubleMinutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- block
Storage number[]Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - bulk
Vms ComputeVm Instance Bulk Vm[]  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- compute
Vm stringInstance Id  - (String) The unique identifier of the VM instance.
 - cores number
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - datacenter string
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - datacenter
Choices {[key: string]: string}[] A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- dedicated
Acct booleanHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - dedicated
Host numberId  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - dedicated
Host stringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - disks number[]
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - domain string
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - evault number
 - Allowed 
Evaultin GB per month for monthly based servers. - file
Storage number[]Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - flavor
Key stringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - hostname string
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - hourly
Billing boolean - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - image
Id number - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - ip
Address numberId  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - ip
Address numberId Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - ipv4Address string
 - (String) The public IPv4 address of the VM instance.
 - ipv4Address
Private string - (String) The private IPv4 address of the VM instance.
 - ipv6Address string
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - ipv6Address
Id number - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - ipv6Enabled boolean
 - The primary public IPv6 address. The default value is false.
 - ipv6Static
Enabled boolean - The public static IPv6 address block of 
/64. The default value is false. - local
Disk boolean - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - memory number
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - network
Speed number - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - notes string
 - Descriptive text of up to 1000 characters about the VM instance.
 - os
Reference stringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - placement
Group numberId  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - placement
Group stringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - post
Install stringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - private
Interface numberId  - (String) The ID of the primary private interface.
 - private
Network booleanOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - private
Security number[]Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - private
Subnet string - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - private
Subnet numberId  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - private
Vlan numberId  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - public
Bandwidth numberLimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - public
Bandwidth booleanUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - public
Interface numberId  - (String) The ID of the primary public interface.
 - public
Ipv6Subnet string - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - public
Ipv6Subnet numberId  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - public
Security number[]Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - public
Subnet string - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - public
Subnet numberId  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - public
Vlan numberId  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - quote
Id number - Quote ID for Quote based provisioning
 - reserved
Capacity numberId  - The reserved capacity ID to provision the instance.
 - reserved
Capacity stringName  - The reserved capacity name to provision the instance.
 - reserved
Instance numberPrimary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - resource
Controller stringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - resource
Name string - The name of the resource
 - resource
Status string - The status of the resource
 - secondary
Ip string[]Addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 - secondary
Ip numberCount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - ssh
Key number[]Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - string[]
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - timeouts
Compute
Vm Instance Timeouts  - transient boolean
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - user
Metadata string - Arbitrary data to be made available to the computing instance.
 - wait
Time numberMinutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- block_
storage_ Sequence[float]ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - bulk_
vms Sequence[ComputeVm Instance Bulk Vm Args]  Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- compute_
vm_ strinstance_ id  - (String) The unique identifier of the VM instance.
 - cores float
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - datacenter str
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - datacenter_
choices Sequence[Mapping[str, str]] A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- dedicated_
acct_ boolhost_ only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - dedicated_
host_ floatid  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - dedicated_
host_ strname  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - disks Sequence[float]
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - domain str
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - evault float
 - Allowed 
Evaultin GB per month for monthly based servers. - file_
storage_ Sequence[float]ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - flavor_
key_ strname  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - hostname str
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - hourly_
billing bool - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - image_
id float - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - ip_
address_ floatid  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - ip_
address_ floatid_ private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - ipv4_
address str - (String) The public IPv4 address of the VM instance.
 - ipv4_
address_ strprivate  - (String) The private IPv4 address of the VM instance.
 - ipv6_
address str - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - ipv6_
address_ floatid  - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - ipv6_
enabled bool - The primary public IPv6 address. The default value is false.
 - ipv6_
static_ boolenabled  - The public static IPv6 address block of 
/64. The default value is false. - local_
disk bool - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - memory float
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - network_
speed float - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - notes str
 - Descriptive text of up to 1000 characters about the VM instance.
 - os_
reference_ strcode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - placement_
group_ floatid  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - placement_
group_ strname  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - post_
install_ strscript_ uri  - The URI of the script to be downloaded and executed after installation is complete.
 - private_
interface_ floatid  - (String) The ID of the primary private interface.
 - private_
network_ boolonly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - private_
security_ Sequence[float]group_ ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - private_
subnet str - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - private_
subnet_ floatid  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - private_
vlan_ floatid  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - public_
bandwidth_ floatlimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - public_
bandwidth_ boolunlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - public_
interface_ floatid  - (String) The ID of the primary public interface.
 - public_
ipv6_ strsubnet  - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - public_
ipv6_ floatsubnet_ id  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - public_
security_ Sequence[float]group_ ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - public_
subnet str - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - public_
subnet_ floatid  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - public_
vlan_ floatid  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - quote_
id float - Quote ID for Quote based provisioning
 - reserved_
capacity_ floatid  - The reserved capacity ID to provision the instance.
 - reserved_
capacity_ strname  - The reserved capacity name to provision the instance.
 - reserved_
instance_ floatprimary_ disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - resource_
controller_ strurl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - resource_
name str - The name of the resource
 - resource_
status str - The status of the resource
 - secondary_
ip_ Sequence[str]addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 - secondary_
ip_ floatcount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - ssh_
key_ Sequence[float]ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - Sequence[str]
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - timeouts
Compute
Vm Instance Timeouts Args  - transient bool
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - user_
metadata str - Arbitrary data to be made available to the computing instance.
 - wait_
time_ floatminutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
- block
Storage List<Number>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageBlockresource in order to prevent the same storage be added twice. - bulk
Vms List<Property Map> Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.
Nested scheme for
bulk_vms:- compute
Vm StringInstance Id  - (String) The unique identifier of the VM instance.
 - cores Number
 - The number of CPU cores that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - datacenter String
 - The data center in which you want to provision the instance. Note If 
dedicated_host_nameordedicated_host_idis provided then the datacenter should be same as the dedicated host datacenter. Ifplacement_group_nameorplacement_group_idis provided then the datacenter should be same as the placement group datacenter. Conflicts withdatacenter_choice. - datacenter
Choices List<Map<String>> A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested
datacenter_choiceblocks must have the following structure:Nested scheme for
datacenter_choice:- dedicated
Acct BooleanHost Only  - Specifies whether the instance must only run on hosts with instances from the same account. The default value is false. If VM is provisioned by using 
flavorKeyName, value should be set to false. Note Conflicts withdedicated_host_name,dedicated_host_id,placement_group_nameandplacement_group_id. - dedicated
Host NumberId  - Specifies dedicated host for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,placement_group_nameandplacement_group_id. - dedicated
Host StringName  - Specifies dedicated host for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,placement_group_nameandplacement_group_id. - disks List<Number>
 - The numeric disk sizes in GBs for the instance's block device and disk image settings. The default value is the smallest available capacity for the primary disk. If you specify an image template, the template provides the disk capacity. If you specify the 
flavorKeyName, first disk is provided by the flavor. - domain String
 - The domain for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - evault Number
 - Allowed 
Evaultin GB per month for monthly based servers. - file
Storage List<Number>Ids  - File storage to which this computing instance has access. File storage must be in the same data center as the Bare Metal server. If you use this argument to authorize, access to file storage, then do not use the 
allowed_virtual_guest_idsargument in theibm.StorageFileresource in order to prevent the same storage be added twice. - flavor
Key StringName  - The flavor key name that you want to use to provision the instance. To see available key name, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. If you set this option, do not specify 
coresandmemoryat the same time. - hostname String
 - The hostname for the computing instance. If you set this option, do not specify 
bulk_vmsat the same time. - hourly
Billing Boolean - The billing type for the instance. When set to true, the computing instance is billed on hourly usage. Otherwise, the instance is billed monthly. The default value is true.
 - image
Id Number - The image template ID that you want to use to provision the computing instance. This is not the global identifier (UUID), but the image template group ID that should point to a valid global identifier. To retrieve the image template ID from the IBM Cloud infrastructure customer portal, navigate to Devices > Manage > Images, click the image that you want, and note the ID number in the resulting URL. Note Conflicts with 
os_reference_code. - ip
Address NumberId  - (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
 - ip
Address NumberId Private  - (String) The unique identifier for the private IPv4 address that is assigned to the VM instance.
 - ipv4Address String
 - (String) The public IPv4 address of the VM instance.
 - ipv4Address
Private String - (String) The private IPv4 address of the VM instance.
 - ipv6Address String
 - (String) The public IPv6 address of the VM instance provided when 
ipv6_enabledis set to true. - ipv6Address
Id Number - (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when 
ipv6_enabledis set to true. - ipv6Enabled Boolean
 - The primary public IPv6 address. The default value is false.
 - ipv6Static
Enabled Boolean - The public static IPv6 address block of 
/64. The default value is false. - local
Disk Boolean - The disk type for the instance. When set to true, the disks for the computing instance are provisioned on the host that the instance runs. Otherwise, SAN disks are provisioned. The default value is true.
 - memory Number
 - The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify 
flavor_key_nameat the same time. - network
Speed Number - The connection speed (in Mbps) for the instance's network components. The default value is 
100. - notes String
 - Descriptive text of up to 1000 characters about the VM instance.
 - os
Reference StringCode  - The operating system reference code that is used to provision the computing instance. To see available OS reference codes, log in to the IBM Cloud Classic Infrastructure API, that uses your API key as the password. Note Conflicts with 
image_id. - placement
Group NumberId  - Specifies placement group for the instance by its ID. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_name,dedicated_host_idandplacement_group_name. - placement
Group StringName  - Specifies placement group for the instance by its name. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_nameandplacement_group_id- - post
Install StringScript Uri  - The URI of the script to be downloaded and executed after installation is complete.
 - private
Interface NumberId  - (String) The ID of the primary private interface.
 - private
Network BooleanOnly  - When set to true, a compute instance has only access to the private network. The default value is false.
 - private
Security List<Number>Group Ids  - The IDs of security groups to apply on the private interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource you might experience errors. So use one of these consistently for a particular virtual server instance. - private
Subnet String - The private subnet for the private network interface of the instance. Accepted values are primary private networks. You can find accepted values in the subnets doc, Note You can see the list of private subnets of your account.
 - private
Subnet NumberId  - (String) The unique identifier of the subnet 
ipv4_address_privatebelongs to. - private
Vlan NumberId  - The private VLAN ID for the private network interface of the instance. You can find accepted values in the VLAN doc. Click the VLAN that you want to use and note the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - public
Bandwidth NumberLimited  - Allowed public network traffic in GB per month. It can be greater than 0 when the server is a monthly based server. Defaults to the smallest available capacity for the public bandwidth are used. Note Conflicts with 
private_network_onlyandpublic_bandwidth_unlimited. - public
Bandwidth BooleanUnlimited  - Allowed unlimited public network traffic in GB per month for a monthly based server. The 
network_speedshould be 100 Mbps. Default value is false. Note Conflicts withprivate_network_onlyandpublic_bandwidth_limited. - public
Interface NumberId  - (String) The ID of the primary public interface.
 - public
Ipv6Subnet String - (String) The public IPv6 subnet provided when 
ipv6_enabledis set to true. - public
Ipv6Subnet NumberId  - (String) The unique identifier of the subnet 
ipv6_addressbelongs to. - public
Security List<Number>Group Ids  - The IDs of security groups to apply on the public interface. This attribute can't be updated. You can use this parameter to add a security group to your virtual server instance when you create it. If you want to add or remove security groups later, you must use the 
ibm.NetworkInterfaceSgAttachmentresource. If you use this attribute in addition toibm.NetworkInterfaceSgAttachmentresource, you might experience errors. So use one of these consistently for a particular virtual server instance. - public
Subnet String - The public subnet for the public network interface of the instance. Accepted values are primary public networks. You can find accepted values in the subnets doc, Note You can see the list of public subnets of your account.
 - public
Subnet NumberId  - (String) The unique identifier of the subnet 
ipv4_addressbelongs to. - public
Vlan NumberId  - The public VLAN ID for the public network interface of the instance. Accepted values are in the VLAN doc. Click the VLAN that you want and notes the ID number in the browser URL. You can also refer to a VLAN name by using a data source. Note Conflicts with 
datacenter_choice. - quote
Id Number - Quote ID for Quote based provisioning
 - reserved
Capacity NumberId  - The reserved capacity ID to provision the instance.
 - reserved
Capacity StringName  - The reserved capacity name to provision the instance.
 - reserved
Instance NumberPrimary Disk  - Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
 - resource
Controller StringUrl  - The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
 - resource
Name String - The name of the resource
 - resource
Status String - The status of the resource
 - secondary
Ip List<String>Addresses  - (String) The public secondary IPv4 addresses of the VM instance.
 - secondary
Ip NumberCount  - Specifies secondary public IPv4 addresses. Accepted values are 
4and8. - ssh
Key List<Number>Ids  - The SSH key IDs to install on the computing instance when the instance provisions. Note If you don't know the ID(s) for your SSH keys, you can reference your SSH keys by their labels.
 - List<String>
 - Tags associated with the VM instance. Permitted characters include: A-Z, 0-9, whitespace, 
_(underscore),-(hyphen),.(period), and:(colon). All other characters are removed. - timeouts Property Map
 - transient Boolean
 - Specifies whether to provision a transient virtual server. The default value is false. Transient instances cannot be upgraded or downgraded. Transient instances cannot use local storage. Note Conflicts with 
dedicated_acct_host_only,dedicated_host_id,dedicated_host_name,cores,memory,public_bandwidth_limitedandpublic_bandwidth_unlimited. - user
Metadata String - Arbitrary data to be made available to the computing instance.
 - wait
Time NumberMinutes  - Use Timeouts block to wait for the VM instance to become available, or while waiting for non active transactions before proceeding with an update or deletion. The default value is 
90. 
Supporting Types
ComputeVmInstanceBulkVm, ComputeVmInstanceBulkVmArgs          
ComputeVmInstanceTimeouts, ComputeVmInstanceTimeoutsArgs        
Import
The ibm_compute_vm_instance resource can be imported by using instance ID.
Example
$ pulumi import ibm:index/computeVmInstance:ComputeVmInstance example 88205074
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
 - ibm ibm-cloud/terraform-provider-ibm
 - License
 - Notes
 - This Pulumi package is based on the 
ibmTerraform Provider.