*qm* `<COMMAND> [ARGS] [OPTIONS]`
-*qm agent* `<vmid> <command>`
+*qm agent*
-Execute Qemu Guest Agent commands.
+An alias for 'qm guest cmd'.
+
+*qm cleanup* `<vmid> <clean-shutdown> <guest-requested>`
+
+Cleans up resources like tap devices, vgpus, etc. Called after a vm shuts
+down, crashes, etc.
`<vmid>`: `<integer> (1 - N)` ::
The (unique) ID of the VM.
-`<command>`: `<fsfreeze-freeze | fsfreeze-status | fsfreeze-thaw | fstrim | get-fsinfo | get-memory-block-info | get-memory-blocks | get-time | get-vcpus | info | network-get-interfaces | ping | shutdown | suspend-disk | suspend-hybrid | suspend-ram>` ::
+`<clean-shutdown>`: `<boolean>` ::
-The QGA command.
+Indicates if qemu shutdown cleanly.
+`<guest-requested>`: `<boolean>` ::
+Indicates if the shutdown was requested by the guest or via qmp.
*qm clone* `<vmid> <newid>` `[OPTIONS]`
VMID for the clone.
+`--bwlimit` `<integer> (0 - N)` ('default =' `clone limit from datacenter or storage config`)::
+
+Override I/O bandwidth limit (in KiB/s).
+
`--description` `<string>` ::
Description for the new VM.
`--format` `<qcow2 | raw | vmdk>` ::
-Target format for file storage.
-+
-NOTE: Requires option(s): `full`
+Target format for file storage. Only valid for full clone.
-`--full` `<boolean>` ('default =' `0`)::
+`--full` `<boolean>` ::
-Create a full copy of all disk. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.
+Create a full copy of all disks. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.
`--name` `<string>` ::
`--storage` `<string>` ::
Target storage for full clone.
-+
-NOTE: Requires option(s): `full`
`--target` `<string>` ::
Target node. Only allowed if the original VM is on shared storage.
+*qm cloudinit dump* `<vmid> <type>`
+
+Get automatically generated cloudinit config.
+`<vmid>`: `<integer> (1 - N)` ::
+
+The (unique) ID of the VM.
+
+`<type>`: `<meta | network | user>` ::
+
+Config type.
*qm config* `<vmid>` `[OPTIONS]`
Get current values (instead of pending values).
+`--snapshot` `<string>` ::
+Fetch config values from given snapshot.
*qm create* `<vmid>` `[OPTIONS]`
Enable/disable ACPI.
-`--agent` `<boolean>` ('default =' `0`)::
+`--agent` `[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]` ::
+
+Enable/disable Qemu GuestAgent and its properties.
-Enable/disable Qemu GuestAgent.
+`--arch` `<aarch64 | x86_64>` ::
+
+Virtual processor architecture. Defaults to the host.
`--archive` `<string>` ::
Enable booting from specified disk.
+`--bwlimit` `<integer> (0 - N)` ('default =' `restore limit from datacenter or storage config`)::
+
+Override I/O bandwidth limit (in KiB/s).
+
`--cdrom` `<volume>` ::
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.
+
+`--cipassword` `<password>` ::
+
+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.
+
+`--citype` `<configdrive2 | nocloud>` ::
+
+Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.
+
+`--ciuser` `<string>` ::
+
+cloud-init: User name to change ssh keys and password for instead of the image's configured default user.
+
`--cores` `<integer> (1 - N)` ('default =' `1`)::
The number of cores per socket.
-`--cpu` `[cputype=]<enum> [,hidden=<1|0>]` ::
+`--cpu` `[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]` ::
Emulated CPU type.
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.
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>] [,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).
-`--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>` ('default =' `en-us`)::
+`--ipconfig[n]` `[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]` ::
-Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.
+cloud-init: Specify IP addresses and gateways for the corresponding interface.
++
+IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.
++
+The special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.
+For IPv6 the special string 'auto' can be used to use stateless autoconfiguration.
++
+If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.
+
+`--ivshmem` `size=<integer> [,name=<string>]` ::
+
+Inter-VM shared memory. Useful for direct communication between VMs, or to the host.
+
+`--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.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+(\.pxe)?|q35|pc-q35-\d+\.\d+(\.pxe)?|virt(?:-\d+\.\d+)?)` ::
-Specific the Qemu machine type.
+Specifies the Qemu machine type.
`--memory` `<integer> (16 - N)` ('default =' `512`)::
Set a name for the VM. Only used on the configuration web interface.
+`--nameserver` `<string>` ::
+
+cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.
+
`--net[n]` `[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]` ::
Specify network devices.
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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
+`--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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
+`--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).
SCSI controller model
+`--searchdomain` `<string>` ::
+
+cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.
+
`--serial[n]` `(/dev/.+|socket)` ::
Create a serial device inside the VM (n is 0 to 3)
`--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.
The number of CPU sockets.
+`--sshkeys` `<filepath>` ::
+
+cloud-init: Setup public SSH keys (one key per line, OpenSSH format).
+
+`--start` `<boolean>` ('default =' `0`)::
+
+Start VM after it was created successfully.
+
`--startdate` `(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)` ('default =' `now`)::
Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.
Number of hotplugged vcpus.
-`--vga` `<cirrus | qxl | qxl2 | qxl3 | qxl4 | serial0 | serial1 | serial2 | serial3 | std | vmware>` ::
+`--vga` `[[type=]<enum>] [,memory=<integer>]` ::
-Select the VGA type.
+Configure the VGA hardware.
-`--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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
+`--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>]` ::
Use volume as VIRTIO hard disk (n is 0 to 15).
+`--vmgenid` `<UUID>` ('default =' `1 (autogenerated)`)::
+
+Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.
+
`--vmstatestorage` `<string>` ::
Default storage for VM state volumes/files.
Create a virtual hardware watchdog device.
-
-
*qm delsnapshot* `<vmid> <snapname>` `[OPTIONS]`
Delete a VM snapshot.
For removal from config file, even if removing disk snapshots fails.
-
-
*qm destroy* `<vmid>` `[OPTIONS]`
Destroy the vm (also delete all used/owned volumes).
Ignore locks - only root is allowed to use this option.
+*qm guest cmd* `<vmid> <command>`
+Execute Qemu Guest Agent commands.
+`<vmid>`: `<integer> (1 - N)` ::
-*qm help* `[<cmd>]` `[OPTIONS]`
+The (unique) ID of the VM.
-Get help about specified command.
+`<command>`: `<fsfreeze-freeze | fsfreeze-status | fsfreeze-thaw | fstrim | get-fsinfo | get-host-name | get-memory-block-info | get-memory-blocks | get-osinfo | get-time | get-timezone | get-users | get-vcpus | info | network-get-interfaces | ping | shutdown | suspend-disk | suspend-hybrid | suspend-ram>` ::
-`<cmd>`: `<string>` ::
+The QGA command.
-Command name
+*qm guest exec* `<vmid> [<extra-args>]` `[OPTIONS]`
-`--verbose` `<boolean>` ::
+Executes the given command via the guest agent
-Verbose output format.
+`<vmid>`: `<integer> (1 - N)` ::
+
+The (unique) ID of the VM.
+
+`<extra-args>`: `<array>` ::
+
+Extra arguments as array
+
+`--synchronous` `<boolean>` ('default =' `1`)::
+If set to off, returns the pid immediately instead of waiting for the commmand to finish or the timeout.
+`--timeout` `<integer> (0 - N)` ('default =' `30`)::
+The maximum time to wait synchronously for the command to finish. If reached, the pid gets returned. Set to 0 to deactivate
+
+*qm guest exec-status* `<vmid> <pid>`
+
+Gets the status of the given pid started by the guest-agent
+
+`<vmid>`: `<integer> (1 - N)` ::
+
+The (unique) ID of the VM.
+
+`<pid>`: `<integer>` ::
+
+The PID to query
+
+*qm guest passwd* `<vmid> <username>` `[OPTIONS]`
+
+Sets the password for the given user to the given password
+
+`<vmid>`: `<integer> (1 - N)` ::
+
+The (unique) ID of the VM.
+
+`<username>`: `<string>` ::
+
+The user to set the password for.
+
+`--crypted` `<boolean>` ('default =' `0`)::
+
+set to 1 if the password has already been passed through crypt()
+
+*qm help* `[OPTIONS]`
+
+Get help about specified command.
+
+`--extra-args` `<array>` ::
+
+Shows help for a specific command
+
+`--verbose` `<boolean>` ::
+
+Verbose output format.
*qm importdisk* `<vmid> <source> <storage>` `[OPTIONS]`
Target format
-
-
*qm importovf* `<vmid> <manifest> <storage>` `[OPTIONS]`
Create a new VM using parameters read from an OVF manifest
Target format
-
-
-
*qm list* `[OPTIONS]`
Virtual machine index (per node).
Determine the full status of active VMs.
-
-
*qm listsnapshot* `<vmid>`
List all snapshots.
The (unique) ID of the VM.
-
-
*qm migrate* `<vmid> <target>` `[OPTIONS]`
Migrate virtual machine. Creates a new migration task.
Target node.
+`--bwlimit` `<integer> (0 - N)` ('default =' `migrate limit from datacenter or storage config`)::
+
+Override I/O bandwidth limit (in KiB/s).
+
`--force` `<boolean>` ::
Allow to migrate VMs which use local devices. Only root may use this option.
Enable live storage migration for local disk
-
-
-
*qm monitor* `<vmid>`
Enter Qemu Monitor interface.
The (unique) ID of the VM.
-
-
-
*qm move_disk* `<vmid> <disk> <storage>` `[OPTIONS]`
Move volume to different storage.
Target storage.
+`--bwlimit` `<integer> (0 - N)` ('default =' `move limit from datacenter or storage config`)::
+
+Override I/O bandwidth limit (in KiB/s).
+
`--delete` `<boolean>` ('default =' `0`)::
Delete the original disk after successful copy. By default the original disk is kept as unused disk.
Target Format.
-
-
-
*qm mtunnel*
Used by qmigrate - do not use manually.
-
-
*qm nbdstop* `<vmid>`
Stop embedded nbd server.
The (unique) ID of the VM.
-
-
-
*qm pending* `<vmid>`
Get virtual machine configuration, including pending changes.
The (unique) ID of the VM.
-
-
-
*qm rescan* `[OPTIONS]`
Rescan all storages and update disk sizes and unused disk images.
-`--vmid` `<integer> (1 - N)` ::
-
-The (unique) ID of the VM.
+`--dryrun` `<boolean>` ('default =' `0`)::
+Do not actually write changes out to VM config(s).
+`--vmid` `<integer> (1 - N)` ::
+The (unique) ID of the VM.
*qm reset* `<vmid>` `[OPTIONS]`
Ignore locks - only root is allowed to use this option.
-
-
*qm resize* `<vmid> <disk> <size>` `[OPTIONS]`
Extend volume size.
Ignore locks - only root is allowed to use this option.
-
-
*qm resume* `<vmid>` `[OPTIONS]`
Resume virtual machine.
Ignore locks - only root is allowed to use this option.
-
-
*qm rollback* `<vmid> <snapname>`
Rollback VM state to specified snapshot.
The name of the snapshot.
-
-
*qm sendkey* `<vmid> <key>` `[OPTIONS]`
Send key event to virtual machine.
Ignore locks - only root is allowed to use this option.
-
-
*qm set* `<vmid>` `[OPTIONS]`
Set virtual machine options (synchrounous API) - You should consider using
Enable/disable ACPI.
-`--agent` `<boolean>` ('default =' `0`)::
+`--agent` `[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]` ::
+
+Enable/disable Qemu GuestAgent and its properties.
+
+`--arch` `<aarch64 | x86_64>` ::
-Enable/disable Qemu GuestAgent.
+Virtual processor architecture. Defaults to the host.
`--args` `<string>` ::
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.
+
+`--cipassword` `<password>` ::
+
+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.
+
+`--citype` `<configdrive2 | nocloud>` ::
+
+Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.
+
+`--ciuser` `<string>` ::
+
+cloud-init: User name to change ssh keys and password for instead of the image's configured default user.
+
`--cores` `<integer> (1 - N)` ('default =' `1`)::
The number of cores per socket.
-`--cpu` `[cputype=]<enum> [,hidden=<1|0>]` ::
+`--cpu` `[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]` ::
Emulated CPU type.
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.
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>] [,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).
-`--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>` ('default =' `en-us`)::
+`--ipconfig[n]` `[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]` ::
-Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.
+cloud-init: Specify IP addresses and gateways for the corresponding interface.
++
+IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.
++
+The special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.
+For IPv6 the special string 'auto' can be used to use stateless autoconfiguration.
++
+If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.
+
+`--ivshmem` `size=<integer> [,name=<string>]` ::
+
+Inter-VM shared memory. Useful for direct communication between VMs, or to the host.
+
+`--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.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+(\.pxe)?|q35|pc-q35-\d+\.\d+(\.pxe)?|virt(?:-\d+\.\d+)?)` ::
-Specific the Qemu machine type.
+Specifies the Qemu machine type.
`--memory` `<integer> (16 - N)` ('default =' `512`)::
Set a name for the VM. Only used on the configuration web interface.
+`--nameserver` `<string>` ::
+
+cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.
+
`--net[n]` `[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]` ::
Specify network devices.
Revert a pending change.
-`--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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
+`--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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
+`--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).
SCSI controller model
+`--searchdomain` `<string>` ::
+
+cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.
+
`--serial[n]` `(/dev/.+|socket)` ::
Create a serial device inside the VM (n is 0 to 3)
`--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.
`--skiplock` `<boolean>` ::
Ignore locks - only root is allowed to use this option.
-`--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.
The number of CPU sockets.
+`--sshkeys` `<filepath>` ::
+
+cloud-init: Setup public SSH keys (one key per line, OpenSSH format).
+
`--startdate` `(now | YYYY-MM-DD | YYYY-MM-DDTHH:MM:SS)` ('default =' `now`)::
Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.
Number of hotplugged vcpus.
-`--vga` `<cirrus | qxl | qxl2 | qxl3 | qxl4 | serial0 | serial1 | serial2 | serial3 | std | vmware>` ::
+`--vga` `[[type=]<enum>] [,memory=<integer>]` ::
-Select the VGA type.
+Configure the VGA hardware.
-`--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>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]` ::
+`--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>]` ::
Use volume as VIRTIO hard disk (n is 0 to 15).
+`--vmgenid` `<UUID>` ('default =' `1 (autogenerated)`)::
+
+Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.
+
`--vmstatestorage` `<string>` ::
Default storage for VM state volumes/files.
Create a virtual hardware watchdog device.
-
-
-
-*qm showcmd* `<vmid>`
+*qm showcmd* `<vmid>` `[OPTIONS]`
Show command line which is used to start the VM (debug info).
The (unique) ID of the VM.
+`--pretty` `<boolean>` ('default =' `0`)::
+Puts each option on a new line to enhance human readability
+`--snapshot` `<string>` ::
+
+Fetch config values from given snapshot.
*qm shutdown* `<vmid>` `[OPTIONS]`
Wait maximal timeout seconds.
-
-
*qm snapshot* `<vmid> <snapname>` `[OPTIONS]`
Snapshot a VM.
Save the vmstate
-
-
*qm start* `<vmid>` `[OPTIONS]`
Start virtual machine.
The (unique) ID of the VM.
-`--machine` `(pc|pc(-i440fx)?-\d+\.\d+(\.pxe)?|q35|pc-q35-\d+\.\d+(\.pxe)?)` ::
+`--machine` `(pc|pc(-i440fx)?-\d+\.\d+(\.pxe)?|q35|pc-q35-\d+\.\d+(\.pxe)?|virt(?:-\d+\.\d+)?)` ::
-Specific the Qemu machine type.
+Specifies the Qemu machine type.
`--migratedfrom` `<string>` ::
Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)
-
-
-
*qm status* `<vmid>` `[OPTIONS]`
Show VM status.
Verbose output format
-
-
-
*qm stop* `<vmid>` `[OPTIONS]`
Stop virtual machine. The qemu process will exit immediately. Thisis akin
Wait maximal timeout seconds.
-
-
*qm suspend* `<vmid>` `[OPTIONS]`
Suspend virtual machine.
Ignore locks - only root is allowed to use this option.
+`--statestorage` `<string>` ::
+
+The storage for the VM state
++
+NOTE: Requires option(s): `todisk`
+
+`--todisk` `<boolean>` ('default =' `0`)::
+If set, suspends the VM to disk. Will be resumed on next VM start.
*qm template* `<vmid>` `[OPTIONS]`
If you want to convert only 1 disk to base image.
-
-
-
*qm terminal* `<vmid>` `[OPTIONS]`
Open a terminal using a serial device (The VM need to have a serial device
The (unique) ID of the VM.
-`--iface` `<serial0 | serial1 | serial2 | serial3>` ::
-
-Select the serial device. By default we simply use the first suitable device.
+`--escape` `<string>` ('default =' `^O`)::
+Escape character.
+`--iface` `<serial0 | serial1 | serial2 | serial3>` ::
+Select the serial device. By default we simply use the first suitable device.
*qm unlink* `<vmid> --idlist <string>` `[OPTIONS]`
A list of disk IDs you want to delete.
-
-
-
*qm unlock* `<vmid>`
Unlock the VM.
The (unique) ID of the VM.
-
-
*qm vncproxy* `<vmid>`
Proxy VM VNC traffic to stdin/stdout
The (unique) ID of the VM.
-
-
*qm wait* `<vmid>` `[OPTIONS]`
Wait until the VM is stopped.
Timeout in seconds. Default is to wait forever.
-
-