Enable/disable ACPI.
-`agent`: `<boolean>` ('default =' `0`)::
+`agent`: `[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]` ::
+
+Enable/disable Qemu GuestAgent and its properties.
+
+`enabled`=`<boolean>` ('default =' `0`);;
Enable/disable Qemu GuestAgent.
+`fstrim_cloned_disks`=`<boolean>` ('default =' `0`);;
+
+Run fstrim after cloning/moving a disk.
+
+`type`=`<isa | virtio>` ('default =' `virtio`);;
+
+Select the agent type
+
+`arch`: `<aarch64 | x86_64>` ::
+
+Virtual processor architecture. Defaults to the host.
+
`args`: `<string>` ::
Arbitrary arguments passed to kvm, for example:
+
NOTE: this option is for experts only.
+`audio0`: `device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]` ::
+
+Configure a audio device, useful in combination with QXL/Spice.
+
+`device`=`<AC97 | ich9-intel-hda | intel-hda>` ;;
+
+Configure an audio device.
+
+`driver`=`<spice>` ('default =' `spice`);;
+
+Driver backend for the audio device.
+
`autostart`: `<boolean>` ('default =' `0`)::
Automatic restart after crash (currently ignored).
This is an alias for option -ide2
+`cicustom`: `[meta=<volume>] [,network=<volume>] [,user=<volume>]` ::
+
+cloud-init: Specify custom files to replace the automatically generated ones at start.
+
+`meta`=`<volume>` ;;
+
+Specify a custom file containing all meta data passed to the VM via cloud-init. This is provider specific meaning configdrive2 and nocloud differ.
+
+`network`=`<volume>` ;;
+
+Specify a custom file containing all network data passed to the VM via cloud-init.
+
+`user`=`<volume>` ;;
+
+Specify a custom file containing all user data passed to the VM via cloud-init.
+
`cipassword`: `<string>` ::
cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.
The number of cores per socket.
-`cpu`: `[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]` ::
-
-Emulated CPU type.
-
-`cputype`=`<486 | Broadwell | Broadwell-IBRS | Broadwell-noTSX | Broadwell-noTSX-IBRS | Conroe | EPYC | EPYC-IBPB | Haswell | Haswell-IBRS | Haswell-noTSX | Haswell-noTSX-IBRS | IvyBridge | IvyBridge-IBRS | Nehalem | Nehalem-IBRS | Opteron_G1 | Opteron_G2 | Opteron_G3 | Opteron_G4 | Opteron_G5 | Penryn | SandyBridge | SandyBridge-IBRS | Skylake-Client | Skylake-Client-IBRS | Skylake-Server | Skylake-Server-IBRS | Westmere | Westmere-IBRS | athlon | core2duo | coreduo | host | kvm32 | kvm64 | max | pentium | pentium2 | pentium3 | phenom | qemu32 | qemu64>` ('default =' `kvm64`);;
+`cpu`: `<string>` ::
Emulated CPU type.
-`flags`=`<+FLAG[;-FLAG...]>` ;;
-
-List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.
-
-`hidden`=`<boolean>` ('default =' `0`);;
-
-Do not identify as a KVM virtual machine.
-
`cpulimit`: `<number> (0 - 128)` ('default =' `0`)::
Limit of CPU usage.
Freeze CPU at startup (use 'c' monitor command to start execution).
-`hostpci[n]`: `[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]` ::
+`hookscript`: `<string>` ::
+
+Script that will be executed during various steps in the vms lifetime.
+
+`hostpci[n]`: `[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]` ::
Map host PCI devices into guest.
+
-NOTE: This option allows direct access to host hardware. So it is no longer
+NOTE: This option allows direct access to host hardware. So it is no longer
possible to migrate such machines - use with special care.
+
CAUTION: Experimental! User reported problems with this option.
`host`=`<HOSTPCIID[;HOSTPCIID2...]>` ;;
-Host PCI device pass through. The PCI ID of a host's PCI device or a list
+Host PCI device pass through. The PCI ID of a host's PCI device or a list
of PCI virtual functions of the host. HOSTPCIID syntax is:
+
'bus:dev.func' (hexadecimal numbers)
+
You can us the 'lspci' command to list existing PCI devices.
+`mdev`=`<string>` ;;
+
+The type of mediated device to use.
+An instance of this type will be created on startup of the VM and
+will be cleaned up when the VM stops.
+
`pcie`=`<boolean>` ('default =' `0`);;
Choose the PCI-express bus (needs the 'q35' machine model).
Enable/disable hugepages memory.
-`ide[n]`: `[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
+`ide[n]`: `[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]` ::
Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.
+`ssd`=`<boolean>` ;;
+
+Whether to expose this drive as an SSD, rather than a rotational hard disk.
+
`trans`=`<auto | lba | none>` ;;
Force disk geometry bios translation mode.
Write error action.
+`wwn`=`<wwn>` ;;
+
+The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.
+
`ipconfig[n]`: `[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]` ::
cloud-init: Specify IP addresses and gateways for the corresponding interface.
IPv6 address in CIDR format.
+`ivshmem`: `size=<integer> [,name=<string>]` ::
+
+Inter-VM shared memory. Useful for direct communication between VMs, or to the host.
+
+`name`=`<string>` ;;
+
+The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.
+
+`size`=`<integer> (1 - N)` ;;
+
+The size of the file in MB.
+
`keyboard`: `<da | de | de-ch | en-gb | en-us | es | fi | fr | fr-be | fr-ca | fr-ch | hu | is | it | ja | lt | mk | nl | no | pl | pt | pt-br | sl | sv | tr>` ::
-Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.
+Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.
`kvm`: `<boolean>` ('default =' `1`)::
Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.
-`lock`: `<backup | migrate | rollback | snapshot>` ::
+`lock`: `<backup | clone | create | migrate | rollback | snapshot | snapshot-delete | suspended | suspending>` ::
Lock/unlock the VM.
-`machine`: `(pc|pc(-i440fx)?-\d+\.\d+(\.pxe)?|q35|pc-q35-\d+\.\d+(\.pxe)?)` ::
+`machine`: `(pc|pc(-i440fx)?-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|q35|pc-q35-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|virt(?:-\d+(\.\d+)+)?(\+pve\d+)?)` ::
-Specific the Qemu machine type.
+Specifies the Qemu machine type.
`memory`: `<integer> (16 - N)` ('default =' `512`)::
`macaddr`=`<XX:XX:XX:XX:XX:XX>` ;;
-MAC address. That address must be unique withing your network. This is automatically generated if not specified.
+A common MAC address with the I/G (Individual/Group) bit not set.
`model`=`<e1000 | e1000-82540em | e1000-82544gc | e1000-82545em | i82551 | i82557b | i82559er | ne2k_isa | ne2k_pci | pcnet | rtl8139 | virtio | vmxnet3>` ;;
win8;; Microsoft Windows 8/2012/2012r2
win10;; Microsoft Windows 10/2016
l24;; Linux 2.4 Kernel
-l26;; Linux 2.6/3.X Kernel
+l26;; Linux 2.6 - 5.X Kernel
solaris;; Solaris/OpenSolaris/OpenIndiania kernel
`parallel[n]`: `/dev/parport\d+|/dev/usb/lp\d+` ::
Allow reboot. If set to '0' the VM exit on reboot.
-`sata[n]`: `[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
+`rng0`: `[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]` ::
+
+Configure a VirtIO-based Random Number Generator.
+
+`max_bytes`=`<integer>` ('default =' `1024`);;
+
+Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).
+
+`period`=`<integer>` ('default =' `1000`);;
+
+Every 'period' milliseconds the entropy-injection quota is reset, allowing the guest to retrieve another 'max_bytes' of entropy.
+
+`source`=`</dev/hwrng | /dev/random | /dev/urandom>` ;;
+
+The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.
+
+`sata[n]`: `[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]` ::
Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.
+`ssd`=`<boolean>` ;;
+
+Whether to expose this drive as an SSD, rather than a rotational hard disk.
+
`trans`=`<auto | lba | none>` ;;
Force disk geometry bios translation mode.
Write error action.
-`scsi[n]`: `[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
+`wwn`=`<wwn>` ;;
+
+The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.
+
+`scsi[n]`: `[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]` ::
-Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).
+Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
`aio`=`<native | threads>` ;;
Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.
+`ssd`=`<boolean>` ;;
+
+Whether to expose this drive as an SSD, rather than a rotational hard disk.
+
`trans`=`<auto | lba | none>` ;;
Force disk geometry bios translation mode.
Write error action.
+`wwn`=`<wwn>` ;;
+
+The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.
+
`scsihw`: `<lsi | lsi53c810 | megasas | pvscsi | virtio-scsi-pci | virtio-scsi-single>` ('default =' `lsi`)::
SCSI controller model
`shares`: `<integer> (0 - 50000)` ('default =' `1000`)::
-Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning
+Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.
-`smbios1`: `[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]` ::
+`smbios1`: `[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]` ::
Specify SMBIOS type 1 fields.
-`family`=`<string>` ;;
+`base64`=`<boolean>` ;;
+
+Flag to indicate that the SMBIOS values are base64 encoded
+
+`family`=`<Base64 encoded string>` ;;
Set SMBIOS1 family string.
-`manufacturer`=`<string>` ;;
+`manufacturer`=`<Base64 encoded string>` ;;
Set SMBIOS1 manufacturer.
-`product`=`<string>` ;;
+`product`=`<Base64 encoded string>` ;;
Set SMBIOS1 product ID.
-`serial`=`<string>` ;;
+`serial`=`<Base64 encoded string>` ;;
Set SMBIOS1 serial number.
-`sku`=`<string>` ;;
+`sku`=`<Base64 encoded string>` ;;
Set SMBIOS1 SKU string.
Set SMBIOS1 UUID.
-`version`=`<string>` ;;
+`version`=`<Base64 encoded string>` ;;
Set SMBIOS1 version.
The number of CPU sockets.
+`spice_enhancements`: `[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]` ::
+
+Configure additional enhancements for SPICE.
+
+`foldersharing`=`<boolean>` ('default =' `0`);;
+
+Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.
+
+`videostreaming`=`<all | filter | off>` ('default =' `off`);;
+
+Enable video streaming. Uses compression for detected video streams.
+
`sshkeys`: `<string>` ::
cloud-init: Setup public SSH keys (one key per line, OpenSSH format).
Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl).
+`tags`: `<string>` ::
+
+Tags of the VM. This is only meta information.
+
`tdf`: `<boolean>` ('default =' `0`)::
Enable/disable time drift fix.
Enable/disable Template.
-`unused[n]`: `<string>` ::
+`unused[n]`: `[file=]<volume>` ::
Reference to unused volumes. This is used internally, and should not be modified manually.
+`file`=`<volume>` ;;
+
+The drive's backing volume.
+
`usb[n]`: `[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]` ::
Configure an USB device (n is 0 to 4).
`usb3`=`<boolean>` ('default =' `0`);;
-Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).
+Specifies whether if given host option is a USB3 device or port.
`vcpus`: `<integer> (1 - N)` ('default =' `0`)::
Number of hotplugged vcpus.
-`vga`: `<cirrus | qxl | qxl2 | qxl3 | qxl4 | serial0 | serial1 | serial2 | serial3 | std | vmware>` ::
+`vga`: `[[type=]<enum>] [,memory=<integer>]` ::
+
+Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.
+You can also run without any graphic card, using a serial device as terminal.
+
+`memory`=`<integer> (4 - 512)` ;;
-Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal.
+Sets the VGA memory (in MiB). Has no effect with serial display.
+
+`type`=`<cirrus | none | qxl | qxl2 | qxl3 | qxl4 | serial0 | serial1 | serial2 | serial3 | std | virtio | vmware>` ('default =' `std`);;
+
+Select the VGA type.
`virtio[n]`: `[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
Write error action.
+`vmgenid`: `<UUID>` ('default =' `1 (autogenerated)`)::
+
+The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.
+Note that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file.
+
`vmstatestorage`: `<string>` ::
Default storage for VM state volumes/files.