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