1. Packages
  2. Xen Orchestra
  3. API Docs
  4. Vm
xenorchestra v1.5.2 published on Monday, Mar 10, 2025 by Vates

xenorchestra.Vm

Explore with Pulumi AI

Example Usage

Create Vm Resource

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

Constructor syntax

new Vm(name: string, args: VmArgs, opts?: CustomResourceOptions);
@overload
def Vm(resource_name: str,
       args: VmArgs,
       opts: Optional[ResourceOptions] = None)

@overload
def Vm(resource_name: str,
       opts: Optional[ResourceOptions] = None,
       cpus: Optional[int] = None,
       template: Optional[str] = None,
       networks: Optional[Sequence[VmNetworkArgs]] = None,
       name_label: Optional[str] = None,
       memory_max: Optional[float] = None,
       disks: Optional[Sequence[VmDiskArgs]] = None,
       core_os: Optional[bool] = None,
       installation_method: Optional[str] = None,
       cpu_cap: Optional[int] = None,
       cpu_weight: Optional[int] = None,
       cloud_network_config: Optional[str] = None,
       destroy_cloud_config_vdi_after_boot: Optional[bool] = None,
       cloud_config: Optional[str] = None,
       exp_nested_hvm: Optional[bool] = None,
       high_availability: Optional[str] = None,
       host: Optional[str] = None,
       hvm_boot_firmware: Optional[str] = None,
       affinity_host: Optional[str] = None,
       clone_type: Optional[str] = None,
       name_description: Optional[str] = None,
       cdrom: Optional[VmCdromArgs] = None,
       blocked_operations: Optional[Sequence[str]] = None,
       power_state: Optional[str] = None,
       resource_set: Optional[str] = None,
       start_delay: Optional[int] = None,
       tags: Optional[Sequence[str]] = None,
       auto_poweron: Optional[bool] = None,
       vga: Optional[str] = None,
       videoram: Optional[int] = None,
       xenstore: Optional[Mapping[str, str]] = None)
