# vm.create

Create a Virtual Machine (VM).

Maximum of 16 guest virtual CPUs are allowed. By default, every virtual CPU is configured as a separate package. Multiple cores can be configured per CPU by specifying cores attributes. vcpus specifies total number of CPU sockets. cores specifies number of cores per socket. threads specifies number of threads per core.

ensure_display_device when set ( the default ) will ensure that the guest always has access to a video device. For headless installations like ubuntu server this is required for the guest to operate properly. However for cases where consumer would like to use GPU passthrough and does not want a display device added should set this to false.

arch_type refers to architecture type and can be specified for the guest. By default the value is null and system in this case will choose a reasonable default based on host.

machine_type refers to machine type of the guest based on the architecture type selected with arch_type. By default the value is null and system in this case will choose a reasonable default based on arch_type configuration.

shutdown_timeout indicates the time in seconds the system waits for the VM to cleanly shutdown. During system shutdown, if the VM hasn’t exited after a hardware shutdown signal has been sent by the system within shutdown_timeout seconds, system initiates poweroff for the VM to stop it.

hide_from_msr is a boolean which when set will hide the KVM hypervisor from standard MSR based discovery and is useful to enable when doing GPU passthrough.

hyperv_enlightenments can be used to enable subset of predefined Hyper-V enlightenments for Windows guests. These enlightenments improve performance and enable otherwise missing features.

suspend_on_snapshot is a boolean attribute which when enabled will automatically pause/suspend VMs when a snapshot is being taken for periodic snapshot tasks. For manual snapshots, if user has specified vms to be paused, they will be in that case.

Type: object

##

Type: array
No Additional Items

#### Tuple Validation

##### Parameter 1: vm_create

#### vm_create

Type: object

VMCreateArgs parameters.

No Additional Properties

##

#### Command Line Args

Type: string Default: ""

##

#### Cpu Mode

Type: enum (of string) Default: "CUSTOM"

##### Must be one of:

- "CUSTOM"
- "HOST-MODEL"
- "HOST-PASSTHROUGH"

##

#### Cpu Model

Default: null

## Any of

Type: string
Type: null

##

#### Name

Type: string

Must be at least `1` characters long

##

#### Description

Type: string Default: ""

##

#### Vcpus

Type: integer Default: 1

Value must be greater or equal to `1`

##

#### Cores

Type: integer Default: 1

Value must be greater or equal to `1`

##

#### Threads

Type: integer Default: 1

Value must be greater or equal to `1`

##

#### Cpuset

Default: null

## Any of

Type: string
Type: null

##

#### Nodeset

Default: null

## Any of

Type: string
Type: null

##

#### Enable Cpu Topology Extension

Type: boolean Default: false

##

#### Pin Vcpus

Type: boolean Default: false

##

#### Suspend On Snapshot

Type: boolean Default: false

##

#### Trusted Platform Module

Type: boolean Default: false

##

#### Memory

Type: integer

Value must be greater or equal to `20`

##

#### Min Memory

Default: null

## Any of

Type: integer

Value must be greater or equal to `20`

Type: null

##

#### Hyperv Enlightenments

Type: boolean Default: false

##

#### Bootloader

Type: enum (of string) Default: "UEFI"

##### Must be one of:

- "UEFI_CSM"
- "UEFI"

##

#### Bootloader Ovmf

Type: string Default: "OVMF_CODE.fd"

##

#### Autostart

Type: boolean Default: true

##

#### Hide From Msr

Type: boolean Default: false

##

#### Ensure Display Device

Type: boolean Default: true

##

#### Time

Type: enum (of string) Default: "LOCAL"

##### Must be one of:

- "LOCAL"
- "UTC"

##

#### Shutdown Timeout

Type: integer Default: 90

Value must be greater or equal to `5` and lesser or equal to `300`

##

#### Arch Type

Default: null

## Any of

Type: string
Type: null

##

#### Machine Type

Default: null

## Any of

Type: string
Type: null

##

#### Uuid

Default: null

## Any of

Type: string
Type: null

##

#### Enable Secure Boot

Type: boolean Default: false

##

#### VMEntry

Type: object
No Additional Properties

##

#### Command Line Args

Type: string Default: ""

##

#### Cpu Mode

