1. Packages
  2. Ibm Provider
  3. API Docs
  4. ComputeVmInstance
ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud

ibm.ComputeVmInstance

Explore with Pulumi AI

ibm logo
ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud

    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

    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: ibm.ComputeVmInstanceBulkVmArray{
    		&ibm.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: &ibm.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:

    BlockStorageIds List<double>
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    BulkVms List<ComputeVmInstanceBulkVm>

    Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.

    Nested scheme for bulk_vms:

    ComputeVmInstanceId string
    (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_name at the same time.
    Datacenter string
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    DatacenterChoices List<ImmutableDictionary<string, string>>

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    DedicatedAcctHostOnly bool
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    DedicatedHostId double
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    DedicatedHostName string
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    Evault double
    Allowed Evault in GB per month for monthly based servers.
    FileStorageIds List<double>
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    FlavorKeyName string
    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 cores and memory at the same time.
    Hostname string
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    HourlyBilling 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.
    ImageId 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.
    Ipv6StaticEnabled bool
    The public static IPv6 address block of /64. The default value is false.
    LocalDisk 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_name at the same time.
    NetworkSpeed 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.
    OsReferenceCode string
    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.
    PlacementGroupId double
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    PlacementGroupName string
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    PostInstallScriptUri string
    The URI of the script to be downloaded and executed after installation is complete.
    PrivateNetworkOnly bool
    When set to true, a compute instance has only access to the private network. The default value is false.
    PrivateSecurityGroupIds List<double>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    PrivateSubnet 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.
    PrivateVlanId double
    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.
    PublicBandwidthLimited double
    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_only and public_bandwidth_unlimited.
    PublicBandwidthUnlimited bool
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    PublicSecurityGroupIds List<double>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    PublicSubnet 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.
    PublicVlanId double
    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.
    QuoteId double
    Quote ID for Quote based provisioning
    ReservedCapacityId double
    The reserved capacity ID to provision the instance.
    ReservedCapacityName string
    The reserved capacity name to provision the instance.
    ReservedInstancePrimaryDisk double
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    SecondaryIpCount double
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    SshKeyIds List<double>
    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.
    Tags 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 ComputeVmInstanceTimeouts
    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_limited and public_bandwidth_unlimited.
    UserMetadata string
    Arbitrary data to be made available to the computing instance.
    WaitTimeMinutes double
    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.

    Deprecated: Deprecated

    BlockStorageIds []float64
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    BulkVms []ComputeVmInstanceBulkVmArgs

    Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.

    Nested scheme for bulk_vms:

    ComputeVmInstanceId string
    (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_name at the same time.
    Datacenter string
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    DatacenterChoices []map[string]string

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    DedicatedAcctHostOnly bool
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    DedicatedHostId float64
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    DedicatedHostName string
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    Evault float64
    Allowed Evault in GB per month for monthly based servers.
    FileStorageIds []float64
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    FlavorKeyName string
    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 cores and memory at the same time.
    Hostname string
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    HourlyBilling 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.
    ImageId 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.
    Ipv6StaticEnabled bool
    The public static IPv6 address block of /64. The default value is false.
    LocalDisk 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_name at the same time.
    NetworkSpeed 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.
    OsReferenceCode string
    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.
    PlacementGroupId float64
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    PlacementGroupName string
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    PostInstallScriptUri string
    The URI of the script to be downloaded and executed after installation is complete.
    PrivateNetworkOnly bool
    When set to true, a compute instance has only access to the private network. The default value is false.
    PrivateSecurityGroupIds []float64
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    PrivateSubnet 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.
    PrivateVlanId float64
    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.
    PublicBandwidthLimited float64
    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_only and public_bandwidth_unlimited.
    PublicBandwidthUnlimited bool
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    PublicSecurityGroupIds []float64
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    PublicSubnet 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.
    PublicVlanId float64
    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.
    QuoteId float64
    Quote ID for Quote based provisioning
    ReservedCapacityId float64
    The reserved capacity ID to provision the instance.
    ReservedCapacityName string
    The reserved capacity name to provision the instance.
    ReservedInstancePrimaryDisk float64
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    SecondaryIpCount float64
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    SshKeyIds []float64
    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.
    Tags []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 ComputeVmInstanceTimeoutsArgs
    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_limited and public_bandwidth_unlimited.
    UserMetadata string
    Arbitrary data to be made available to the computing instance.
    WaitTimeMinutes float64
    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.

    Deprecated: Deprecated

    blockStorageIds List<Double>
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    bulkVms List<ComputeVmInstanceBulkVm>

    Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.

    Nested scheme for bulk_vms:

    computeVmInstanceId String
    (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_name at the same time.
    datacenter String
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    datacenterChoices List<Map<String,String>>

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    dedicatedAcctHostOnly Boolean
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    dedicatedHostId Double
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    dedicatedHostName String
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    evault Double
    Allowed Evault in GB per month for monthly based servers.
    fileStorageIds List<Double>
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    flavorKeyName String
    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 cores and memory at the same time.
    hostname String
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    hourlyBilling 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.
    imageId 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.
    ipv6StaticEnabled Boolean
    The public static IPv6 address block of /64. The default value is false.
    localDisk 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_name at the same time.
    networkSpeed 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.
    osReferenceCode String
    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.
    placementGroupId Double
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    placementGroupName String
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    postInstallScriptUri String
    The URI of the script to be downloaded and executed after installation is complete.
    privateNetworkOnly Boolean
    When set to true, a compute instance has only access to the private network. The default value is false.
    privateSecurityGroupIds List<Double>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    privateSubnet 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.
    privateVlanId Double
    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.
    publicBandwidthLimited Double
    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_only and public_bandwidth_unlimited.
    publicBandwidthUnlimited Boolean
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    publicSecurityGroupIds List<Double>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    publicSubnet 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.
    publicVlanId Double
    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.
    quoteId Double
    Quote ID for Quote based provisioning
    reservedCapacityId Double
    The reserved capacity ID to provision the instance.
    reservedCapacityName String
    The reserved capacity name to provision the instance.
    reservedInstancePrimaryDisk Double
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    secondaryIpCount Double
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    sshKeyIds List<Double>
    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.
    tags 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 ComputeVmInstanceTimeouts
    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_limited and public_bandwidth_unlimited.
    userMetadata String
    Arbitrary data to be made available to the computing instance.
    waitTimeMinutes Double
    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.

    Deprecated: Deprecated

    blockStorageIds number[]
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    bulkVms ComputeVmInstanceBulkVm[]

    Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.

    Nested scheme for bulk_vms:

    computeVmInstanceId string
    (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_name at the same time.
    datacenter string
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    datacenterChoices {[key: string]: string}[]

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    dedicatedAcctHostOnly boolean
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    dedicatedHostId number
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    dedicatedHostName string
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    evault number
    Allowed Evault in GB per month for monthly based servers.
    fileStorageIds number[]
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    flavorKeyName string
    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 cores and memory at the same time.
    hostname string
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    hourlyBilling 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.
    imageId 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.
    ipv6StaticEnabled boolean
    The public static IPv6 address block of /64. The default value is false.
    localDisk 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_name at the same time.
    networkSpeed 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.
    osReferenceCode string
    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.
    placementGroupId number
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    placementGroupName string
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    postInstallScriptUri string
    The URI of the script to be downloaded and executed after installation is complete.
    privateNetworkOnly boolean
    When set to true, a compute instance has only access to the private network. The default value is false.
    privateSecurityGroupIds number[]
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    privateSubnet 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.
    privateVlanId number
    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.
    publicBandwidthLimited number
    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_only and public_bandwidth_unlimited.
    publicBandwidthUnlimited boolean
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    publicSecurityGroupIds number[]
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    publicSubnet 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.
    publicVlanId number
    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.
    quoteId number
    Quote ID for Quote based provisioning
    reservedCapacityId number
    The reserved capacity ID to provision the instance.
    reservedCapacityName string
    The reserved capacity name to provision the instance.
    reservedInstancePrimaryDisk number
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    secondaryIpCount number
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    sshKeyIds number[]
    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.
    tags 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 ComputeVmInstanceTimeouts
    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_limited and public_bandwidth_unlimited.
    userMetadata string
    Arbitrary data to be made available to the computing instance.
    waitTimeMinutes number
    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.

    Deprecated: Deprecated

    block_storage_ids Sequence[float]
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    bulk_vms Sequence[ComputeVmInstanceBulkVmArgs]

    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_instance_id str
    (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_name at the same time.
    datacenter str
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_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_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    dedicated_acct_host_only bool
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    dedicated_host_id float
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    dedicated_host_name str
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    evault float
    Allowed Evault in GB per month for monthly based servers.
    file_storage_ids Sequence[float]
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    flavor_key_name str
    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 cores and memory at the same time.
    hostname str
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at 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_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 float
    The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify flavor_key_name at 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_code str
    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_id float
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    placement_group_name str
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    post_install_script_uri str
    The URI of the script to be downloaded and executed after installation is complete.
    private_network_only bool
    When set to true, a compute instance has only access to the private network. The default value is false.
    private_security_group_ids Sequence[float]
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource 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_id float
    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_limited float
    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_only and public_bandwidth_unlimited.
    public_bandwidth_unlimited bool
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    public_security_group_ids Sequence[float]
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, 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_id float
    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_id float
    The reserved capacity ID to provision the instance.
    reserved_capacity_name str
    The reserved capacity name to provision the instance.
    reserved_instance_primary_disk float
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    secondary_ip_count float
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    ssh_key_ids Sequence[float]
    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.
    tags 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 ComputeVmInstanceTimeoutsArgs
    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_limited and public_bandwidth_unlimited.
    user_metadata str
    Arbitrary data to be made available to the computing instance.
    wait_time_minutes float
    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.

    Deprecated: Deprecated

    blockStorageIds List<Number>
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    bulkVms 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:

    computeVmInstanceId String
    (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_name at the same time.
    datacenter String
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    datacenterChoices List<Map<String>>

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    dedicatedAcctHostOnly Boolean
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    dedicatedHostId Number
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    dedicatedHostName String
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    evault Number
    Allowed Evault in GB per month for monthly based servers.
    fileStorageIds List<Number>
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    flavorKeyName String
    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 cores and memory at the same time.
    hostname String
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    hourlyBilling 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.
    imageId 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.
    ipv6StaticEnabled Boolean
    The public static IPv6 address block of /64. The default value is false.
    localDisk 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_name at the same time.
    networkSpeed 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.
    osReferenceCode String
    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.
    placementGroupId Number
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    placementGroupName String
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    postInstallScriptUri String
    The URI of the script to be downloaded and executed after installation is complete.
    privateNetworkOnly Boolean
    When set to true, a compute instance has only access to the private network. The default value is false.
    privateSecurityGroupIds List<Number>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    privateSubnet 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.
    privateVlanId Number
    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.
    publicBandwidthLimited Number
    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_only and public_bandwidth_unlimited.
    publicBandwidthUnlimited Boolean
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    publicSecurityGroupIds List<Number>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    publicSubnet 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.
    publicVlanId Number
    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.
    quoteId Number
    Quote ID for Quote based provisioning
    reservedCapacityId Number
    The reserved capacity ID to provision the instance.
    reservedCapacityName String
    The reserved capacity name to provision the instance.
    reservedInstancePrimaryDisk Number
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    secondaryIpCount Number
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    sshKeyIds List<Number>
    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.
    tags 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_limited and public_bandwidth_unlimited.
    userMetadata String
    Arbitrary data to be made available to the computing instance.
    waitTimeMinutes Number
    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.

    Deprecated: Deprecated

    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.
    IpAddressId double
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    IpAddressIdPrivate double
    (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.
    Ipv4AddressPrivate string
    (String) The private IPv4 address of the VM instance.
    Ipv6Address string
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    Ipv6AddressId double
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    PrivateInterfaceId double
    (String) The ID of the primary private interface.
    PrivateSubnetId double
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    PublicInterfaceId double
    (String) The ID of the primary public interface.
    PublicIpv6Subnet string
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    PublicIpv6SubnetId double
    (String) The unique identifier of the subnet ipv6_address belongs to.
    PublicSubnetId double
    (String) The unique identifier of the subnet ipv4_address belongs to.
    ResourceControllerUrl string
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    ResourceName string
    The name of the resource
    ResourceStatus string
    The status of the resource
    SecondaryIpAddresses List<string>
    (String) The public secondary IPv4 addresses of the VM instance.
    Id string
    The provider-assigned unique ID for this managed resource.
    IpAddressId float64
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    IpAddressIdPrivate float64
    (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.
    Ipv4AddressPrivate string
    (String) The private IPv4 address of the VM instance.
    Ipv6Address string
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    Ipv6AddressId float64
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    PrivateInterfaceId float64
    (String) The ID of the primary private interface.
    PrivateSubnetId float64
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    PublicInterfaceId float64
    (String) The ID of the primary public interface.
    PublicIpv6Subnet string
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    PublicIpv6SubnetId float64
    (String) The unique identifier of the subnet ipv6_address belongs to.
    PublicSubnetId float64
    (String) The unique identifier of the subnet ipv4_address belongs to.
    ResourceControllerUrl string
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    ResourceName string
    The name of the resource
    ResourceStatus string
    The status of the resource
    SecondaryIpAddresses []string
    (String) The public secondary IPv4 addresses of the VM instance.
    id String
    The provider-assigned unique ID for this managed resource.
    ipAddressId Double
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    ipAddressIdPrivate Double
    (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.
    ipv4AddressPrivate String
    (String) The private IPv4 address of the VM instance.
    ipv6Address String
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    ipv6AddressId Double
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    privateInterfaceId Double
    (String) The ID of the primary private interface.
    privateSubnetId Double
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    publicInterfaceId Double
    (String) The ID of the primary public interface.
    publicIpv6Subnet String
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    publicIpv6SubnetId Double
    (String) The unique identifier of the subnet ipv6_address belongs to.
    publicSubnetId Double
    (String) The unique identifier of the subnet ipv4_address belongs to.
    resourceControllerUrl String
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    resourceName String
    The name of the resource
    resourceStatus String
    The status of the resource
    secondaryIpAddresses List<String>
    (String) The public secondary IPv4 addresses of the VM instance.
    id string
    The provider-assigned unique ID for this managed resource.
    ipAddressId number
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    ipAddressIdPrivate number
    (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.
    ipv4AddressPrivate string
    (String) The private IPv4 address of the VM instance.
    ipv6Address string
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    ipv6AddressId number
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    privateInterfaceId number
    (String) The ID of the primary private interface.
    privateSubnetId number
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    publicInterfaceId number
    (String) The ID of the primary public interface.
    publicIpv6Subnet string
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    publicIpv6SubnetId number
    (String) The unique identifier of the subnet ipv6_address belongs to.
    publicSubnetId number
    (String) The unique identifier of the subnet ipv4_address belongs to.
    resourceControllerUrl string
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    resourceName string
    The name of the resource
    resourceStatus string
    The status of the resource
    secondaryIpAddresses string[]
    (String) The public secondary IPv4 addresses of the VM instance.
    id str
    The provider-assigned unique ID for this managed resource.
    ip_address_id float
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    ip_address_id_private float
    (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_private str
    (String) The private IPv4 address of the VM instance.
    ipv6_address str
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    ipv6_address_id float
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    private_interface_id float
    (String) The ID of the primary private interface.
    private_subnet_id float
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    public_interface_id float
    (String) The ID of the primary public interface.
    public_ipv6_subnet str
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    public_ipv6_subnet_id float
    (String) The unique identifier of the subnet ipv6_address belongs to.
    public_subnet_id float
    (String) The unique identifier of the subnet ipv4_address belongs to.
    resource_controller_url str
    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_addresses Sequence[str]
    (String) The public secondary IPv4 addresses of the VM instance.
    id String
    The provider-assigned unique ID for this managed resource.
    ipAddressId Number
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    ipAddressIdPrivate Number
    (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.
    ipv4AddressPrivate String
    (String) The private IPv4 address of the VM instance.
    ipv6Address String
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    ipv6AddressId Number
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    privateInterfaceId Number
    (String) The ID of the primary private interface.
    privateSubnetId Number
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    publicInterfaceId Number
    (String) The ID of the primary public interface.
    publicIpv6Subnet String
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    publicIpv6SubnetId Number
    (String) The unique identifier of the subnet ipv6_address belongs to.
    publicSubnetId Number
    (String) The unique identifier of the subnet ipv4_address belongs to.
    resourceControllerUrl String
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    resourceName String
    The name of the resource
    resourceStatus String
    The status of the resource
    secondaryIpAddresses List<String>
    (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) -> ComputeVmInstance
    func 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.
    The following state arguments are supported:
    BlockStorageIds List<double>
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    BulkVms List<ComputeVmInstanceBulkVm>

    Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.

    Nested scheme for bulk_vms:

    ComputeVmInstanceId string
    (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_name at the same time.
    Datacenter string
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    DatacenterChoices List<ImmutableDictionary<string, string>>

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    DedicatedAcctHostOnly bool
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    DedicatedHostId double
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    DedicatedHostName string
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    Evault double
    Allowed Evault in GB per month for monthly based servers.
    FileStorageIds List<double>
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    FlavorKeyName string
    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 cores and memory at the same time.
    Hostname string
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    HourlyBilling 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.
    ImageId 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.
    IpAddressId double
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    IpAddressIdPrivate double
    (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.
    Ipv4AddressPrivate string
    (String) The private IPv4 address of the VM instance.
    Ipv6Address string
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    Ipv6AddressId double
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    Ipv6Enabled bool
    The primary public IPv6 address. The default value is false.
    Ipv6StaticEnabled bool
    The public static IPv6 address block of /64. The default value is false.
    LocalDisk 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_name at the same time.
    NetworkSpeed 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.
    OsReferenceCode string
    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.
    PlacementGroupId double
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    PlacementGroupName string
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    PostInstallScriptUri string
    The URI of the script to be downloaded and executed after installation is complete.
    PrivateInterfaceId double
    (String) The ID of the primary private interface.
    PrivateNetworkOnly bool
    When set to true, a compute instance has only access to the private network. The default value is false.
    PrivateSecurityGroupIds List<double>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    PrivateSubnet 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.
    PrivateSubnetId double
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    PrivateVlanId double
    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.
    PublicBandwidthLimited double
    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_only and public_bandwidth_unlimited.
    PublicBandwidthUnlimited bool
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    PublicInterfaceId double
    (String) The ID of the primary public interface.
    PublicIpv6Subnet string
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    PublicIpv6SubnetId double
    (String) The unique identifier of the subnet ipv6_address belongs to.
    PublicSecurityGroupIds List<double>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    PublicSubnet 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.
    PublicSubnetId double
    (String) The unique identifier of the subnet ipv4_address belongs to.
    PublicVlanId double
    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.
    QuoteId double
    Quote ID for Quote based provisioning
    ReservedCapacityId double
    The reserved capacity ID to provision the instance.
    ReservedCapacityName string
    The reserved capacity name to provision the instance.
    ReservedInstancePrimaryDisk double
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    ResourceControllerUrl string
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    ResourceName string
    The name of the resource
    ResourceStatus string
    The status of the resource
    SecondaryIpAddresses List<string>
    (String) The public secondary IPv4 addresses of the VM instance.
    SecondaryIpCount double
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    SshKeyIds List<double>
    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.
    Tags 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 ComputeVmInstanceTimeouts
    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_limited and public_bandwidth_unlimited.
    UserMetadata string
    Arbitrary data to be made available to the computing instance.
    WaitTimeMinutes double
    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.

    Deprecated: Deprecated

    BlockStorageIds []float64
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    BulkVms []ComputeVmInstanceBulkVmArgs

    Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.

    Nested scheme for bulk_vms:

    ComputeVmInstanceId string
    (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_name at the same time.
    Datacenter string
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    DatacenterChoices []map[string]string

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    DedicatedAcctHostOnly bool
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    DedicatedHostId float64
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    DedicatedHostName string
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    Evault float64
    Allowed Evault in GB per month for monthly based servers.
    FileStorageIds []float64
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    FlavorKeyName string
    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 cores and memory at the same time.
    Hostname string
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    HourlyBilling 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.
    ImageId 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.
    IpAddressId float64
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    IpAddressIdPrivate float64
    (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.
    Ipv4AddressPrivate string
    (String) The private IPv4 address of the VM instance.
    Ipv6Address string
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    Ipv6AddressId float64
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    Ipv6Enabled bool
    The primary public IPv6 address. The default value is false.
    Ipv6StaticEnabled bool
    The public static IPv6 address block of /64. The default value is false.
    LocalDisk 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_name at the same time.
    NetworkSpeed 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.
    OsReferenceCode string
    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.
    PlacementGroupId float64
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    PlacementGroupName string
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    PostInstallScriptUri string
    The URI of the script to be downloaded and executed after installation is complete.
    PrivateInterfaceId float64
    (String) The ID of the primary private interface.
    PrivateNetworkOnly bool
    When set to true, a compute instance has only access to the private network. The default value is false.
    PrivateSecurityGroupIds []float64
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    PrivateSubnet 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.
    PrivateSubnetId float64
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    PrivateVlanId float64
    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.
    PublicBandwidthLimited float64
    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_only and public_bandwidth_unlimited.
    PublicBandwidthUnlimited bool
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    PublicInterfaceId float64
    (String) The ID of the primary public interface.
    PublicIpv6Subnet string
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    PublicIpv6SubnetId float64
    (String) The unique identifier of the subnet ipv6_address belongs to.
    PublicSecurityGroupIds []float64
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    PublicSubnet 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.
    PublicSubnetId float64
    (String) The unique identifier of the subnet ipv4_address belongs to.
    PublicVlanId float64
    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.
    QuoteId float64
    Quote ID for Quote based provisioning
    ReservedCapacityId float64
    The reserved capacity ID to provision the instance.
    ReservedCapacityName string
    The reserved capacity name to provision the instance.
    ReservedInstancePrimaryDisk float64
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    ResourceControllerUrl string
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    ResourceName string
    The name of the resource
    ResourceStatus string
    The status of the resource
    SecondaryIpAddresses []string
    (String) The public secondary IPv4 addresses of the VM instance.
    SecondaryIpCount float64
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    SshKeyIds []float64
    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.
    Tags []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 ComputeVmInstanceTimeoutsArgs
    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_limited and public_bandwidth_unlimited.
    UserMetadata string
    Arbitrary data to be made available to the computing instance.
    WaitTimeMinutes float64
    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.

    Deprecated: Deprecated

    blockStorageIds List<Double>
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    bulkVms List<ComputeVmInstanceBulkVm>

    Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.

    Nested scheme for bulk_vms:

    computeVmInstanceId String
    (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_name at the same time.
    datacenter String
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    datacenterChoices List<Map<String,String>>

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    dedicatedAcctHostOnly Boolean
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    dedicatedHostId Double
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    dedicatedHostName String
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    evault Double
    Allowed Evault in GB per month for monthly based servers.
    fileStorageIds List<Double>
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    flavorKeyName String
    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 cores and memory at the same time.
    hostname String
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    hourlyBilling 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.
    imageId 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.
    ipAddressId Double
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    ipAddressIdPrivate Double
    (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.
    ipv4AddressPrivate String
    (String) The private IPv4 address of the VM instance.
    ipv6Address String
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    ipv6AddressId Double
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    ipv6Enabled Boolean
    The primary public IPv6 address. The default value is false.
    ipv6StaticEnabled Boolean
    The public static IPv6 address block of /64. The default value is false.
    localDisk 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_name at the same time.
    networkSpeed 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.
    osReferenceCode String
    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.
    placementGroupId Double
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    placementGroupName String
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    postInstallScriptUri String
    The URI of the script to be downloaded and executed after installation is complete.
    privateInterfaceId Double
    (String) The ID of the primary private interface.
    privateNetworkOnly Boolean
    When set to true, a compute instance has only access to the private network. The default value is false.
    privateSecurityGroupIds List<Double>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    privateSubnet 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.
    privateSubnetId Double
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    privateVlanId Double
    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.
    publicBandwidthLimited Double
    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_only and public_bandwidth_unlimited.
    publicBandwidthUnlimited Boolean
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    publicInterfaceId Double
    (String) The ID of the primary public interface.
    publicIpv6Subnet String
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    publicIpv6SubnetId Double
    (String) The unique identifier of the subnet ipv6_address belongs to.
    publicSecurityGroupIds List<Double>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    publicSubnet 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.
    publicSubnetId Double
    (String) The unique identifier of the subnet ipv4_address belongs to.
    publicVlanId Double
    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.
    quoteId Double
    Quote ID for Quote based provisioning
    reservedCapacityId Double
    The reserved capacity ID to provision the instance.
    reservedCapacityName String
    The reserved capacity name to provision the instance.
    reservedInstancePrimaryDisk Double
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    resourceControllerUrl String
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    resourceName String
    The name of the resource
    resourceStatus String
    The status of the resource
    secondaryIpAddresses List<String>
    (String) The public secondary IPv4 addresses of the VM instance.
    secondaryIpCount Double
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    sshKeyIds List<Double>
    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.
    tags 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 ComputeVmInstanceTimeouts
    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_limited and public_bandwidth_unlimited.
    userMetadata String
    Arbitrary data to be made available to the computing instance.
    waitTimeMinutes Double
    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.

    Deprecated: Deprecated

    blockStorageIds number[]
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    bulkVms ComputeVmInstanceBulkVm[]

    Hostname and domain of the computing instance. The minimum number of VM's to be defined is 2.

    Nested scheme for bulk_vms:

    computeVmInstanceId string
    (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_name at the same time.
    datacenter string
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    datacenterChoices {[key: string]: string}[]

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    dedicatedAcctHostOnly boolean
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    dedicatedHostId number
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    dedicatedHostName string
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    evault number
    Allowed Evault in GB per month for monthly based servers.
    fileStorageIds number[]
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    flavorKeyName string
    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 cores and memory at the same time.
    hostname string
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    hourlyBilling 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.
    imageId 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.
    ipAddressId number
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    ipAddressIdPrivate number
    (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.
    ipv4AddressPrivate string
    (String) The private IPv4 address of the VM instance.
    ipv6Address string
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    ipv6AddressId number
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    ipv6Enabled boolean
    The primary public IPv6 address. The default value is false.
    ipv6StaticEnabled boolean
    The public static IPv6 address block of /64. The default value is false.
    localDisk 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_name at the same time.
    networkSpeed 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.
    osReferenceCode string
    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.
    placementGroupId number
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    placementGroupName string
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    postInstallScriptUri string
    The URI of the script to be downloaded and executed after installation is complete.
    privateInterfaceId number
    (String) The ID of the primary private interface.
    privateNetworkOnly boolean
    When set to true, a compute instance has only access to the private network. The default value is false.
    privateSecurityGroupIds number[]
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    privateSubnet 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.
    privateSubnetId number
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    privateVlanId number
    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.
    publicBandwidthLimited number
    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_only and public_bandwidth_unlimited.
    publicBandwidthUnlimited boolean
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    publicInterfaceId number
    (String) The ID of the primary public interface.
    publicIpv6Subnet string
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    publicIpv6SubnetId number
    (String) The unique identifier of the subnet ipv6_address belongs to.
    publicSecurityGroupIds number[]
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    publicSubnet 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.
    publicSubnetId number
    (String) The unique identifier of the subnet ipv4_address belongs to.
    publicVlanId number
    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.
    quoteId number
    Quote ID for Quote based provisioning
    reservedCapacityId number
    The reserved capacity ID to provision the instance.
    reservedCapacityName string
    The reserved capacity name to provision the instance.
    reservedInstancePrimaryDisk number
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    resourceControllerUrl string
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    resourceName string
    The name of the resource
    resourceStatus string
    The status of the resource
    secondaryIpAddresses string[]
    (String) The public secondary IPv4 addresses of the VM instance.
    secondaryIpCount number
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    sshKeyIds number[]
    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.
    tags 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 ComputeVmInstanceTimeouts
    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_limited and public_bandwidth_unlimited.
    userMetadata string
    Arbitrary data to be made available to the computing instance.
    waitTimeMinutes number
    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.

    Deprecated: Deprecated

    block_storage_ids Sequence[float]
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    bulk_vms Sequence[ComputeVmInstanceBulkVmArgs]

    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_instance_id str
    (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_name at the same time.
    datacenter str
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_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_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    dedicated_acct_host_only bool
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    dedicated_host_id float
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    dedicated_host_name str
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    evault float
    Allowed Evault in GB per month for monthly based servers.
    file_storage_ids Sequence[float]
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    flavor_key_name str
    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 cores and memory at the same time.
    hostname str
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at 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_id float
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    ip_address_id_private float
    (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_private str
    (String) The private IPv4 address of the VM instance.
    ipv6_address str
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    ipv6_address_id float
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    ipv6_enabled bool
    The primary public IPv6 address. The default value is false.
    ipv6_static_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 float
    The amount of memory, expressed in megabytes, that you want to allocate. If you set this option, do not specify flavor_key_name at 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_code str
    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_id float
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    placement_group_name str
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    post_install_script_uri str
    The URI of the script to be downloaded and executed after installation is complete.
    private_interface_id float
    (String) The ID of the primary private interface.
    private_network_only bool
    When set to true, a compute instance has only access to the private network. The default value is false.
    private_security_group_ids Sequence[float]
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource 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_id float
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    private_vlan_id float
    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_limited float
    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_only and public_bandwidth_unlimited.
    public_bandwidth_unlimited bool
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    public_interface_id float
    (String) The ID of the primary public interface.
    public_ipv6_subnet str
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    public_ipv6_subnet_id float
    (String) The unique identifier of the subnet ipv6_address belongs to.
    public_security_group_ids Sequence[float]
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, 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_id float
    (String) The unique identifier of the subnet ipv4_address belongs to.
    public_vlan_id float
    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_id float
    The reserved capacity ID to provision the instance.
    reserved_capacity_name str
    The reserved capacity name to provision the instance.
    reserved_instance_primary_disk float
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    resource_controller_url str
    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_addresses Sequence[str]
    (String) The public secondary IPv4 addresses of the VM instance.
    secondary_ip_count float
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    ssh_key_ids Sequence[float]
    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.
    tags 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 ComputeVmInstanceTimeoutsArgs
    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_limited and public_bandwidth_unlimited.
    user_metadata str
    Arbitrary data to be made available to the computing instance.
    wait_time_minutes float
    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.

    Deprecated: Deprecated

    blockStorageIds List<Number>
    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_ids argument in the ibm.StorageBlock resource in order to prevent the same storage be added twice.
    bulkVms 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:

    computeVmInstanceId String
    (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_name at the same time.
    datacenter String
    The data center in which you want to provision the instance. Note If dedicated_host_name or dedicated_host_id is provided then the datacenter should be same as the dedicated host datacenter. If placement_group_name or placement_group_id is provided then the datacenter should be same as the placement group datacenter. Conflicts with datacenter_choice.
    datacenterChoices List<Map<String>>

    A nested block to describe datacenter choice options to retry on different data centers and VLANs. Nested datacenter_choice blocks must have the following structure:

    Nested scheme for datacenter_choice:

    dedicatedAcctHostOnly Boolean
    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 with dedicated_host_name, dedicated_host_id, placement_group_name and placement_group_id.
    dedicatedHostId Number
    Specifies dedicated host for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, placement_group_name and placement_group_id.
    dedicatedHostName String
    Specifies dedicated host for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, placement_group_name and placement_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_vms at the same time.
    evault Number
    Allowed Evault in GB per month for monthly based servers.
    fileStorageIds List<Number>
    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_ids argument in the ibm.StorageFile resource in order to prevent the same storage be added twice.
    flavorKeyName String
    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 cores and memory at the same time.
    hostname String
    The hostname for the computing instance. If you set this option, do not specify bulk_vms at the same time.
    hourlyBilling 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.
    imageId 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.
    ipAddressId Number
    (String) The unique identifier for the public IPv4 address that is assigned to the VM instance.
    ipAddressIdPrivate Number
    (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.
    ipv4AddressPrivate String
    (String) The private IPv4 address of the VM instance.
    ipv6Address String
    (String) The public IPv6 address of the VM instance provided when ipv6_enabled is set to true.
    ipv6AddressId Number
    (String) The unique identifier for the public IPv6 address assigned to the VM instance provided when ipv6_enabled is set to true.
    ipv6Enabled Boolean
    The primary public IPv6 address. The default value is false.
    ipv6StaticEnabled Boolean
    The public static IPv6 address block of /64. The default value is false.
    localDisk 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_name at the same time.
    networkSpeed 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.
    osReferenceCode String
    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.
    placementGroupId Number
    Specifies placement group for the instance by its ID. Note Conflicts with dedicated_acct_host_only, dedicated_host_name, dedicated_host_id and placement_group_name.
    placementGroupName String
    Specifies placement group for the instance by its name. Note Conflicts with dedicated_acct_host_only, dedicated_host_id, dedicated_host_name and placement_group_id-
    postInstallScriptUri String
    The URI of the script to be downloaded and executed after installation is complete.
    privateInterfaceId Number
    (String) The ID of the primary private interface.
    privateNetworkOnly Boolean
    When set to true, a compute instance has only access to the private network. The default value is false.
    privateSecurityGroupIds List<Number>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource you might experience errors. So use one of these consistently for a particular virtual server instance.
    privateSubnet 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.
    privateSubnetId Number
    (String) The unique identifier of the subnet ipv4_address_private belongs to.
    privateVlanId Number
    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.
    publicBandwidthLimited Number
    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_only and public_bandwidth_unlimited.
    publicBandwidthUnlimited Boolean
    Allowed unlimited public network traffic in GB per month for a monthly based server. The network_speed should be 100 Mbps. Default value is false. Note Conflicts with private_network_only and public_bandwidth_limited.
    publicInterfaceId Number
    (String) The ID of the primary public interface.
    publicIpv6Subnet String
    (String) The public IPv6 subnet provided when ipv6_enabled is set to true.
    publicIpv6SubnetId Number
    (String) The unique identifier of the subnet ipv6_address belongs to.
    publicSecurityGroupIds List<Number>
    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.NetworkInterfaceSgAttachment resource. If you use this attribute in addition to ibm.NetworkInterfaceSgAttachment resource, you might experience errors. So use one of these consistently for a particular virtual server instance.
    publicSubnet 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.
    publicSubnetId Number
    (String) The unique identifier of the subnet ipv4_address belongs to.
    publicVlanId Number
    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.
    quoteId Number
    Quote ID for Quote based provisioning
    reservedCapacityId Number
    The reserved capacity ID to provision the instance.
    reservedCapacityName String
    The reserved capacity name to provision the instance.
    reservedInstancePrimaryDisk Number
    Size of the main drive. Note We can provision only monthly based servers in a reserved capacity.
    resourceControllerUrl String
    The URL of the IBM Cloud dashboard that can be used to explore and view details about this instance
    resourceName String
    The name of the resource
    resourceStatus String
    The status of the resource
    secondaryIpAddresses List<String>
    (String) The public secondary IPv4 addresses of the VM instance.
    secondaryIpCount Number
    Specifies secondary public IPv4 addresses. Accepted values are 4 and 8.
    sshKeyIds List<Number>
    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.
    tags 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_limited and public_bandwidth_unlimited.
    userMetadata String
    Arbitrary data to be made available to the computing instance.
    waitTimeMinutes Number
    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.

    Deprecated: Deprecated

    Supporting Types

    ComputeVmInstanceBulkVm, ComputeVmInstanceBulkVmArgs

    Domain string
    The domain for the computing instance. If you set this option, do not specify hostname and domain at the same time.
    Hostname string
    The hostname for the computing instance.
    Domain string
    The domain for the computing instance. If you set this option, do not specify hostname and domain at the same time.
    Hostname string
    The hostname for the computing instance.
    domain String
    The domain for the computing instance. If you set this option, do not specify hostname and domain at the same time.
    hostname String
    The hostname for the computing instance.
    domain string
    The domain for the computing instance. If you set this option, do not specify hostname and domain at the same time.
    hostname string
    The hostname for the computing instance.
    domain str
    The domain for the computing instance. If you set this option, do not specify hostname and domain at the same time.
    hostname str
    The hostname for the computing instance.
    domain String
    The domain for the computing instance. If you set this option, do not specify hostname and domain at the same time.
    hostname String
    The hostname for the computing instance.

    ComputeVmInstanceTimeouts, ComputeVmInstanceTimeoutsArgs

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

    Import

    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 ibm Terraform Provider.
    ibm logo
    ibm 1.78.0 published on Wednesday, Apr 30, 2025 by ibm-cloud