func NewVm(ctx *Context, name string, args VmArgs, opts ...ResourceOption) (*Vm, error)
public Vm(string name, VmArgs args, CustomResourceOptions? opts = null)
public Vm(String name, VmArgs args)
public Vm(String name, VmArgs args, CustomResourceOptions options)
type: xenorchestra:Vm
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. VmArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. VmArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. VmArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. VmArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. VmArgs
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 vmResource = new Xenorchestra.Vm("vmResource", new()
{
    Cpus = 0,
    Template = "string",
    Networks = new[]
    {
        new Xenorchestra.Inputs.VmNetworkArgs
        {
            NetworkId = "string",
            Attached = false,
            Device = "string",
            ExpectedIpCidr = "string",
            Ipv4Addresses = new[]
            {
                "string",
            },
            Ipv6Addresses = new[]
            {
                "string",
            },
            MacAddress = "string",
        },
    },
    NameLabel = "string",
    MemoryMax = 0,
    Disks = new[]
    {
        new Xenorchestra.Inputs.VmDiskArgs
        {
            NameLabel = "string",
            Size = 0,
            SrId = "string",
            Attached = false,
            NameDescription = "string",
            Position = "string",
            VbdId = "string",
            VdiId = "string",
        },
    },
    CoreOs = false,
    InstallationMethod = "string",
    CpuCap = 0,
    CpuWeight = 0,
    CloudNetworkConfig = "string",
    DestroyCloudConfigVdiAfterBoot = false,
    CloudConfig = "string",
    ExpNestedHvm = false,
    HighAvailability = "string",
    Host = "string",
    HvmBootFirmware = "string",
    AffinityHost = "string",
    CloneType = "string",
    NameDescription = "string",
    Cdrom = new Xenorchestra.Inputs.VmCdromArgs
    {
        Id = "string",
    },
    BlockedOperations = new[]
    {
        "string",
    },
    PowerState = "string",
    ResourceSet = "string",
    StartDelay = 0,
    Tags = new[]
    {
        "string",
    },
    AutoPoweron = false,
    Vga = "string",
    Videoram = 0,
    Xenstore = 
    {
        { "string", "string" },
    },
});
Copy
example, err := xenorchestra.NewVm(ctx, "vmResource", &xenorchestra.VmArgs{
	Cpus:     pulumi.Int(0),
	Template: pulumi.String("string"),
	Networks: xenorchestra.VmNetworkArray{
		&xenorchestra.VmNetworkArgs{
			NetworkId:      pulumi.String("string"),
			Attached:       pulumi.Bool(false),
			Device:         pulumi.String("string"),
			ExpectedIpCidr: pulumi.String("string"),
			Ipv4Addresses: pulumi.StringArray{
				pulumi.String("string"),
			},
			Ipv6Addresses: pulumi.StringArray{
				pulumi.String("string"),
			},
			MacAddress: pulumi.String("string"),
		},
	},
	NameLabel: pulumi.String("string"),
	MemoryMax: pulumi.Float64(0),
	Disks: xenorchestra.VmDiskArray{
		&xenorchestra.VmDiskArgs{
			NameLabel:       pulumi.String("string"),
			Size:            pulumi.Float64(0),
			SrId:            pulumi.String("string"),
			Attached:        pulumi.Bool(false),
			NameDescription: pulumi.String("string"),
			Position:        pulumi.String("string"),
			VbdId:           pulumi.String("string"),
			VdiId:           pulumi.String("string"),
		},
	},
	CoreOs:                         pulumi.Bool(false),
	InstallationMethod:             pulumi.String("string"),
	CpuCap:                         pulumi.Int(0),
	CpuWeight:                      pulumi.Int(0),
	CloudNetworkConfig:             pulumi.String("string"),
	DestroyCloudConfigVdiAfterBoot: pulumi.Bool(false),
	CloudConfig:                    pulumi.String("string"),
	ExpNestedHvm:                   pulumi.Bool(false),
	HighAvailability:               pulumi.String("string"),
	Host:                           pulumi.String("string"),
	HvmBootFirmware:                pulumi.String("string"),
	AffinityHost:                   pulumi.String("string"),
	CloneType:                      pulumi.String("string"),
	NameDescription:                pulumi.String("string"),
	Cdrom: &xenorchestra.VmCdromArgs{
		Id: pulumi.String("string"),
	},
	BlockedOperations: pulumi.StringArray{
		pulumi.String("string"),
	},
	PowerState:  pulumi.String("string"),
	ResourceSet: pulumi.String("string"),
	StartDelay:  pulumi.Int(0),
	Tags: pulumi.StringArray{
		pulumi.String("string"),
	},
	AutoPoweron: pulumi.Bool(false),
	Vga:         pulumi.String("string"),
	Videoram:    pulumi.Int(0),
	Xenstore: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
})
Copy
var vmResource = new Vm("vmResource", VmArgs.builder()
    .cpus(0)
    .template("string")
    .networks(VmNetworkArgs.builder()
        .networkId("string")
        .attached(false)
        .device("string")
        .expectedIpCidr("string")
        .ipv4Addresses("string")
        .ipv6Addresses("string")
        .macAddress("string")
        .build())
    .nameLabel("string")
    .memoryMax(0)
    .disks(VmDiskArgs.builder()
        .nameLabel("string")
        .size(0)
        .srId("string")
        .attached(false)
        .nameDescription("string")
        .position("string")
        .vbdId("string")
        .vdiId("string")
        .build())
    .coreOs(false)
    .installationMethod("string")
    .cpuCap(0)
    .cpuWeight(0)
    .cloudNetworkConfig("string")
    .destroyCloudConfigVdiAfterBoot(false)
    .cloudConfig("string")
    .expNestedHvm(false)
    .highAvailability("string")
    .host("string")
    .hvmBootFirmware("string")
    .affinityHost("string")
    .cloneType("string")
    .nameDescription("string")
    .cdrom(VmCdromArgs.builder()
        .id("string")
        .build())
    .blockedOperations("string")
    .powerState("string")
    .resourceSet("string")
    .startDelay(0)
    .tags("string")
    .autoPoweron(false)
    .vga("string")
    .videoram(0)
    .xenstore(Map.of("string", "string"))
    .build());
Copy
vm_resource = xenorchestra.Vm("vmResource",
    cpus=0,
    template="string",
    networks=[{
        "network_id": "string",
        "attached": False,
        "device": "string",
        "expected_ip_cidr": "string",
        "ipv4_addresses": ["string"],
        "ipv6_addresses": ["string"],
        "mac_address": "string",
    }],
    name_label="string",
    memory_max=0,
    disks=[{
        "name_label": "string",
        "size": 0,
        "sr_id": "string",
        "attached": False,
        "name_description": "string",
        "position": "string",
        "vbd_id": "string",
        "vdi_id": "string",
    }],
    core_os=False,
    installation_method="string",
    cpu_cap=0,
    cpu_weight=0,
    cloud_network_config="string",
    destroy_cloud_config_vdi_after_boot=False,
    cloud_config="string",
    exp_nested_hvm=False,
    high_availability="string",
    host="string",
    hvm_boot_firmware="string",
    affinity_host="string",
    clone_type="string",
    name_description="string",
    cdrom={
        "id": "string",
    },
    blocked_operations=["string"],
    power_state="string",
    resource_set="string",
    start_delay=0,
    tags=["string"],
    auto_poweron=False,
    vga="string",
    videoram=0,
    xenstore={
        "string": "string",
    })
