Enable/disable ACPI.
-`agent`: `[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]` ::
+`agent`: `[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]` ::
Enable/disable Qemu GuestAgent and its properties.
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.
+
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).
The number of cores per socket.
-`cpu`: `[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]` ::
-
-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', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.
-
-`hidden`=`<boolean>` ('default =' `0`);;
-
-Do not identify as a KVM virtual machine.
-
-`hv-vendor-id`=`<vendor-id>` ;;
-
-The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.
-
`cpulimit`: `<number> (0 - 128)` ('default =' `0`)::
Limit of CPU usage.
Lock/unlock the VM.
-`machine`: `(pc|pc(-i440fx)?-\d+\.\d+(\.pxe)?|q35|pc-q35-\d+\.\d+(\.pxe)?|virt(?:-\d+\.\d+)?)` ::
+`machine`: `(pc|pc(-i440fx)?-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|q35|pc-q35-\d+(\.\d+)+(\+pve\d+)?(\.pxe)?|virt(?:-\d+(\.\d+)+)?(\+pve\d+)?)` ::
Specifies the Qemu machine type.
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.
+`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).
`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>` ;;
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`)::