Type: enum (of string) Default: "CUSTOM"

##### Must be one of:

- "CUSTOM"
- "HOST-MODEL"
- "HOST-PASSTHROUGH"

##

#### Cpu Model

Default: null

## Any of

Type: string
Type: null

##

#### Name

Type: string

Must be at least `1` characters long

##

#### Description

Type: string Default: ""

##

#### Vcpus

Type: integer Default: 1

Value must be greater or equal to `1`

##

#### Cores

Type: integer Default: 1

Value must be greater or equal to `1`

##

#### Threads

Type: integer Default: 1

Value must be greater or equal to `1`

##

#### Cpuset

Default: null

## Any of

Type: string
Type: null

##

#### Nodeset

Default: null

## Any of

Type: string
Type: null

##

#### Enable Cpu Topology Extension

Type: boolean Default: false

##

#### Pin Vcpus

Type: boolean Default: false

##

#### Suspend On Snapshot

Type: boolean Default: false

##

#### Trusted Platform Module

Type: boolean Default: false

##

#### Memory

Type: integer

Value must be greater or equal to `20`

##

#### Min Memory

Default: null

## Any of

Type: integer

Value must be greater or equal to `20`

Type: null

##

#### Hyperv Enlightenments

Type: boolean Default: false

##

#### Bootloader

Type: enum (of string) Default: "UEFI"

##### Must be one of:

- "UEFI_CSM"
- "UEFI"

##

#### Bootloader Ovmf

Type: string Default: "OVMF_CODE.fd"

##

#### Autostart

Type: boolean Default: true

##

#### Hide From Msr

Type: boolean Default: false

##

#### Ensure Display Device

Type: boolean Default: true

##

#### Time

Type: enum (of string) Default: "LOCAL"

##### Must be one of:

- "LOCAL"
- "UTC"

##

#### Shutdown Timeout

Type: integer Default: 90

Value must be greater or equal to `5` and lesser or equal to `300`

##

#### Arch Type

Default: null

## Any of

Type: string
Type: null

##

#### Machine Type

Default: null

## Any of

Type: string
Type: null

##

#### Uuid

Default: null

## Any of

Type: string
Type: null

##

#### Devices

Type: array of object
No Additional Items

##### Each item of this array must be:

#### VMDeviceEntry

Type: object
No Additional Properties

##

#### Id

Type: integer

##

#### Attributes

## One of

#### VMCDROMDevice

Type: object
No Additional Properties

##

#### Dtype

Type: const
Specific value: `"CDROM"`

##

#### Path

Type: string Default: "*"

Path must not contain "{", "}" characters, and it should start with "/mnt/".

Must match regular expression: `^/mnt/[^{}]*$`

Must be at least `1` characters long

#### VMDisplayDevice

Type: object
No Additional Properties

##

#### Dtype

Type: const
Specific value: `"DISPLAY"`

##

#### Resolution

Type: enum (of string) Default: "1024x768"

##### Must be one of:

- "1920x1200"
- "1920x1080"
- "1600x1200"
- "1600x900"
- "1400x1050"
- "1280x1024"
- "1280x720"
- "1024x768"
- "800x600"
- "640x480"

##

#### Port

Default: null

## Any of

Type: integer

Value must be greater or equal to `5900` and lesser or equal to `65535`

Type: null

##

#### Web Port

Default: null

## Any of

Type: integer

Value must be greater or equal to `5900` and lesser or equal to `65535`

Type: null

##

#### Bind

Type: string Default: "127.0.0.1"

Must be at least `1` characters long

##

#### Wait

Type: boolean Default: false

##

#### Password

Type: string

Must be at least `1` characters long

##

#### Web

Type: boolean Default: true

##

#### Type

Type: const Default: "SPICE"
Specific value: `"SPICE"`

#### VMNICDevice

Type: object
No Additional Properties

##

#### Dtype

Type: const
Specific value: `"NIC"`

##

#### Trust Guest Rx Filters

Type: boolean Default: false

##

#### Type

Type: enum (of string) Default: "E1000"

##### Must be one of:

- "E1000"
- "VIRTIO"

##

#### Nic Attach

Default: null

## Any of

Type: string
Type: null

##

#### Mac

Default: null