Copy
const vmResource = new xenorchestra.Vm("vmResource", {
    cpus: 0,
    template: "string",
    networks: [{
        networkId: "string",
        attached: false,
        device: "string",
        expectedIpCidr: "string",
        ipv4Addresses: ["string"],
        ipv6Addresses: ["string"],
        macAddress: "string",
    }],
    nameLabel: "string",
    memoryMax: 0,
    disks: [{
        nameLabel: "string",
        size: 0,
        srId: "string",
        attached: false,
        nameDescription: "string",
        position: "string",
        vbdId: "string",
        vdiId: "string",
    }],
    coreOs: false,
    installationMethod: "string",
    cpuCap: 0,
    cpuWeight: 0,
    cloudNetworkConfig: "string",
    destroyCloudConfigVdiAfterBoot: false,
    cloudConfig: "string",
    expNestedHvm: false,
    highAvailability: "string",
    host: "string",
    hvmBootFirmware: "string",
    affinityHost: "string",
    cloneType: "string",
    nameDescription: "string",
    cdrom: {
        id: "string",
    },
    blockedOperations: ["string"],
    powerState: "string",
    resourceSet: "string",
    startDelay: 0,
    tags: ["string"],
    autoPoweron: false,
    vga: "string",
    videoram: 0,
    xenstore: {
        string: "string",
    },
});
Copy
type: xenorchestra:Vm
properties:
    affinityHost: string
    autoPoweron: false
    blockedOperations:
        - string
    cdrom:
        id: string
    cloneType: string
    cloudConfig: string
    cloudNetworkConfig: string
    coreOs: false
    cpuCap: 0
    cpuWeight: 0
    cpus: 0
    destroyCloudConfigVdiAfterBoot: false
    disks:
        - attached: false
          nameDescription: string
          nameLabel: string
          position: string
          size: 0
          srId: string
          vbdId: string
          vdiId: string
    expNestedHvm: false
    highAvailability: string
    host: string
    hvmBootFirmware: string
    installationMethod: string
    memoryMax: 0
    nameDescription: string
    nameLabel: string
    networks:
        - attached: false
          device: string
          expectedIpCidr: string
          ipv4Addresses:
            - string
          ipv6Addresses:
            - string
          macAddress: string
          networkId: string
    powerState: string
    resourceSet: string
    startDelay: 0
    tags:
        - string
    template: string
    vga: string
    videoram: 0
    xenstore:
        string: string
Copy

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

