make update-static
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 23 Oct 2018 10:57:54 +0000 (12:57 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Tue, 23 Oct 2018 10:57:54 +0000 (12:57 +0200)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
api-viewer/apidata.js
datacenter.cfg.5-opts.adoc
pct.1-synopsis.adoc
pct.conf.5-opts.adoc
pveceph.1-synopsis.adoc
pvesm.1-synopsis.adoc
qm.1-synopsis.adoc
qm.conf.5-opts.adoc

index f47afe8..15ae7e0 100644 (file)
@@ -597,7 +597,6 @@ var pveapi = [
                            ]
                         },
                         "returns" : {
-                           "properties" : {},
                            "type" : "object"
                         }
                      }
@@ -3885,6 +3884,7 @@ var pveapi = [
                                  "properties" : {
                                     "account" : {
                                        "optional" : 1,
+                                       "renderer" : "yaml",
                                        "type" : "object"
                                     },
                                     "directory" : {
@@ -4170,7 +4170,96 @@ var pveapi = [
                   },
                   "returns" : {
                      "items" : {
-                        "properties" : {},
+                        "properties" : {
+                           "cpu" : {
+                              "description" : "CPU utilization (when type in node,qemu,lxc).",
+                              "optional" : 1,
+                              "renderer" : "fraction_as_percentage",
+                              "type" : "number"
+                           },
+                           "disk" : {
+                              "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
+                              "optional" : 1,
+                              "renderer" : "bytes",
+                              "type" : "string"
+                           },
+                           "hastate" : {
+                              "description" : "HA service status (for HA managed VMs).",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "id" : {
+                              "type" : "string"
+                           },
+                           "level" : {
+                              "description" : "Support level (when type == node).",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "maxcpu" : {
+                              "description" : "Number of available CPUs (when type in node,qemu,lxc).",
+                              "optional" : 1,
+                              "type" : "number"
+                           },
+                           "maxdisk" : {
+                              "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
+                              "optional" : 1,
+                              "renderer" : "bytes",
+                              "type" : "integer"
+                           },
+                           "maxmem" : {
+                              "description" : "Number of available memory in bytes (when type in node,qemu,lxc).",
+                              "optional" : 1,
+                              "renderer" : "bytes",
+                              "type" : "integer"
+                           },
+                           "mem" : {
+                              "description" : "Used memory in bytes (when type in node,qemu,lxc).",
+                              "optional" : 1,
+                              "renderer" : "bytes",
+                              "type" : "string"
+                           },
+                           "node" : {
+                              "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
+                              "format" : "pve-node",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "pool" : {
+                              "description" : "The pool name (when type in pool,qemu,lxc).",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "status" : {
+                              "description" : "Resource type dependent status.",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "storage" : {
+                              "description" : "The storage identifier (when type == storage).",
+                              "format" : "pve-storage-id",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "type" : {
+                              "description" : "Resource type.",
+                              "enum" : [
+                                 "node",
+                                 "storage",
+                                 "pool",
+                                 "qemu",
+                                 "lxc",
+                                 "openvz"
+                              ],
+                              "type" : "string"
+                           },
+                           "uptime" : {
+                              "description" : "Node uptime in seconds (when type in node,qemu,lxc).",
+                              "optional" : 1,
+                              "renderer" : "duration",
+                              "type" : "integer"
+                           }
+                        },
                         "type" : "object"
                      },
                      "type" : "array"
@@ -4229,7 +4318,6 @@ var pveapi = [
                      ]
                   },
                   "returns" : {
-                     "properties" : {},
                      "type" : "object"
                   }
                },
@@ -4360,8 +4448,25 @@ var pveapi = [
                         "language" : {
                            "description" : "Default GUI language.",
                            "enum" : [
+                              "zh_CN",
+                              "zh_TW",
+                              "ca",
                               "en",
-                              "de"
+                              "eu",
+                              "fr",
+                              "de",
+                              "it",
+                              "es",
+                              "ja",
+                              "nb",
+                              "nn",
+                              "fa",
+                              "pl",
+                              "pt_BR",
+                              "ru",
+                              "sl",
+                              "sv",
+                              "tr"
                            ],
                            "optional" : 1,
                            "type" : "string"
@@ -7124,228 +7229,343 @@ var pveapi = [
                                     "leaf" : 1,
                                     "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
                                     "text" : "suspend-ram"
-                                 }
-                              ],
-                              "info" : {
-                                 "GET" : {
-                                    "description" : "Qemu Agent command index.",
-                                    "method" : "GET",
-                                    "name" : "index",
-                                    "parameters" : {
-                                       "additionalProperties" : 1,
-                                       "properties" : {
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "Sets the password for the given user to the given password",
+                                          "method" : "POST",
+                                          "name" : "set-user-password",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "crypted" : {
+                                                   "default" : 0,
+                                                   "description" : "set to 1 if the password has already been passed through crypt()",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "password" : {
+                                                   "description" : "The new password.",
+                                                   "maxLength" : 64,
+                                                   "minLength" : 5,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "username" : {
+                                                   "description" : "The user to set the password for.",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
                                           },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
                                           }
                                        }
                                     },
-                                    "permissions" : {
-                                       "user" : "all"
-                                    },
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "description" : "Returns the list of Qemu Agent commands",
-                                       "items" : {
-                                          "properties" : {},
-                                          "type" : "object"
-                                       },
-                                       "links" : [
-                                          {
-                                             "href" : "{name}",
-                                             "rel" : "child"
-                                          }
-                                       ],
-                                       "type" : "array"
-                                    }
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/set-user-password",
+                                    "text" : "set-user-password"
                                  },
-                                 "POST" : {
-                                    "description" : "Execute Qemu Guest Agent commands.",
-                                    "method" : "POST",
-                                    "name" : "agent",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "command" : {
-                                             "description" : "The QGA command.",
-                                             "enum" : [
-                                                "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"
-                                             ],
-                                             "type" : "string"
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
+                                          "method" : "POST",
+                                          "name" : "exec",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "command" : {
+                                                   "description" : "The command as a list of program + arguments",
+                                                   "format" : "string-alist",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
                                           },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
                                           },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "properties" : {
+                                                "pid" : {
+                                                   "description" : "The PID of the process started by the guest-agent.",
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "type" : "object"
                                           }
                                        }
                                     },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Monitor"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "description" : "Returns an object with a single `result` property.",
-                                       "type" : "object"
-                                    }
-                                 }
-                              },
-                              "leaf" : 0,
-                              "path" : "/nodes/{node}/qemu/{vmid}/agent",
-                              "text" : "agent"
-                           },
-                           {
-                              "info" : {
-                                 "GET" : {
-                                    "description" : "Read VM RRD statistics (returns PNG)",
-                                    "method" : "GET",
-                                    "name" : "rrd",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "cf" : {
-                                             "description" : "The RRD consolidation function",
-                                             "enum" : [
-                                                "AVERAGE",
-                                                "MAX"
-                                             ],
-                                             "optional" : 1,
-                                             "type" : "string"
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/exec",
+                                    "text" : "exec"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Gets the status of the given pid started by the guest-agent",
+                                          "method" : "GET",
+                                          "name" : "exec-status",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "pid" : {
+                                                   "description" : "The PID to query",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
                                           },
-                                          "ds" : {
-                                             "description" : "The list of datasources you want to display.",
-                                             "format" : "pve-configid-list",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
                                           },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "properties" : {
+                                                "err-data" : {
+                                                   "description" : "stderr of the process",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "err-truncated" : {
+                                                   "description" : "true if stderr was not fully captured",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "exitcode" : {
+                                                   "description" : "process exit code if it was normally terminated.",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "exited" : {
+                                                   "description" : "Tells if the given command has exited yet.",
+                                                   "type" : "boolean"
+                                                },
+                                                "out-data" : {
+                                                   "description" : "stdout of the process",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "out-truncated" : {
+                                                   "description" : "true if stdout was not fully captured",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "signal" : {
+                                                   "description" : "signal number or exception code if the process was abnormally terminated.",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/exec-status",
+                                    "text" : "exec-status"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
+                                          "method" : "GET",
+                                          "name" : "file-read",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "file" : {
+                                                   "description" : "The path to the file",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
                                           },
-                                          "timeframe" : {
-                                             "description" : "Specify the time frame you are interested in.",
-                                             "enum" : [
-                                                "hour",
-                                                "day",
-                                                "week",
-                                                "month",
-                                                "year"
-                                             ],
-                                             "type" : "string"
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
                                           },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a `content` property.",
+                                             "properties" : {
+                                                "content" : {
+                                                   "description" : "The content of the file, maximum 16777216",
+                                                   "type" : "string"
+                                                },
+                                                "truncated" : {
+                                                   "description" : "If set to 1, the output is truncated and not complete",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                }
+                                             },
+                                             "type" : "object"
                                           }
                                        }
                                     },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Audit"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "returns" : {
-                                       "properties" : {
-                                          "filename" : {
-                                             "type" : "string"
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/file-read",
+                                    "text" : "file-read"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "Writes the given file via guest agent.",
+                                          "method" : "POST",
+                                          "name" : "file-write",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "content" : {
+                                                   "description" : "The content to write into the file.",
+                                                   "maxLength" : 61440,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "file" : {
+                                                   "description" : "The path to the file.",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "type" : "null"
                                           }
-                                       },
-                                       "type" : "object"
-                                    }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/file-write",
+                                    "text" : "file-write"
                                  }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/qemu/{vmid}/rrd",
-                              "text" : "rrd"
-                           },
-                           {
+                              ],
                               "info" : {
                                  "GET" : {
-                                    "description" : "Read VM RRD statistics",
+                                    "description" : "Qemu Agent command index.",
                                     "method" : "GET",
-                                    "name" : "rrddata",
+                                    "name" : "index",
                                     "parameters" : {
-                                       "additionalProperties" : 0,
+                                       "additionalProperties" : 1,
                                        "properties" : {
-                                          "cf" : {
-                                             "description" : "The RRD consolidation function",
-                                             "enum" : [
-                                                "AVERAGE",
-                                                "MAX"
-                                             ],
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
-                                          "timeframe" : {
-                                             "description" : "Specify the time frame you are interested in.",
-                                             "enum" : [
-                                                "hour",
-                                                "day",
-                                                "week",
-                                                "month",
-                                                "year"
-                                             ],
-                                             "type" : "string"
-                                          },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
@@ -7356,15 +7576,221 @@ var pveapi = [
                                        }
                                     },
                                     "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Audit"
-                                          ]
-                                       ]
+                                       "user" : "all"
                                     },
-                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "description" : "Returns the list of Qemu Agent commands",
+                                       "items" : {
+                                          "properties" : {},
+                                          "type" : "object"
+                                       },
+                                       "links" : [
+                                          {
+                                             "href" : "{name}",
+                                             "rel" : "child"
+                                          }
+                                       ],
+                                       "type" : "array"
+                                    }
+                                 },
+                                 "POST" : {
+                                    "description" : "Execute Qemu Guest Agent commands.",
+                                    "method" : "POST",
+                                    "name" : "agent",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "command" : {
+                                             "description" : "The QGA command.",
+                                             "enum" : [
+                                                "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"
+                                             ],
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Monitor"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "description" : "Returns an object with a single `result` property.",
+                                       "type" : "object"
+                                    }
+                                 }
+                              },
+                              "leaf" : 0,
+                              "path" : "/nodes/{node}/qemu/{vmid}/agent",
+                              "text" : "agent"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Read VM RRD statistics (returns PNG)",
+                                    "method" : "GET",
+                                    "name" : "rrd",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "cf" : {
+                                             "description" : "The RRD consolidation function",
+                                             "enum" : [
+                                                "AVERAGE",
+                                                "MAX"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "ds" : {
+                                             "description" : "The list of datasources you want to display.",
+                                             "format" : "pve-configid-list",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "timeframe" : {
+                                             "description" : "Specify the time frame you are interested in.",
+                                             "enum" : [
+                                                "hour",
+                                                "day",
+                                                "week",
+                                                "month",
+                                                "year"
+                                             ],
+                                             "type" : "string"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Audit"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "properties" : {
+                                          "filename" : {
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/qemu/{vmid}/rrd",
+                              "text" : "rrd"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Read VM RRD statistics",
+                                    "method" : "GET",
+                                    "name" : "rrddata",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "cf" : {
+                                             "description" : "The RRD consolidation function",
+                                             "enum" : [
+                                                "AVERAGE",
+                                                "MAX"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "timeframe" : {
+                                             "description" : "Specify the time frame you are interested in.",
+                                             "enum" : [
+                                                "hour",
+                                                "day",
+                                                "week",
+                                                "month",
+                                                "year"
+                                             ],
+                                             "type" : "string"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Audit"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
                                     "returns" : {
                                        "items" : {
                                           "properties" : {},
@@ -7420,64 +7846,50 @@ var pveapi = [
                                     },
                                     "proxyto" : "node",
                                     "returns" : {
-                                       "properties" : {
-                                          "digest" : {
-                                             "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
-                                             "type" : "string"
-                                          }
-                                       },
-                                       "type" : "object"
-                                    }
-                                 },
-                                 "POST" : {
-                                    "description" : "Set virtual machine options (asynchrounous API).",
-                                    "method" : "POST",
-                                    "name" : "update_vm_async",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
+                                       "description" : "The current VM configuration.",
                                        "properties" : {
                                           "acpi" : {
                                              "default" : 1,
                                              "description" : "Enable/disable ACPI.",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "boolean"
                                           },
                                           "agent" : {
-                                             "default" : 0,
-                                             "description" : "Enable/disable Qemu GuestAgent.",
+                                             "description" : "Enable/disable Qemu GuestAgent and its properties.",
+                                             "format" : {
+                                                "enabled" : {
+                                                   "default" : 0,
+                                                   "default_key" : 1,
+                                                   "description" : "Enable/disable Qemu GuestAgent.",
+                                                   "type" : "boolean"
+                                                },
+                                                "fstrim_cloned_disks" : {
+                                                   "default" : 0,
+                                                   "description" : "Run fstrim after cloning/moving a disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "string"
                                           },
                                           "args" : {
                                              "description" : "Arbitrary arguments passed to kvm.",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>",
                                              "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
                                           },
                                           "autostart" : {
                                              "default" : 0,
                                              "description" : "Automatic restart after crash (currently ignored).",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
-                                          },
-                                          "background_delay" : {
-                                             "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
-                                             "maximum" : 30,
-                                             "minimum" : 1,
-                                             "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - 30)"
+                                             "type" : "boolean"
                                           },
                                           "balloon" : {
                                              "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (0 - N)"
+                                             "type" : "integer"
                                           },
                                           "bios" : {
                                              "default" : "seabios",
@@ -7513,8 +7925,7 @@ var pveapi = [
                                           "cipassword" : {
                                              "description" : "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.",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "citype" : {
                                              "description" : "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.",
@@ -7528,16 +7939,14 @@ var pveapi = [
                                           "ciuser" : {
                                              "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "cores" : {
                                              "default" : 1,
                                              "description" : "The number of cores per socket.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                             "type" : "integer"
                                           },
                                           "cpu" : {
                                              "description" : "Emulated CPU type.",
@@ -7594,10 +8003,10 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "flags" : {
-                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
+                                                   "description" : "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'.",
                                                    "format_description" : "+FLAG[;-FLAG...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -7608,8 +8017,7 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
+                                             "type" : "string"
                                           },
                                           "cpulimit" : {
                                              "default" : 0,
@@ -7618,7 +8026,6 @@ var pveapi = [
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "number",
-                                             "typetext" : "<number> (0 - 128)",
                                              "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
                                           },
                                           "cpuunits" : {
@@ -7628,48 +8035,65 @@ var pveapi = [
                                              "minimum" : 2,
                                              "optional" : 1,
                                              "type" : "integer",
-                                             "typetext" : "<integer> (2 - 262144)",
                                              "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
                                           },
-                                          "delete" : {
-                                             "description" : "A list of settings you want to delete.",
-                                             "format" : "pve-configid-list",
-                                             "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
                                           "description" : {
                                              "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "digest" : {
-                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                             "maxLength" : 40,
-                                             "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
+                                             "type" : "string"
                                           },
-                                          "force" : {
-                                             "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
+                                          "efidisk0" : {
+                                             "description" : "Configure a Disk for storing EFI vars",
+                                             "format" : {
+                                                "file" : {
+                                                   "default_key" : 1,
+                                                   "description" : "The drive's backing volume.",
+                                                   "format" : "pve-volume-id-or-qm-path",
+                                                   "format_description" : "volume",
+                                                   "type" : "string"
+                                                },
+                                                "format" : {
+                                                   "description" : "The drive's backing file's data format.",
+                                                   "enum" : [
+                                                      "raw",
+                                                      "cow",
+                                                      "qcow",
+                                                      "qed",
+                                                      "qcow2",
+                                                      "vmdk",
+                                                      "cloop"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "Disk size. This is purely informational and has no effect.",
+                                                   "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "volume" : {
+                                                   "alias" : "file"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "requires" : "delete",
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "string"
                                           },
                                           "freeze" : {
                                              "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "boolean"
                                           },
                                           "hostpci[n]" : {
                                              "description" : "Map host PCI devices into guest.",
                                              "format" : "pve-qm-hostpci",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
                                              "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                                           },
                                           "hotplug" : {
@@ -7677,8 +8101,7 @@ var pveapi = [
                                              "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
                                              "format" : "pve-hotplug-features",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "hugepages" : {
                                              "description" : "Enable/disable hugepages memory.",
@@ -8000,15 +8423,13 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[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>]"
+                                             "type" : "string"
                                           },
                                           "ipconfig[n]" : {
                                              "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
                                              "format" : "pve-qm-ipconfig",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
+                                             "type" : "string"
                                           },
                                           "keyboard" : {
                                              "default" : null,
@@ -8047,14 +8468,12 @@ var pveapi = [
                                              "default" : 1,
                                              "description" : "Enable/disable KVM hardware virtualization.",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "boolean"
                                           },
                                           "localtime" : {
                                              "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "boolean"
                                           },
                                           "lock" : {
                                              "description" : "Lock/unlock the VM.",
@@ -8068,7 +8487,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "machine" : {
-                                             "description" : "Specific the Qemu machine type.",
+                                             "description" : "Specifies the Qemu machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
                                              "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
@@ -8079,38 +8498,33 @@ var pveapi = [
                                              "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
                                              "minimum" : 16,
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (16 - N)"
+                                             "type" : "integer"
                                           },
                                           "migrate_downtime" : {
                                              "default" : 0.1,
                                              "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "number",
-                                             "typetext" : "<number> (0 - N)"
+                                             "type" : "number"
                                           },
                                           "migrate_speed" : {
                                              "default" : 0,
                                              "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (0 - N)"
+                                             "type" : "integer"
                                           },
                                           "name" : {
                                              "description" : "Set a name for the VM. Only used on the configuration web interface.",
                                              "format" : "dns-name",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "nameserver" : {
                                              "description" : "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.",
                                              "format" : "address-list",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "net[n]" : {
                                              "description" : "Specify network devices.",
@@ -8239,21 +8653,13 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[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>]"
-                                          },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "numa" : {
                                              "default" : 0,
                                              "description" : "Enable/disable NUMA.",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "boolean"
                                           },
                                           "numa[n]" : {
                                              "description" : "NUMA topology.",
@@ -8288,15 +8694,13 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
+                                             "type" : "string"
                                           },
                                           "onboot" : {
                                              "default" : 0,
                                              "description" : "Specifies whether a VM will be started during system bootup.",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "boolean"
                                           },
                                           "ostype" : {
                                              "description" : "Specify guest operating system.",
@@ -8329,22 +8733,13 @@ var pveapi = [
                                              "default" : 0,
                                              "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "boolean"
                                           },
                                           "reboot" : {
                                              "default" : 1,
                                              "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
-                                          },
-                                          "revert" : {
-                                             "description" : "Revert a pending change.",
-                                             "format" : "pve-configid-list",
-                                             "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "boolean"
                                           },
                                           "sata[n]" : {
                                              "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
@@ -8648,8 +9043,7 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[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>]"
+                                             "type" : "string"
                                           },
                                           "scsi[n]" : {
                                              "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -8970,8 +9364,7 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[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>]"
+                                             "type" : "string"
                                           },
                                           "scsihw" : {
                                              "default" : "lsi",
@@ -8990,8 +9383,7 @@ var pveapi = [
                                           "searchdomain" : {
                                              "description" : "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.",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "serial[n]" : {
                                              "description" : "Create a serial device inside the VM (n is 0 to 3)",
@@ -9006,45 +9398,34 @@ var pveapi = [
                                              "maximum" : 50000,
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (0 - 50000)"
-                                          },
-                                          "skiplock" : {
-                                             "description" : "Ignore locks - only root is allowed to use this option.",
-                                             "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "integer"
                                           },
                                           "smbios1" : {
                                              "description" : "Specify SMBIOS type 1 fields.",
                                              "format" : "pve-qm-smbios1",
                                              "maxLength" : 256,
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
+                                             "type" : "string"
                                           },
                                           "smp" : {
                                              "default" : 1,
                                              "description" : "The number of CPUs. Please use option -sockets instead.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                             "type" : "integer"
                                           },
                                           "sockets" : {
                                              "default" : 1,
                                              "description" : "The number of CPU sockets.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                             "type" : "integer"
                                           },
                                           "sshkeys" : {
                                              "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
                                              "format" : "urlencoded",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "startdate" : {
                                              "default" : "now",
@@ -9066,29 +9447,25 @@ var pveapi = [
                                              "description" : "Enable/disable the USB tablet device.",
                                              "optional" : 1,
                                              "type" : "boolean",
-                                             "typetext" : "<boolean>",
                                              "verbose_description" : "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)."
                                           },
                                           "tdf" : {
                                              "default" : 0,
                                              "description" : "Enable/disable time drift fix.",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "boolean"
                                           },
                                           "template" : {
                                              "default" : 0,
                                              "description" : "Enable/disable Template.",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "boolean"
                                           },
                                           "unused[n]" : {
                                              "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
                                              "format" : "pve-volume-id",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "usb[n]" : {
                                              "description" : "Configure an USB device (n is 0 to 4).",
@@ -9108,31 +9485,30 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
+                                             "type" : "string"
                                           },
                                           "vcpus" : {
                                              "default" : 0,
                                              "description" : "Number of hotplugged vcpus.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                             "type" : "integer"
                                           },
                                           "vga" : {
                                              "description" : "Select the VGA type.",
                                              "enum" : [
-                                                "std",
                                                 "cirrus",
-                                                "vmware",
                                                 "qxl",
+                                                "qxl2",
+                                                "qxl3",
+                                                "qxl4",
                                                 "serial0",
                                                 "serial1",
                                                 "serial2",
                                                 "serial3",
-                                                "qxl2",
-                                                "qxl3",
-                                                "qxl4"
+                                                "std",
+                                                "virtio",
+                                                "vmware"
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
@@ -9445,61 +9821,38 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[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>]"
+                                             "type" : "string"
                                           },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                          "vmgenid" : {
+                                             "default" : "1 (autogenerated)",
+                                             "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
+                                             "format_description" : "UUID",
+                                             "optional" : 1,
+                                             "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
+                                             "type" : "string",
+                                             "verbose_description" : "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.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
                                           },
                                           "vmstatestorage" : {
                                              "description" : "Default storage for VM state volumes/files.",
                                              "format" : "pve-storage-id",
                                              "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "watchdog" : {
                                              "description" : "Create a virtual hardware watchdog device.",
                                              "format" : "pve-qm-watchdog",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
                                              "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
                                           }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Config.Disk",
-                                             "VM.Config.CDROM",
-                                             "VM.Config.CPU",
-                                             "VM.Config.Memory",
-                                             "VM.Config.Network",
-                                             "VM.Config.HWType",
-                                             "VM.Config.Options"
-                                          ],
-                                          "any",
-                                          1
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "optional" : 1,
-                                       "type" : "string"
+                                       },
+                                       "type" : "object"
                                     }
                                  },
-                                 "PUT" : {
-                                    "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
-                                    "method" : "PUT",
-                                    "name" : "update_vm",
+                                 "POST" : {
+                                    "description" : "Set virtual machine options (asynchrounous API).",
+                                    "method" : "POST",
+                                    "name" : "update_vm_async",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
@@ -9511,11 +9864,24 @@ var pveapi = [
                                              "typetext" : "<boolean>"
                                           },
                                           "agent" : {
-                                             "default" : 0,
-                                             "description" : "Enable/disable Qemu GuestAgent.",
+                                             "description" : "Enable/disable Qemu GuestAgent and its properties.",
+                                             "format" : {
+                                                "enabled" : {
+                                                   "default" : 0,
+                                                   "default_key" : 1,
+                                                   "description" : "Enable/disable Qemu GuestAgent.",
+                                                   "type" : "boolean"
+                                                },
+                                                "fstrim_cloned_disks" : {
+                                                   "default" : 0,
+                                                   "description" : "Run fstrim after cloning/moving a disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "string",
+                                             "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
                                           },
                                           "args" : {
                                              "description" : "Arbitrary arguments passed to kvm.",
@@ -9531,6 +9897,14 @@ var pveapi = [
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
+                                          "background_delay" : {
+                                             "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
+                                             "maximum" : 30,
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - 30)"
+                                          },
                                           "balloon" : {
                                              "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
                                              "minimum" : 0,
@@ -9653,10 +10027,10 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "flags" : {
-                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
+                                                   "description" : "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'.",
                                                    "format_description" : "+FLAG[;-FLAG...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -9710,9 +10084,48 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
-                                          "force" : {
-                                             "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
-                                             "optional" : 1,
+                                          "efidisk0" : {
+                                             "description" : "Configure a Disk for storing EFI vars",
+                                             "format" : {
+                                                "file" : {
+                                                   "default_key" : 1,
+                                                   "description" : "The drive's backing volume.",
+                                                   "format" : "pve-volume-id-or-qm-path",
+                                                   "format_description" : "volume",
+                                                   "type" : "string"
+                                                },
+                                                "format" : {
+                                                   "description" : "The drive's backing file's data format.",
+                                                   "enum" : [
+                                                      "raw",
+                                                      "cow",
+                                                      "qcow",
+                                                      "qed",
+                                                      "qcow2",
+                                                      "vmdk",
+                                                      "cloop"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "Disk size. This is purely informational and has no effect.",
+                                                   "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "volume" : {
+                                                   "alias" : "file"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
+                                          },
+                                          "force" : {
+                                             "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
+                                             "optional" : 1,
                                              "requires" : "delete",
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
@@ -10127,7 +10540,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "machine" : {
-                                             "description" : "Specific the Qemu machine type.",
+                                             "description" : "Specifies the Qemu machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
                                              "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
@@ -11181,17 +11594,18 @@ var pveapi = [
                                           "vga" : {
                                              "description" : "Select the VGA type.",
                                              "enum" : [
-                                                "std",
                                                 "cirrus",
-                                                "vmware",
                                                 "qxl",
+                                                "qxl2",
+                                                "qxl3",
+                                                "qxl4",
                                                 "serial0",
                                                 "serial1",
                                                 "serial2",
                                                 "serial3",
-                                                "qxl2",
-                                                "qxl3",
-                                                "qxl4"
+                                                "std",
+                                                "virtio",
+                                                "vmware"
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
@@ -11507,6 +11921,15 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "[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>]"
                                           },
+                                          "vmgenid" : {
+                                             "default" : "1 (autogenerated)",
+                                             "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
+                                             "format_description" : "UUID",
+                                             "optional" : 1,
+                                             "pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
+                                             "type" : "string",
+                                             "verbose_description" : "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.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
+                                          },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
@@ -11551,1061 +11974,866 @@ var pveapi = [
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
-                                       "type" : "null"
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/qemu/{vmid}/config",
-                              "text" : "config"
-                           },
-                           {
-                              "info" : {
-                                 "GET" : {
-                                    "description" : "Get virtual machine configuration, including pending changes.",
-                                    "method" : "GET",
-                                    "name" : "vm_pending",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Audit"
-                                          ]
-                                       ]
-                                    },
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "items" : {
-                                          "properties" : {
-                                             "delete" : {
-                                                "description" : "Indicates a pending delete request if present and not 0. The value 2 indicates a force-delete request.",
-                                                "maximum" : 2,
-                                                "minimum" : 0,
-                                                "optional" : 1,
-                                                "type" : "integer"
-                                             },
-                                             "key" : {
-                                                "description" : "Configuration option name.",
-                                                "type" : "string"
-                                             },
-                                             "pending" : {
-                                                "description" : "Pending value.",
-                                                "optional" : 1,
-                                                "type" : "string"
-                                             },
-                                             "value" : {
-                                                "description" : "Current value.",
-                                                "optional" : 1,
-                                                "type" : "string"
-                                             }
-                                          },
-                                          "type" : "object"
-                                       },
-                                       "type" : "array"
+                                       "optional" : 1,
+                                       "type" : "string"
                                     }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/qemu/{vmid}/pending",
-                              "text" : "pending"
-                           },
-                           {
-                              "info" : {
+                                 },
                                  "PUT" : {
-                                    "description" : "Unlink/delete disk images.",
+                                    "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
                                     "method" : "PUT",
-                                    "name" : "unlink",
+                                    "name" : "update_vm",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
-                                          "force" : {
-                                             "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
+                                          "acpi" : {
+                                             "default" : 1,
+                                             "description" : "Enable/disable ACPI.",
                                              "optional" : 1,
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
-                                          "idlist" : {
-                                             "description" : "A list of disk IDs you want to delete.",
-                                             "format" : "pve-configid-list",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
+                                          "agent" : {
+                                             "description" : "Enable/disable Qemu GuestAgent and its properties.",
+                                             "format" : {
+                                                "enabled" : {
+                                                   "default" : 0,
+                                                   "default_key" : 1,
+                                                   "description" : "Enable/disable Qemu GuestAgent.",
+                                                   "type" : "boolean"
+                                                },
+                                                "fstrim_cloned_disks" : {
+                                                   "default" : 0,
+                                                   "description" : "Run fstrim after cloning/moving a disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                }
+                                             },
+                                             "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
                                           },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Config.Disk"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "type" : "null"
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/qemu/{vmid}/unlink",
-                              "text" : "unlink"
-                           },
-                           {
-                              "info" : {
-                                 "POST" : {
-                                    "description" : "Creates a TCP VNC proxy connections.",
-                                    "method" : "POST",
-                                    "name" : "vncproxy",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
+                                          "args" : {
+                                             "description" : "Arbitrary arguments passed to kvm.",
+                                             "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                             "typetext" : "<string>",
+                                             "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
                                           },
-                                          "websocket" : {
-                                             "description" : "starts websockify instead of vncproxy",
+                                          "autostart" : {
+                                             "default" : 0,
+                                             "description" : "Automatic restart after crash (currently ignored).",
                                              "optional" : 1,
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Console"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "returns" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "cert" : {
-                                             "type" : "string"
                                           },
-                                          "port" : {
-                                             "type" : "integer"
+                                          "balloon" : {
+                                             "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
-                                          "ticket" : {
+                                          "bios" : {
+                                             "default" : "seabios",
+                                             "description" : "Select BIOS implementation.",
+                                             "enum" : [
+                                                "seabios",
+                                                "ovmf"
+                                             ],
+                                             "optional" : 1,
                                              "type" : "string"
                                           },
-                                          "upid" : {
-                                             "type" : "string"
+                                          "boot" : {
+                                             "default" : "cdn",
+                                             "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
+                                             "optional" : 1,
+                                             "pattern" : "[acdn]{1,4}",
+                                             "type" : "string"
                                           },
-                                          "user" : {
+                                          "bootdisk" : {
+                                             "description" : "Enable booting from specified disk.",
+                                             "format" : "pve-qm-bootdisk",
+                                             "optional" : 1,
+                                             "pattern" : "(ide|sata|scsi|virtio)\\d+",
                                              "type" : "string"
-                                          }
-                                       }
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
-                              "text" : "vncproxy"
-                           },
-                           {
-                              "info" : {
-                                 "POST" : {
-                                    "description" : "Creates a TCP proxy connections.",
-                                    "method" : "POST",
-                                    "name" : "termproxy",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
+                                          },
+                                          "cdrom" : {
+                                             "description" : "This is an alias for option -ide2",
+                                             "format" : "pve-qm-ide",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<volume>"
+                                          },
+                                          "cipassword" : {
+                                             "description" : "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.",
+                                             "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
-                                          "serial" : {
-                                             "description" : "opens a serial terminal (defaults to display)",
+                                          "citype" : {
+                                             "description" : "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.",
                                              "enum" : [
-                                                "serial0",
-                                                "serial1",
-                                                "serial2",
-                                                "serial3"
+                                                "configdrive2",
+                                                "nocloud"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
                                           },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
+                                          "ciuser" : {
+                                             "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "cores" : {
+                                             "default" : 1,
+                                             "description" : "The number of cores per socket.",
                                              "minimum" : 1,
+                                             "optional" : 1,
                                              "type" : "integer",
                                              "typetext" : "<integer> (1 - N)"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Console"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "returns" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "port" : {
-                                             "type" : "integer"
                                           },
-                                          "ticket" : {
-                                             "type" : "string"
+                                          "cpu" : {
+                                             "description" : "Emulated CPU type.",
+                                             "format" : {
+                                                "cputype" : {
+                                                   "default" : "kvm64",
+                                                   "default_key" : 1,
+                                                   "description" : "Emulated CPU type.",
+                                                   "enum" : [
+                                                      "486",
+                                                      "athlon",
+                                                      "Broadwell",
+                                                      "Broadwell-IBRS",
+                                                      "Broadwell-noTSX",
+                                                      "Broadwell-noTSX-IBRS",
+                                                      "Conroe",
+                                                      "core2duo",
+                                                      "coreduo",
+                                                      "EPYC",
+                                                      "EPYC-IBPB",
+                                                      "Haswell",
+                                                      "Haswell-IBRS",
+                                                      "Haswell-noTSX",
+                                                      "Haswell-noTSX-IBRS",
+                                                      "host",
+                                                      "IvyBridge",
+                                                      "IvyBridge-IBRS",
+                                                      "kvm32",
+                                                      "kvm64",
+                                                      "max",
+                                                      "Nehalem",
+                                                      "Nehalem-IBRS",
+                                                      "Opteron_G1",
+                                                      "Opteron_G2",
+                                                      "Opteron_G3",
+                                                      "Opteron_G4",
+                                                      "Opteron_G5",
+                                                      "Penryn",
+                                                      "pentium",
+                                                      "pentium2",
+                                                      "pentium3",
+                                                      "phenom",
+                                                      "qemu32",
+                                                      "qemu64",
+                                                      "SandyBridge",
+                                                      "SandyBridge-IBRS",
+                                                      "Skylake-Client",
+                                                      "Skylake-Client-IBRS",
+                                                      "Skylake-Server",
+                                                      "Skylake-Server-IBRS",
+                                                      "Westmere",
+                                                      "Westmere-IBRS"
+                                                   ],
+                                                   "type" : "string"
+                                                },
+                                                "flags" : {
+                                                   "description" : "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'.",
+                                                   "format_description" : "+FLAG[;-FLAG...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
+                                                   "type" : "string"
+                                                },
+                                                "hidden" : {
+                                                   "default" : 0,
+                                                   "description" : "Do not identify as a KVM virtual machine.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
                                           },
-                                          "upid" : {
-                                             "type" : "string"
+                                          "cpulimit" : {
+                                             "default" : 0,
+                                             "description" : "Limit of CPU usage.",
+                                             "maximum" : 128,
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - 128)",
+                                             "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
                                           },
-                                          "user" : {
-                                             "type" : "string"
-                                          }
-                                       }
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
-                              "text" : "termproxy"
-                           },
-                           {
-                              "info" : {
-                                 "GET" : {
-                                    "description" : "Opens a weksocket for VNC traffic.",
-                                    "method" : "GET",
-                                    "name" : "vncwebsocket",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
+                                          "cpuunits" : {
+                                             "default" : 1024,
+                                             "description" : "CPU weight for a VM.",
+                                             "maximum" : 262144,
+                                             "minimum" : 2,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (2 - 262144)",
+                                             "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
+                                          },
+                                          "delete" : {
+                                             "description" : "A list of settings you want to delete.",
+                                             "format" : "pve-configid-list",
+                                             "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
-                                          "port" : {
-                                             "description" : "Port number returned by previous vncproxy call.",
-                                             "maximum" : 5999,
-                                             "minimum" : 5900,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (5900 - 5999)"
-                                          },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
+                                          "description" : {
+                                             "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
-                                          "vncticket" : {
-                                             "description" : "Ticket from previous call to vncproxy.",
-                                             "maxLength" : 512,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Console"
-                                          ]
-                                       ],
-                                       "description" : "You also need to pass a valid ticket (vncticket)."
-                                    },
-                                    "returns" : {
-                                       "properties" : {
-                                          "port" : {
-                                             "type" : "string"
-                                          }
-                                       },
-                                       "type" : "object"
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/qemu/{vmid}/vncwebsocket",
-                              "text" : "vncwebsocket"
-                           },
-                           {
-                              "info" : {
-                                 "POST" : {
-                                    "description" : "Returns a SPICE configuration to connect to the VM.",
-                                    "method" : "POST",
-                                    "name" : "spiceproxy",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
+                                          "digest" : {
+                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
-                                          "proxy" : {
-                                             "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
-                                             "format" : "address",
+                                          "efidisk0" : {
+                                             "description" : "Configure a Disk for storing EFI vars",
+                                             "format" : {
+                                                "file" : {
+                                                   "default_key" : 1,
+                                                   "description" : "The drive's backing volume.",
+                                                   "format" : "pve-volume-id-or-qm-path",
+                                                   "format_description" : "volume",
+                                                   "type" : "string"
+                                                },
+                                                "format" : {
+                                                   "description" : "The drive's backing file's data format.",
+                                                   "enum" : [
+                                                      "raw",
+                                                      "cow",
+                                                      "qcow",
+                                                      "qed",
+                                                      "qcow2",
+                                                      "vmdk",
+                                                      "cloop"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "Disk size. This is purely informational and has no effect.",
+                                                   "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "volume" : {
+                                                   "alias" : "file"
+                                                }
+                                             },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "<string>"
+                                             "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
                                           },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - N)"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
-                                          [
-                                             "VM.Console"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "additionalProperties" : 1,
-                                       "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
-                                       "properties" : {
-                                          "host" : {
-                                             "type" : "string"
+                                          "force" : {
+                                             "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
+                                             "optional" : 1,
+                                             "requires" : "delete",
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
-                                          "password" : {
-                                             "type" : "string"
+                                          "freeze" : {
+                                             "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
-                                          "proxy" : {
-                                             "type" : "string"
+                                          "hostpci[n]" : {
+                                             "description" : "Map host PCI devices into guest.",
+                                             "format" : "pve-qm-hostpci",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
+                                             "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                                           },
-                                          "tls-port" : {
-                                             "type" : "integer"
+                                          "hotplug" : {
+                                             "default" : "network,disk,usb",
+                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
+                                             "format" : "pve-hotplug-features",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
-                                          "type" : {
+                                          "hugepages" : {
+                                             "description" : "Enable/disable hugepages memory.",
+                                             "enum" : [
+                                                "any",
+                                                "2",
+                                                "1024"
+                                             ],
+                                             "optional" : 1,
                                              "type" : "string"
-                                          }
-                                       }
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/qemu/{vmid}/spiceproxy",
-                              "text" : "spiceproxy"
-                           },
-                           {
-                              "children" : [
-                                 {
-                                    "info" : {
-                                       "GET" : {
-                                          "description" : "Get virtual machine status.",
-                                          "method" : "GET",
-                                          "name" : "vm_status",
-                                          "parameters" : {
-                                             "additionalProperties" : 0,
-                                             "properties" : {
-                                                "node" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
-                                                },
-                                                "vmid" : {
-                                                   "description" : "The (unique) ID of the VM.",
-                                                   "format" : "pve-vmid",
-                                                   "minimum" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (1 - N)"
-                                                }
-                                             }
-                                          },
-                                          "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/vms/{vmid}",
-                                                [
-                                                   "VM.Audit"
-                                                ]
-                                             ]
                                           },
-                                          "protected" : 1,
-                                          "proxyto" : "node",
-                                          "returns" : {
-                                             "type" : "object"
-                                          }
-                                       }
-                                    },
-                                    "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/status/current",
-                                    "text" : "current"
-                                 },
-                                 {
-                                    "info" : {
-                                       "POST" : {
-                                          "description" : "Start virtual machine.",
-                                          "method" : "POST",
-                                          "name" : "vm_start",
-                                          "parameters" : {
-                                             "additionalProperties" : 0,
-                                             "properties" : {
-                                                "machine" : {
-                                                   "description" : "Specific the Qemu machine type.",
-                                                   "maxLength" : 40,
+                                          "ide[n]" : {
+                                             "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
+                                             "format" : {
+                                                "aio" : {
+                                                   "description" : "AIO type to use.",
+                                                   "enum" : [
+                                                      "native",
+                                                      "threads"
+                                                   ],
                                                    "optional" : 1,
-                                                   "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
                                                    "type" : "string"
                                                 },
-                                                "migratedfrom" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
+                                                "backup" : {
+                                                   "description" : "Whether the drive should be included when making backups.",
                                                    "optional" : 1,
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "type" : "boolean"
                                                 },
-                                                "migration_network" : {
-                                                   "description" : "CIDR of the (sub) network that is used for migration.",
-                                                   "format" : "CIDR",
+                                                "bps" : {
+                                                   "description" : "Maximum r/w speed in bytes per second.",
+                                                   "format_description" : "bps",
                                                    "optional" : 1,
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "type" : "integer"
                                                 },
-                                                "migration_type" : {
-                                                   "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
-                                                   "enum" : [
-                                                      "secure",
-                                                      "insecure"
-                                                   ],
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
                                                    "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "node" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "type" : "integer"
                                                 },
-                                                "skiplock" : {
-                                                   "description" : "Ignore locks - only root is allowed to use this option.",
+                                                "bps_rd" : {
+                                                   "description" : "Maximum read speed in bytes per second.",
+                                                   "format_description" : "bps",
                                                    "optional" : 1,
-                                                   "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "type" : "integer"
                                                 },
-                                                "stateuri" : {
-                                                   "description" : "Some command save/restore state from this location.",
-                                                   "maxLength" : 128,
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
                                                    "optional" : 1,
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "type" : "integer"
                                                 },
-                                                "targetstorage" : {
-                                                   "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
+                                                "bps_wr" : {
+                                                   "description" : "Maximum write speed in bytes per second.",
+                                                   "format_description" : "bps",
                                                    "optional" : 1,
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "type" : "integer"
                                                 },
-                                                "vmid" : {
-                                                   "description" : "The (unique) ID of the VM.",
-                                                   "format" : "pve-vmid",
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
                                                    "minimum" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (1 - N)"
-                                                }
-                                             }
-                                          },
-                                          "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/vms/{vmid}",
-                                                [
-                                                   "VM.PowerMgmt"
-                                                ]
-                                             ]
-                                          },
-                                          "protected" : 1,
-                                          "proxyto" : "node",
-                                          "returns" : {
-                                             "type" : "string"
-                                          }
-                                       }
-                                    },
-                                    "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/status/start",
-                                    "text" : "start"
-                                 },
-                                 {
-                                    "info" : {
-                                       "POST" : {
-                                          "description" : "Stop virtual machine. The qemu process will exit immediately. Thisis akin to pulling the power plug of a running computer and may damage the VM data",
-                                          "method" : "POST",
-                                          "name" : "vm_stop",
-                                          "parameters" : {
-                                             "additionalProperties" : 0,
-                                             "properties" : {
-                                                "keepActive" : {
-                                                   "default" : 0,
-                                                   "description" : "Do not deactivate storage volumes.",
                                                    "optional" : 1,
-                                                   "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "type" : "integer"
                                                 },
-                                                "migratedfrom" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
+                                                "cache" : {
+                                                   "description" : "The drive's cache mode",
+                                                   "enum" : [
+                                                      "none",
+                                                      "writethrough",
+                                                      "writeback",
+                                                      "unsafe",
+                                                      "directsync"
+                                                   ],
                                                    "optional" : 1,
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "type" : "string"
                                                 },
-                                                "node" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                "cyls" : {
+                                                   "description" : "Force the drive's physical geometry to have a specific cylinder count.",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
                                                 },
-                                                "skiplock" : {
-                                                   "description" : "Ignore locks - only root is allowed to use this option.",
+                                                "detect_zeroes" : {
+                                                   "description" : "Controls whether to detect and try to optimize writes of zeroes.",
                                                    "optional" : 1,
-                                                   "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "type" : "boolean"
                                                 },
-                                                "timeout" : {
-                                                   "description" : "Wait maximal timeout seconds.",
-                                                   "minimum" : 0,
+                                                "discard" : {
+                                                   "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
+                                                   "enum" : [
+                                                      "ignore",
+                                                      "on"
+                                                   ],
                                                    "optional" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (0 - N)"
+                                                   "type" : "string"
                                                 },
-                                                "vmid" : {
-                                                   "description" : "The (unique) ID of the VM.",
-                                                   "format" : "pve-vmid",
-                                                   "minimum" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (1 - N)"
-                                                }
-                                             }
-                                          },
-                                          "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/vms/{vmid}",
-                                                [
-                                                   "VM.PowerMgmt"
-                                                ]
-                                             ]
-                                          },
-                                          "protected" : 1,
-                                          "proxyto" : "node",
-                                          "returns" : {
-                                             "type" : "string"
-                                          }
-                                       }
-                                    },
-                                    "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/status/stop",
-                                    "text" : "stop"
-                                 },
-                                 {
-                                    "info" : {
-                                       "POST" : {
-                                          "description" : "Reset virtual machine.",
-                                          "method" : "POST",
-                                          "name" : "vm_reset",
-                                          "parameters" : {
-                                             "additionalProperties" : 0,
-                                             "properties" : {
-                                                "node" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                "file" : {
+                                                   "default_key" : 1,
+                                                   "description" : "The drive's backing volume.",
+                                                   "format" : "pve-volume-id-or-qm-path",
+                                                   "format_description" : "volume",
+                                                   "type" : "string"
                                                 },
-                                                "skiplock" : {
-                                                   "description" : "Ignore locks - only root is allowed to use this option.",
+                                                "format" : {
+                                                   "description" : "The drive's backing file's data format.",
+                                                   "enum" : [
+                                                      "raw",
+                                                      "cow",
+                                                      "qcow",
+                                                      "qed",
+                                                      "qcow2",
+                                                      "vmdk",
+                                                      "cloop"
+                                                   ],
                                                    "optional" : 1,
-                                                   "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "type" : "string"
                                                 },
-                                                "vmid" : {
-                                                   "description" : "The (unique) ID of the VM.",
-                                                   "format" : "pve-vmid",
-                                                   "minimum" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (1 - N)"
-                                                }
-                                             }
-                                          },
-                                          "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/vms/{vmid}",
-                                                [
-                                                   "VM.PowerMgmt"
-                                                ]
-                                             ]
-                                          },
-                                          "protected" : 1,
-                                          "proxyto" : "node",
-                                          "returns" : {
-                                             "type" : "string"
-                                          }
-                                       }
-                                    },
-                                    "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/status/reset",
-                                    "text" : "reset"
-                                 },
-                                 {
-                                    "info" : {
-                                       "POST" : {
-                                          "description" : "Shutdown virtual machine. This is similar to pressing the power button on a physical machine.This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.",
-                                          "method" : "POST",
-                                          "name" : "vm_shutdown",
-                                          "parameters" : {
-                                             "additionalProperties" : 0,
-                                             "properties" : {
-                                                "forceStop" : {
-                                                   "default" : 0,
-                                                   "description" : "Make sure the VM stops.",
+                                                "heads" : {
+                                                   "description" : "Force the drive's physical geometry to have a specific head count.",
                                                    "optional" : 1,
-                                                   "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "type" : "integer"
                                                 },
-                                                "keepActive" : {
-                                                   "default" : 0,
-                                                   "description" : "Do not deactivate storage volumes.",
+                                                "iops" : {
+                                                   "description" : "Maximum r/w I/O in operations per second.",
+                                                   "format_description" : "iops",
                                                    "optional" : 1,
-                                                   "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "type" : "integer"
                                                 },
-                                                "node" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                "iops_max" : {
+                                                   "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
+                                                   "format_description" : "iops",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
                                                 },
-                                                "skiplock" : {
-                                                   "description" : "Ignore locks - only root is allowed to use this option.",
+                                                "iops_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
                                                    "optional" : 1,
-                                                   "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "type" : "integer"
                                                 },
-                                                "timeout" : {
-                                                   "description" : "Wait maximal timeout seconds.",
-                                                   "minimum" : 0,
+                                                "iops_rd" : {
+                                                   "description" : "Maximum read I/O in operations per second.",
+                                                   "format_description" : "iops",
                                                    "optional" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (0 - N)"
+                                                   "type" : "integer"
                                                 },
-                                                "vmid" : {
-                                                   "description" : "The (unique) ID of the VM.",
-                                                   "format" : "pve-vmid",
+                                                "iops_rd_length" : {
+                                                   "alias" : "iops_rd_max_length"
+                                                },
+                                                "iops_rd_max" : {
+                                                   "description" : "Maximum unthrottled read I/O pool in operations per second.",
+                                                   "format_description" : "iops",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "iops_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
                                                    "minimum" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (1 - N)"
-                                                }
-                                             }
-                                          },
-                                          "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/vms/{vmid}",
-                                                [
-                                                   "VM.PowerMgmt"
-                                                ]
-                                             ]
-                                          },
-                                          "protected" : 1,
-                                          "proxyto" : "node",
-                                          "returns" : {
-                                             "type" : "string"
-                                          }
-                                       }
-                                    },
-                                    "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/status/shutdown",
-                                    "text" : "shutdown"
-                                 },
-                                 {
-                                    "info" : {
-                                       "POST" : {
-                                          "description" : "Suspend virtual machine.",
-                                          "method" : "POST",
-                                          "name" : "vm_suspend",
-                                          "parameters" : {
-                                             "additionalProperties" : 0,
-                                             "properties" : {
-                                                "node" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                   "optional" : 1,
+                                                   "type" : "integer"
                                                 },
-                                                "skiplock" : {
-                                                   "description" : "Ignore locks - only root is allowed to use this option.",
+                                                "iops_wr" : {
+                                                   "description" : "Maximum write I/O in operations per second.",
+                                                   "format_description" : "iops",
                                                    "optional" : 1,
-                                                   "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "type" : "integer"
                                                 },
-                                                "vmid" : {
-                                                   "description" : "The (unique) ID of the VM.",
-                                                   "format" : "pve-vmid",
+                                                "iops_wr_length" : {
+                                                   "alias" : "iops_wr_max_length"
+                                                },
+                                                "iops_wr_max" : {
+                                                   "description" : "Maximum unthrottled write I/O pool in operations per second.",
+                                                   "format_description" : "iops",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "iops_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
                                                    "minimum" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (1 - N)"
-                                                }
-                                             }
-                                          },
-                                          "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/vms/{vmid}",
-                                                [
-                                                   "VM.PowerMgmt"
-                                                ]
-                                             ]
-                                          },
-                                          "protected" : 1,
-                                          "proxyto" : "node",
-                                          "returns" : {
-                                             "type" : "string"
-                                          }
-                                       }
-                                    },
-                                    "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/status/suspend",
-                                    "text" : "suspend"
-                                 },
-                                 {
-                                    "info" : {
-                                       "POST" : {
-                                          "description" : "Resume virtual machine.",
-                                          "method" : "POST",
-                                          "name" : "vm_resume",
-                                          "parameters" : {
-                                             "additionalProperties" : 0,
-                                             "properties" : {
-                                                "nocheck" : {
                                                    "optional" : 1,
-                                                   "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "type" : "integer"
                                                 },
-                                                "node" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
+                                                "mbps" : {
+                                                   "description" : "Maximum r/w speed in megabytes per second.",
+                                                   "format_description" : "mbps",
+                                                   "optional" : 1,
+                                                   "type" : "number"
                                                 },
-                                                "skiplock" : {
-                                                   "description" : "Ignore locks - only root is allowed to use this option.",
+                                                "mbps_max" : {
+                                                   "description" : "Maximum unthrottled r/w pool in megabytes per second.",
+                                                   "format_description" : "mbps",
+                                                   "optional" : 1,
+                                                   "type" : "number"
+                                                },
+                                                "mbps_rd" : {
+                                                   "description" : "Maximum read speed in megabytes per second.",
+                                                   "format_description" : "mbps",
+                                                   "optional" : 1,
+                                                   "type" : "number"
+                                                },
+                                                "mbps_rd_max" : {
+                                                   "description" : "Maximum unthrottled read pool in megabytes per second.",
+                                                   "format_description" : "mbps",
+                                                   "optional" : 1,
+                                                   "type" : "number"
+                                                },
+                                                "mbps_wr" : {
+                                                   "description" : "Maximum write speed in megabytes per second.",
+                                                   "format_description" : "mbps",
+                                                   "optional" : 1,
+                                                   "type" : "number"
+                                                },
+                                                "mbps_wr_max" : {
+                                                   "description" : "Maximum unthrottled write pool in megabytes per second.",
+                                                   "format_description" : "mbps",
+                                                   "optional" : 1,
+                                                   "type" : "number"
+                                                },
+                                                "media" : {
+                                                   "default" : "disk",
+                                                   "description" : "The drive's media type.",
+                                                   "enum" : [
+                                                      "cdrom",
+                                                      "disk"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "model" : {
+                                                   "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
+                                                   "format" : "urlencoded",
+                                                   "format_description" : "model",
+                                                   "maxLength" : 120,
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Whether the drive should considered for replication jobs.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "rerror" : {
+                                                   "description" : "Read error action.",
+                                                   "enum" : [
+                                                      "ignore",
+                                                      "report",
+                                                      "stop"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "secs" : {
+                                                   "description" : "Force the drive's physical geometry to have a specific sector count.",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "serial" : {
+                                                   "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
+                                                   "format" : "urlencoded",
+                                                   "format_description" : "serial",
+                                                   "maxLength" : 60,
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this locally-managed volume as available on all nodes",
                                                    "optional" : 1,
                                                    "type" : "boolean",
-                                                   "typetext" : "<boolean>"
+                                                   "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
                                                 },
-                                                "vmid" : {
-                                                   "description" : "The (unique) ID of the VM.",
-                                                   "format" : "pve-vmid",
-                                                   "minimum" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (1 - N)"
+                                                "size" : {
+                                                   "description" : "Disk size. This is purely informational and has no effect.",
+                                                   "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "snapshot" : {
+                                                   "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",