## Any of

Type: string
Must match regular expression: `^([0-9A-Fa-f]{2}[:-]?){5}([0-9A-Fa-f]{2})$`
Type: null

#### VMPCIDevice

Type: object
No Additional Properties

##

#### Dtype

Type: const
Specific value: `"PCI"`

##

#### Pptdev

Type: string

Must be at least `1` characters long

#### VMRAWDevice

Type: object
No Additional Properties

##

#### Dtype

Type: const
Specific value: `"RAW"`

##

#### Path

Type: string Default: "127.0.0.1"

Path must not contain "{", "}" characters.

Must match regular expression: `^[^{}]*$`

Must be at least `1` characters long

##

#### Type

Type: enum (of string) Default: "AHCI"

##### Must be one of:

- "AHCI"
- "VIRTIO"

##

#### Exists

Type: boolean Default: false

##

#### Boot

Type: boolean Default: false

##

#### Size

Default: null

## Any of

Type: integer
Type: null

##

#### Logical Sectorsize

Default: null

## Any of

Type: enum (of integer or null)

##### Must be one of:

- null
- 512
- 4096

Type: null

##

#### Physical Sectorsize

Default: null

## Any of

Type: enum (of integer or null)

##### Must be one of:

- null
- 512
- 4096

Type: null

##

#### Iotype

Type: enum (of string) Default: "THREADS"

##### Must be one of:

- "NATIVE"
- "THREADS"
- "IO_URING"

##

#### Serial

Default: null

## Any of

Type: string

Must be at least `1` characters long

Type: null

#### VMDiskDevice

Type: object
No Additional Properties

##

#### Dtype

Type: const
Specific value: `"DISK"`

##

#### Path

Default: null

## Any of

Type: string

Must be at least `1` characters long

Type: null

##

#### Type

Type: enum (of string) Default: "AHCI"

##### Must be one of:

- "AHCI"
- "VIRTIO"

##

#### Create Zvol

Type: boolean Default: false

##

#### Zvol Name

Default: null

## Any of

Type: string
Type: null

##

#### Zvol Volsize

Default: null

## Any of

Type: integer
Type: null

##

#### Logical Sectorsize

Default: null

## Any of

Type: enum (of integer or null)

##### Must be one of:

- null
- 512
- 4096

Type: null

##

#### Physical Sectorsize

Default: null

## Any of

Type: enum (of integer or null)

##### Must be one of:

- null
- 512
- 4096

Type: null

##

#### Iotype

Type: enum (of string) Default: "THREADS"

##### Must be one of:

- "NATIVE"
- "THREADS"
- "IO_URING"

##

#### Serial

Default: null

## Any of

Type: string

Must be at least `1` characters long

Type: null

#### VMUSBDevice

Type: object
No Additional Properties

##

#### Dtype

Type: const
Specific value: `"USB"`

##

Default: null

## Any of

#### USBAttributes

Type: object
No Additional Properties

##

#### Vendor Id

Type: string Default: "127.0.0.1"

Vendor id must start with "0x" prefix e.g 0x16a8.

Must match regular expression: `^0x.*`

Must be at least `1` characters long

##

#### Product Id

Type: string Default: "127.0.0.1"

Product id must start with "0x" prefix e.g 0x16a8.

Must match regular expression: `^0x.*`

Must be at least `1` characters long

Type: null

##

#### Controller Type

Type: enum (of string) Default: "nec-xhci"

##### Must be one of:

- "piix3-uhci"
- "piix4-uhci"
- "ehci"
- "ich9-ehci1"
- "vt82c686b-uhci"
- "pci-ohci"
- "nec-xhci"
- "qemu-xhci"

##

#### Device

Default: null

## Any of

Type: string

Must be at least `1` characters long

Type: null

##

#### Vm

Type: integer

##

#### Order

Type: integer

##

#### Display Available

Type: boolean

##

#### Id

Type: integer

##

#### VMStatus

Type: object
No Additional Properties

##

#### State

Type: string

Must be at least `1` characters long

##

#### Pid

## Any of

Type: integer
Type: null

##

#### Domain State

Type: string

Must be at least `1` characters long

##

#### Enable Secure Boot

Type: boolean Default: false

Required roles: VM_WRITE