Cpus This property is required. int
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
Disks This property is required. List<VmDisk>
The disk the VM will have access to.
MemoryMax This property is required. double
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
NameLabel This property is required. string
The name of the VM.
Networks This property is required. List<VmNetwork>
The network for the VM.
Template
This property is required.
Changes to this property will trigger replacement.
string
The ID of the VM template to create the new VM from.
AffinityHost string
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
AutoPoweron bool
If the VM will automatically turn on. Defaults to false.
BlockedOperations List<string>
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
Cdrom VmCdrom
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
CloneType string
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
CloudConfig string
The content of the cloud-init config to use. See the cloud init docs for more information.
CloudNetworkConfig string
The content of the cloud-init network configuration for the VM (uses version 1)
CoreOs bool
CpuCap int
CpuWeight int
DestroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. bool
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
ExpNestedHvm bool
Boolean parameter that allows a VM to use nested virtualization.
HighAvailability string
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
Host string
HvmBootFirmware string
The firmware to use for the VM. Possible values are bios and uefi.
InstallationMethod string
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
NameDescription string
The description of the VM.
PowerState string
The power state of the VM. This can be Running, Halted, Paused or Suspended.
ResourceSet string
StartDelay int
Number of seconds the VM should be delayed from starting.
Tags List<string>
The tags (labels) applied to the given entity.
Vga string
The video adapter the VM should use. Possible values include std and cirrus.
Videoram int
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
Xenstore Dictionary<string, string>
The key value pairs to be populated in xenstore.
Cpus This property is required. int
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
Disks This property is required. []VmDiskArgs
The disk the VM will have access to.
MemoryMax This property is required. float64
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
NameLabel This property is required. string
The name of the VM.
Networks This property is required. []VmNetworkArgs
The network for the VM.
Template
This property is required.
Changes to this property will trigger replacement.
string
The ID of the VM template to create the new VM from.
AffinityHost string
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
AutoPoweron bool
If the VM will automatically turn on. Defaults to false.
BlockedOperations []string
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
Cdrom VmCdromArgs
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
CloneType string
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
CloudConfig string
The content of the cloud-init config to use. See the cloud init docs for more information.
CloudNetworkConfig string
The content of the cloud-init network configuration for the VM (uses version 1)
CoreOs bool
CpuCap int
CpuWeight int
DestroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. bool
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
ExpNestedHvm bool
Boolean parameter that allows a VM to use nested virtualization.
HighAvailability string
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
Host string
HvmBootFirmware string
The firmware to use for the VM. Possible values are bios and uefi.
InstallationMethod string
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
NameDescription string
The description of the VM.
PowerState string
The power state of the VM. This can be Running, Halted, Paused or Suspended.
ResourceSet string
StartDelay int
Number of seconds the VM should be delayed from starting.
Tags []string
The tags (labels) applied to the given entity.
Vga string
The video adapter the VM should use. Possible values include std and cirrus.
Videoram int
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
Xenstore map[string]string
The key value pairs to be populated in xenstore.
cpus This property is required. Integer
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
disks This property is required. List<VmDisk>
The disk the VM will have access to.
memoryMax This property is required. Double
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
nameLabel This property is required. String
The name of the VM.
networks This property is required. List<VmNetwork>
The network for the VM.
template
This property is required.
Changes to this property will trigger replacement.
String
The ID of the VM template to create the new VM from.
affinityHost String
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
autoPoweron Boolean
If the VM will automatically turn on. Defaults to false.
blockedOperations List<String>
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
cdrom VmCdrom
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
cloneType String
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
cloudConfig String
The content of the cloud-init config to use. See the cloud init docs for more information.
cloudNetworkConfig String
The content of the cloud-init network configuration for the VM (uses version 1)
coreOs Boolean
cpuCap Integer
cpuWeight Integer
destroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. Boolean
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
expNestedHvm Boolean
Boolean parameter that allows a VM to use nested virtualization.
highAvailability String
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
host String
hvmBootFirmware String
The firmware to use for the VM. Possible values are bios and uefi.
installationMethod String
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
nameDescription String
The description of the VM.
powerState String
The power state of the VM. This can be Running, Halted, Paused or Suspended.
resourceSet String
startDelay Integer
Number of seconds the VM should be delayed from starting.
tags List<String>
The tags (labels) applied to the given entity.
vga String
The video adapter the VM should use. Possible values include std and cirrus.
videoram Integer
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
xenstore Map<String,String>
The key value pairs to be populated in xenstore.
cpus This property is required. number
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
disks This property is required. VmDisk[]
The disk the VM will have access to.
memoryMax This property is required. number
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
nameLabel This property is required. string
The name of the VM.
networks This property is required. VmNetwork[]
The network for the VM.
template
This property is required.
Changes to this property will trigger replacement.
string
The ID of the VM template to create the new VM from.
affinityHost string
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
autoPoweron boolean
If the VM will automatically turn on. Defaults to false.
blockedOperations string[]
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
cdrom VmCdrom
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
cloneType string
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
cloudConfig string
The content of the cloud-init config to use. See the cloud init docs for more information.
cloudNetworkConfig string
The content of the cloud-init network configuration for the VM (uses version 1)
coreOs boolean
cpuCap number
cpuWeight number
destroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. boolean
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
expNestedHvm boolean
Boolean parameter that allows a VM to use nested virtualization.
highAvailability string
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
host string
hvmBootFirmware string
The firmware to use for the VM. Possible values are bios and uefi.
installationMethod string
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
nameDescription string
The description of the VM.
powerState string
The power state of the VM. This can be Running, Halted, Paused or Suspended.
resourceSet string
startDelay number
Number of seconds the VM should be delayed from starting.
tags string[]
The tags (labels) applied to the given entity.
vga string
The video adapter the VM should use. Possible values include std and cirrus.
videoram number
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
xenstore {[key: string]: string}
The key value pairs to be populated in xenstore.
cpus This property is required. int
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
disks This property is required. Sequence[VmDiskArgs]
The disk the VM will have access to.
memory_max This property is required. float
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
name_label This property is required. str
The name of the VM.
networks This property is required. Sequence[VmNetworkArgs]
The network for the VM.
template
This property is required.
Changes to this property will trigger replacement.
str
The ID of the VM template to create the new VM from.
affinity_host str
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
auto_poweron bool
If the VM will automatically turn on. Defaults to false.
blocked_operations Sequence[str]
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
cdrom VmCdromArgs
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
clone_type str
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
cloud_config str
The content of the cloud-init config to use. See the cloud init docs for more information.
cloud_network_config str
The content of the cloud-init network configuration for the VM (uses version 1)
core_os bool
cpu_cap int
cpu_weight int
destroy_cloud_config_vdi_after_boot Changes to this property will trigger replacement. bool
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
exp_nested_hvm bool
Boolean parameter that allows a VM to use nested virtualization.
high_availability str
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
host str
hvm_boot_firmware str
The firmware to use for the VM. Possible values are bios and uefi.
installation_method str
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
name_description str
The description of the VM.
power_state str
The power state of the VM. This can be Running, Halted, Paused or Suspended.
resource_set str
start_delay int
Number of seconds the VM should be delayed from starting.
tags Sequence[str]
The tags (labels) applied to the given entity.
vga str
The video adapter the VM should use. Possible values include std and cirrus.
videoram int
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
xenstore Mapping[str, str]
The key value pairs to be populated in xenstore.
cpus This property is required. Number
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
disks This property is required. List<Property Map>
The disk the VM will have access to.
memoryMax This property is required. Number
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
nameLabel This property is required. String
The name of the VM.
networks This property is required. List<Property Map>
The network for the VM.
template
This property is required.
Changes to this property will trigger replacement.
String
The ID of the VM template to create the new VM from.
affinityHost String
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
autoPoweron Boolean
If the VM will automatically turn on. Defaults to false.
blockedOperations List<String>
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
cdrom Property Map
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
cloneType String
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
cloudConfig String
The content of the cloud-init config to use. See the cloud init docs for more information.
cloudNetworkConfig String
The content of the cloud-init network configuration for the VM (uses version 1)
coreOs Boolean
cpuCap Number
cpuWeight Number
destroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. Boolean
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
expNestedHvm Boolean
Boolean parameter that allows a VM to use nested virtualization.
highAvailability String
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
host String
hvmBootFirmware String
The firmware to use for the VM. Possible values are bios and uefi.
installationMethod String
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
nameDescription String
The description of the VM.
powerState String
The power state of the VM. This can be Running, Halted, Paused or Suspended.
resourceSet String
startDelay Number
Number of seconds the VM should be delayed from starting.
tags List<String>
The tags (labels) applied to the given entity.
vga String
The video adapter the VM should use. Possible values include std and cirrus.
videoram Number
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
xenstore Map<String>
The key value pairs to be populated in xenstore.

Outputs

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

Id string
The provider-assigned unique ID for this managed resource.
Ipv4Addresses List<string>
Ipv6Addresses List<string>
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
Id string
The provider-assigned unique ID for this managed resource.
Ipv4Addresses []string
Ipv6Addresses []string
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
id String
The provider-assigned unique ID for this managed resource.
ipv4Addresses List<String>
ipv6Addresses List<String>
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
id string
The provider-assigned unique ID for this managed resource.
ipv4Addresses string[]
ipv6Addresses string[]
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
id str
The provider-assigned unique ID for this managed resource.
ipv4_addresses Sequence[str]
ipv6_addresses Sequence[str]
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
id String
The provider-assigned unique ID for this managed resource.
ipv4Addresses List<String>
ipv6Addresses List<String>
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.

Look up Existing Vm Resource

Get an existing Vm 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?: VmState, opts?: CustomResourceOptions): Vm
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        affinity_host: Optional[str] = None,
        auto_poweron: Optional[bool] = None,
        blocked_operations: Optional[Sequence[str]] = None,
        cdrom: Optional[VmCdromArgs] = None,
        clone_type: Optional[str] = None,
        cloud_config: Optional[str] = None,
        cloud_network_config: Optional[str] = None,
        core_os: Optional[bool] = None,
        cpu_cap: Optional[int] = None,
        cpu_weight: Optional[int] = None,
        cpus: Optional[int] = None,
        destroy_cloud_config_vdi_after_boot: Optional[bool] = None,
        disks: Optional[Sequence[VmDiskArgs]] = None,
        exp_nested_hvm: Optional[bool] = None,
        high_availability: Optional[str] = None,
        host: Optional[str] = None,
        hvm_boot_firmware: Optional[str] = None,
        installation_method: Optional[str] = None,
        ipv4_addresses: Optional[Sequence[str]] = None,
        ipv6_addresses: Optional[Sequence[str]] = None,
        memory_max: Optional[float] = None,
        name_description: Optional[str] = None,
        name_label: Optional[str] = None,
        networks: Optional[Sequence[VmNetworkArgs]] = None,
        power_state: Optional[str] = None,
        resource_set: Optional[str] = None,
        start_delay: Optional[int] = None,
        tags: Optional[Sequence[str]] = None,
        template: Optional[str] = None,
        vga: Optional[str] = None,
        videoram: Optional[int] = None,
        xenstore: Optional[Mapping[str, str]] = None) -> Vm
func GetVm(ctx *Context, name string, id IDInput, state *VmState, opts ...ResourceOption) (*Vm, error)
public static Vm Get(string name, Input<string> id, VmState? state, CustomResourceOptions? opts = null)
public static Vm get(String name, Output<String> id, VmState state, CustomResourceOptions options)
resources:  _:    type: xenorchestra:Vm    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AffinityHost string
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
AutoPoweron bool
If the VM will automatically turn on. Defaults to false.
BlockedOperations List<string>
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
Cdrom VmCdrom
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
CloneType string
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
CloudConfig string
The content of the cloud-init config to use. See the cloud init docs for more information.
CloudNetworkConfig string
The content of the cloud-init network configuration for the VM (uses version 1)
CoreOs bool
CpuCap int
CpuWeight int
Cpus int
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
DestroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. bool
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
Disks List<VmDisk>
The disk the VM will have access to.
ExpNestedHvm bool
Boolean parameter that allows a VM to use nested virtualization.
HighAvailability string
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
Host string
HvmBootFirmware string
The firmware to use for the VM. Possible values are bios and uefi.
InstallationMethod string
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
Ipv4Addresses List<string>
Ipv6Addresses List<string>
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
MemoryMax double
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
NameDescription string
The description of the VM.
NameLabel string
The name of the VM.
Networks List<VmNetwork>
The network for the VM.
PowerState string
The power state of the VM. This can be Running, Halted, Paused or Suspended.
ResourceSet string
StartDelay int
Number of seconds the VM should be delayed from starting.
Tags List<string>
The tags (labels) applied to the given entity.
Template Changes to this property will trigger replacement. string
The ID of the VM template to create the new VM from.
Vga string
The video adapter the VM should use. Possible values include std and cirrus.
Videoram int
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
Xenstore Dictionary<string, string>
The key value pairs to be populated in xenstore.
AffinityHost string
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
AutoPoweron bool
If the VM will automatically turn on. Defaults to false.
BlockedOperations []string
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
Cdrom VmCdromArgs
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
CloneType string
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
CloudConfig string
The content of the cloud-init config to use. See the cloud init docs for more information.
CloudNetworkConfig string
The content of the cloud-init network configuration for the VM (uses version 1)
CoreOs bool
CpuCap int
CpuWeight int
Cpus int
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
DestroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. bool
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
Disks []VmDiskArgs
The disk the VM will have access to.
ExpNestedHvm bool
Boolean parameter that allows a VM to use nested virtualization.
HighAvailability string
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
Host string
HvmBootFirmware string
The firmware to use for the VM. Possible values are bios and uefi.
InstallationMethod string
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
Ipv4Addresses []string
Ipv6Addresses []string
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
MemoryMax float64
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
NameDescription string
The description of the VM.
NameLabel string
The name of the VM.
Networks []VmNetworkArgs
The network for the VM.
PowerState string
The power state of the VM. This can be Running, Halted, Paused or Suspended.
ResourceSet string
StartDelay int
Number of seconds the VM should be delayed from starting.
Tags []string
The tags (labels) applied to the given entity.
Template Changes to this property will trigger replacement. string
The ID of the VM template to create the new VM from.
Vga string
The video adapter the VM should use. Possible values include std and cirrus.
Videoram int
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
Xenstore map[string]string
The key value pairs to be populated in xenstore.
affinityHost String
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
autoPoweron Boolean
If the VM will automatically turn on. Defaults to false.
blockedOperations List<String>
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
cdrom VmCdrom
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
cloneType String
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
cloudConfig String
The content of the cloud-init config to use. See the cloud init docs for more information.
cloudNetworkConfig String
The content of the cloud-init network configuration for the VM (uses version 1)
coreOs Boolean
cpuCap Integer
cpuWeight Integer
cpus Integer
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
destroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. Boolean
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
disks List<VmDisk>
The disk the VM will have access to.
expNestedHvm Boolean
Boolean parameter that allows a VM to use nested virtualization.
highAvailability String
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
host String
hvmBootFirmware String
The firmware to use for the VM. Possible values are bios and uefi.
installationMethod String
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
ipv4Addresses List<String>
ipv6Addresses List<String>
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
memoryMax Double
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
nameDescription String
The description of the VM.
nameLabel String
The name of the VM.
networks List<VmNetwork>
The network for the VM.
powerState String
The power state of the VM. This can be Running, Halted, Paused or Suspended.
resourceSet String
startDelay Integer
Number of seconds the VM should be delayed from starting.
tags List<String>
The tags (labels) applied to the given entity.
template Changes to this property will trigger replacement. String
The ID of the VM template to create the new VM from.
vga String
The video adapter the VM should use. Possible values include std and cirrus.
videoram Integer
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
xenstore Map<String,String>
The key value pairs to be populated in xenstore.
affinityHost string
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
autoPoweron boolean
If the VM will automatically turn on. Defaults to false.
blockedOperations string[]
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
cdrom VmCdrom
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
cloneType string
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
cloudConfig string
The content of the cloud-init config to use. See the cloud init docs for more information.
cloudNetworkConfig string
The content of the cloud-init network configuration for the VM (uses version 1)
coreOs boolean
cpuCap number
cpuWeight number
cpus number
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
destroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. boolean
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
disks VmDisk[]
The disk the VM will have access to.
expNestedHvm boolean
Boolean parameter that allows a VM to use nested virtualization.
highAvailability string
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
host string
hvmBootFirmware string
The firmware to use for the VM. Possible values are bios and uefi.
installationMethod string
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
ipv4Addresses string[]
ipv6Addresses string[]
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
memoryMax number
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
nameDescription string
The description of the VM.
nameLabel string
The name of the VM.
networks VmNetwork[]
The network for the VM.
powerState string
The power state of the VM. This can be Running, Halted, Paused or Suspended.
resourceSet string
startDelay number
Number of seconds the VM should be delayed from starting.
tags string[]
The tags (labels) applied to the given entity.
template Changes to this property will trigger replacement. string
The ID of the VM template to create the new VM from.
vga string
The video adapter the VM should use. Possible values include std and cirrus.
videoram number
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
xenstore {[key: string]: string}
The key value pairs to be populated in xenstore.
affinity_host str
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
auto_poweron bool
If the VM will automatically turn on. Defaults to false.
blocked_operations Sequence[str]
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
cdrom VmCdromArgs
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
clone_type str
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
cloud_config str
The content of the cloud-init config to use. See the cloud init docs for more information.
cloud_network_config str
The content of the cloud-init network configuration for the VM (uses version 1)
core_os bool
cpu_cap int
cpu_weight int
cpus int
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
destroy_cloud_config_vdi_after_boot Changes to this property will trigger replacement. bool
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
disks Sequence[VmDiskArgs]
The disk the VM will have access to.
exp_nested_hvm bool
Boolean parameter that allows a VM to use nested virtualization.
high_availability str
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
host str
hvm_boot_firmware str
The firmware to use for the VM. Possible values are bios and uefi.
installation_method str
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
ipv4_addresses Sequence[str]
ipv6_addresses Sequence[str]
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
memory_max float
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
name_description str
The description of the VM.
name_label str
The name of the VM.
networks Sequence[VmNetworkArgs]
The network for the VM.
power_state str
The power state of the VM. This can be Running, Halted, Paused or Suspended.
resource_set str
start_delay int
Number of seconds the VM should be delayed from starting.
tags Sequence[str]
The tags (labels) applied to the given entity.
template Changes to this property will trigger replacement. str
The ID of the VM template to create the new VM from.
vga str
The video adapter the VM should use. Possible values include std and cirrus.
videoram int
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
xenstore Mapping[str, str]
The key value pairs to be populated in xenstore.
affinityHost String
The preferred host you would like the VM to run on. If changed on an existing VM it will require a reboot for the VM to be rescheduled.
autoPoweron Boolean
If the VM will automatically turn on. Defaults to false.
blockedOperations List<String>
List of operations on a VM that are not permitted. Examples include: clean_reboot, clean_shutdown, hard_reboot, hard_shutdown, pause, shutdown, suspend, destroy. This can be used to prevent a VM from being destroyed. The entire list can be found here
cdrom Property Map
The ISO that should be attached to VM. This allows you to create a VM from a diskless template (any templates available from xe template-list) and install the OS from the following ISO.
cloneType String
The type of clone to perform for the VM. Possible values include fast or full and defaults to fast. In order to perform a full clone, the VM template must not be a disk template.
cloudConfig String
The content of the cloud-init config to use. See the cloud init docs for more information.
cloudNetworkConfig String
The content of the cloud-init network configuration for the VM (uses version 1)
coreOs Boolean
cpuCap Number
cpuWeight Number
cpus Number
The number of CPUs the VM will have. Updates to this field will cause a stop and start of the VM if the new CPU value is greater than the max CPU value. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].CPUs' { "max": 4, "number": 2 } # Updating the VM to use 3 CPUs would happen without stopping/starting the VM # Updating the VM to use 5 CPUs would stop/start the VM
destroyCloudConfigVdiAfterBoot Changes to this property will trigger replacement. Boolean
Determines whether the cloud config VDI should be deleted once the VM has booted. Defaults to false. If set to true, power_state must be set to Running.
disks List<Property Map>
The disk the VM will have access to.
expNestedHvm Boolean
Boolean parameter that allows a VM to use nested virtualization.
highAvailability String
The restart priority for the VM. Possible values are best-effort, restart and empty string (no restarts on failure. Defaults to empty string
host String
hvmBootFirmware String
The firmware to use for the VM. Possible values are bios and uefi.
installationMethod String
This cannot be used with cdrom. Possible values are network which allows a VM to boot via PXE.
ipv4Addresses List<String>
ipv6Addresses List<String>
This is only accessible if guest-tools is installed in the VM and if expected_ip_cidr is set on any network interfaces. This will contain a list of the ipv6 addresses across all network interfaces in order.
memoryMax Number
The amount of memory in bytes the VM will have. Updates to this field will case a stop and start of the VM if the new value is greater than the dynamic memory max. This can be determined with the following command: $ xo-cli xo.getAllObjects filter='json:{"id": "cf7b5d7d-3cd5-6b7c-5025-5c935c8cd0b8"}' | jq '.[].memory.dynamic' [ 2147483648, # memory dynamic min 4294967296 # memory dynamic max (4GB) ] # Updating the VM to use 3GB of memory would happen without stopping/starting the VM # Updating the VM to use 5GB of memory would stop/start the VM
nameDescription String
The description of the VM.
nameLabel String
The name of the VM.
networks List<Property Map>
The network for the VM.
powerState String
The power state of the VM. This can be Running, Halted, Paused or Suspended.
resourceSet String
startDelay Number
Number of seconds the VM should be delayed from starting.
tags List<String>
The tags (labels) applied to the given entity.
template Changes to this property will trigger replacement. String
The ID of the VM template to create the new VM from.
vga String
The video adapter the VM should use. Possible values include std and cirrus.
videoram Number
The videoram option the VM should use. Possible values include 1, 2, 4, 8, 16
xenstore Map<String>
The key value pairs to be populated in xenstore.

Supporting Types

VmCdrom
, VmCdromArgs

Id This property is required. string
The ID of the ISO (VDI) to attach to the VM. This can be easily provided by using the vdi data source.
Id This property is required. string
The ID of the ISO (VDI) to attach to the VM. This can be easily provided by using the vdi data source.
id This property is required. String
The ID of the ISO (VDI) to attach to the VM. This can be easily provided by using the vdi data source.
id This property is required. string
The ID of the ISO (VDI) to attach to the VM. This can be easily provided by using the vdi data source.
id This property is required. str
The ID of the ISO (VDI) to attach to the VM. This can be easily provided by using the vdi data source.
id This property is required. String
The ID of the ISO (VDI) to attach to the VM. This can be easily provided by using the vdi data source.

VmDisk
, VmDiskArgs

NameLabel This property is required. string
The name for the disk
Size This property is required. double
The size in bytes for the disk.
SrId This property is required. string
The storage repository ID to use.
Attached bool
Whether the device should be attached to the VM.
NameDescription string
The description for the disk
Position string
Indicates the order of the block device.
VbdId string
VdiId string
NameLabel This property is required. string
The name for the disk
Size This property is required. float64
The size in bytes for the disk.
SrId This property is required. string
The storage repository ID to use.
Attached bool
Whether the device should be attached to the VM.
NameDescription string
The description for the disk
Position string
Indicates the order of the block device.
VbdId string
VdiId string
nameLabel This property is required. String
The name for the disk
size This property is required. Double
The size in bytes for the disk.
srId This property is required. String
The storage repository ID to use.
attached Boolean
Whether the device should be attached to the VM.
nameDescription String
The description for the disk
position String
Indicates the order of the block device.
vbdId String
vdiId String
nameLabel This property is required. string
The name for the disk
size This property is required. number
The size in bytes for the disk.
srId This property is required. string
The storage repository ID to use.
attached boolean
Whether the device should be attached to the VM.
nameDescription string
The description for the disk
position string
Indicates the order of the block device.
vbdId string
vdiId string
name_label This property is required. str
The name for the disk
size This property is required. float
The size in bytes for the disk.
sr_id This property is required. str
The storage repository ID to use.
attached bool
Whether the device should be attached to the VM.
name_description str
The description for the disk
position str
Indicates the order of the block device.
vbd_id str
vdi_id str
nameLabel This property is required. String
The name for the disk
size This property is required. Number
The size in bytes for the disk.
srId This property is required. String
The storage repository ID to use.
attached Boolean
Whether the device should be attached to the VM.
nameDescription String
The description for the disk
position String
Indicates the order of the block device.
vbdId String
vdiId String

VmNetwork
, VmNetworkArgs

NetworkId This property is required. string
The ID of the network the VM will be on.
Attached bool
Whether the device should be attached to the VM.
Device string
ExpectedIpCidr string
Ipv4Addresses List<string>
Ipv6Addresses List<string>
MacAddress string
NetworkId This property is required. string
The ID of the network the VM will be on.
Attached bool
Whether the device should be attached to the VM.
Device string
ExpectedIpCidr string
Ipv4Addresses []string
Ipv6Addresses []string
MacAddress string
networkId This property is required. String
The ID of the network the VM will be on.
attached Boolean
Whether the device should be attached to the VM.
device String
expectedIpCidr String
ipv4Addresses List<String>
ipv6Addresses List<String>
macAddress String
networkId This property is required. string
The ID of the network the VM will be on.
attached boolean
Whether the device should be attached to the VM.
device string
expectedIpCidr string
ipv4Addresses string[]
ipv6Addresses string[]
macAddress string
network_id This property is required. str
The ID of the network the VM will be on.
attached bool
Whether the device should be attached to the VM.
device str
expected_ip_cidr str
ipv4_addresses Sequence[str]
ipv6_addresses Sequence[str]
mac_address str
networkId This property is required. String
The ID of the network the VM will be on.
attached Boolean
Whether the device should be attached to the VM.
device String
expectedIpCidr String
ipv4Addresses List<String>
ipv6Addresses List<String>
macAddress String

Package Details

Repository
xenorchestra vatesfr/pulumi-xenorchestra
License
Apache-2.0
Notes
This Pulumi package is based on the xenorchestra Terraform Provider.