]> git.proxmox.com Git - pve-docs.git/blobdiff - api-viewer/apidata.js
run make update
[pve-docs.git] / api-viewer / apidata.js
index 15ae7e0c5219f09dcd93cb1a96c7cdfaea96e5c6..cddb8523fcb9aa60e249322b6f85f9720538747f 100644 (file)
@@ -314,7 +314,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
-                              "description" : "Adds a node to the cluster configuration.",
+                              "description" : "Adds a node to the cluster configuration. This call is for internal use.",
                               "method" : "POST",
                               "name" : "addnode",
                               "parameters" : {
@@ -794,8 +794,70 @@ var pveapi = [
                                     "proxyto" : null,
                                     "returns" : {
                                        "properties" : {
+                                          "action" : {
+                                             "type" : "string"
+                                          },
+                                          "comment" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "dest" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "dport" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "enable" : {
+                                             "optional" : 1,
+                                             "type" : "integer"
+                                          },
+                                          "iface" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "ipversion" : {
+                                             "optional" : 1,
+                                             "type" : "integer"
+                                          },
+                                          "log" : {
+                                             "description" : "Log level for firewall rule",
+                                             "enum" : [
+                                                "emerg",
+                                                "alert",
+                                                "crit",
+                                                "err",
+                                                "warning",
+                                                "notice",
+                                                "info",
+                                                "debug",
+                                                "nolog"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "macro" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "pos" : {
                                              "type" : "integer"
+                                          },
+                                          "proto" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "source" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "sport" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "type" : {
+                                             "type" : "string"
                                           }
                                        },
                                        "type" : "object"
@@ -873,6 +935,22 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "log" : {
+                                             "description" : "Log level for firewall rule.",
+                                             "enum" : [
+                                                "emerg",
+                                                "alert",
+                                                "crit",
+                                                "err",
+                                                "warning",
+                                                "notice",
+                                                "info",
+                                                "debug",
+                                                "nolog"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "macro" : {
                                              "description" : "Use predefined standard macro.",
                                              "maxLength" : 128,
@@ -1088,6 +1166,22 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "log" : {
+                                       "description" : "Log level for firewall rule.",
+                                       "enum" : [
+                                          "emerg",
+                                          "alert",
+                                          "crit",
+                                          "err",
+                                          "warning",
+                                          "notice",
+                                          "info",
+                                          "debug",
+                                          "nolog"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "macro" : {
                                        "description" : "Use predefined standard macro.",
                                        "maxLength" : 128,
@@ -1324,8 +1418,70 @@ var pveapi = [
                               "proxyto" : null,
                               "returns" : {
                                  "properties" : {
+                                    "action" : {
+                                       "type" : "string"
+                                    },
+                                    "comment" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "dest" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "dport" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "enable" : {
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iface" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "ipversion" : {
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "log" : {
+                                       "description" : "Log level for firewall rule",
+                                       "enum" : [
+                                          "emerg",
+                                          "alert",
+                                          "crit",
+                                          "err",
+                                          "warning",
+                                          "notice",
+                                          "info",
+                                          "debug",
+                                          "nolog"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "macro" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "pos" : {
                                        "type" : "integer"
+                                    },
+                                    "proto" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "source" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "sport" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "type" : {
+                                       "type" : "string"
                                     }
                                  },
                                  "type" : "object"
@@ -1396,6 +1552,22 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "log" : {
+                                       "description" : "Log level for firewall rule.",
+                                       "enum" : [
+                                          "emerg",
+                                          "alert",
+                                          "crit",
+                                          "err",
+                                          "warning",
+                                          "notice",
+                                          "info",
+                                          "debug",
+                                          "nolog"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "macro" : {
                                        "description" : "Use predefined standard macro.",
                                        "maxLength" : 128,
@@ -1565,6 +1737,22 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "log" : {
+                                 "description" : "Log level for firewall rule.",
+                                 "enum" : [
+                                    "emerg",
+                                    "alert",
+                                    "crit",
+                                    "err",
+                                    "warning",
+                                    "notice",
+                                    "info",
+                                    "debug",
+                                    "nolog"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "macro" : {
                                  "description" : "Use predefined standard macro.",
                                  "maxLength" : 128,
@@ -2278,6 +2466,34 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "integer"
                               },
+                              "log_ratelimit" : {
+                                 "description" : "Log ratelimiting settings",
+                                 "format" : {
+                                    "burst" : {
+                                       "default" : 5,
+                                       "description" : "Inital burst of packages which will get logged",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "enable" : {
+                                       "default" : "1",
+                                       "default_key" : 1,
+                                       "description" : "Enable or disable log rate limiting",
+                                       "type" : "boolean"
+                                    },
+                                    "rate" : {
+                                       "default" : "1/second",
+                                       "description" : "Frequency with which the burst bucket gets refilled",
+                                       "format_description" : "rate",
+                                       "optional" : 1,
+                                       "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "policy_in" : {
                                  "description" : "Input policy.",
                                  "enum" : [
@@ -2337,6 +2553,35 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (0 - N)"
                               },
+                              "log_ratelimit" : {
+                                 "description" : "Log ratelimiting settings",
+                                 "format" : {
+                                    "burst" : {
+                                       "default" : 5,
+                                       "description" : "Inital burst of packages which will get logged",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "enable" : {
+                                       "default" : "1",
+                                       "default_key" : 1,
+                                       "description" : "Enable or disable log rate limiting",
+                                       "type" : "boolean"
+                                    },
+                                    "rate" : {
+                                       "default" : "1/second",
+                                       "description" : "Frequency with which the burst bucket gets refilled",
+                                       "format_description" : "rate",
+                                       "optional" : 1,
+                                       "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
+                              },
                               "policy_in" : {
                                  "description" : "Input policy.",
                                  "enum" : [
@@ -3095,7 +3340,7 @@ var pveapi = [
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "node" : {
-                                             "description" : "The cluster node name.",
+                                             "description" : "Target node.",
                                              "format" : "pve-node",
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -3137,7 +3382,7 @@ var pveapi = [
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "node" : {
-                                             "description" : "The cluster node name.",
+                                             "description" : "Target node.",
                                              "format" : "pve-node",
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -3224,7 +3469,58 @@ var pveapi = [
                                     ]
                                  ]
                               },
-                              "returns" : {}
+                              "returns" : {
+                                 "properties" : {
+                                    "comment" : {
+                                       "description" : "Description.",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "digest" : {
+                                       "description" : "Can be used to prevent concurrent modifications.",
+                                       "type" : "string"
+                                    },
+                                    "group" : {
+                                       "description" : "The HA group identifier.",
+                                       "format" : "pve-configid",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "max_relocate" : {
+                                       "description" : "Maximal number of service relocate tries when a service failes to start.",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "max_restart" : {
+                                       "description" : "Maximal number of tries to restart the service on a node after its start failed.",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "sid" : {
+                                       "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
+                                       "format" : "pve-ha-resource-or-vm-id",
+                                       "type" : "string",
+                                       "typetext" : "<type>:<name>"
+                                    },
+                                    "state" : {
+                                       "description" : "Requested resource state.",
+                                       "enum" : [
+                                          "started",
+                                          "stopped",
+                                          "enabled",
+                                          "disabled",
+                                          "ignored"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "type" : {
+                                       "description" : "The type of the resources.",
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
                            },
                            "PUT" : {
                               "description" : "Update resource configuration.",
@@ -4332,35 +4628,35 @@ var pveapi = [
                            "description" : "Set bandwidth/io limits various operations.",
                            "format" : {
                               "clone" : {
-                                 "description" : "bandwidth limit in MiB/s for cloning disks",
+                                 "description" : "bandwidth limit in KiB/s for cloning disks",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "default" : {
-                                 "description" : "default bandwidth limit in MiB/s",
+                                 "description" : "default bandwidth limit in KiB/s",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "migration" : {
-                                 "description" : "bandwidth limit in MiB/s for migrating guests",
+                                 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "move" : {
-                                 "description" : "bandwidth limit in MiB/s for moving disks",
+                                 "description" : "bandwidth limit in KiB/s for moving disks",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "restore" : {
-                                 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
+                                 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
@@ -4407,6 +4703,25 @@ var pveapi = [
                            "optional" : 1,
                            "type" : "string"
                         },
+                        "ha" : {
+                           "description" : "Cluster wide HA settings.",
+                           "format" : {
+                              "shutdown_policy" : {
+                                 "default" : "conditional",
+                                 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. Running HA Services will always get stopped first on shutdown.",
+                                 "enum" : [
+                                    "freeze",
+                                    "failover",
+                                    "conditional"
+                                 ],
+                                 "type" : "string",
+                                 "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes."
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "shutdown_policy=<freeze|failover|conditional>"
+                        },
                         "http_proxy" : {
                            "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
                            "optional" : 1,
@@ -4473,9 +4788,10 @@ var pveapi = [
                         },
                         "mac_prefix" : {
                            "description" : "Prefix for autogenerated MAC addresses.",
+                           "format" : "mac-prefix",
                            "optional" : 1,
-                           "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "max_workers" : {
                            "description" : "Defines how many workers (per node) are maximal started  on actions like 'stopall VMs' or task from the ha-manager.",
@@ -4514,6 +4830,26 @@ var pveapi = [
                            "optional" : 1,
                            "type" : "boolean",
                            "typetext" : "<boolean>"
+                        },
+                        "u2f" : {
+                           "description" : "u2f",
+                           "format" : {
+                              "appid" : {
+                                 "description" : "U2F AppId URL override. Defaults to the origin.",
+                                 "format_description" : "APPID",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "origin" : {
+                                 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
+                                 "format_description" : "URL",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[appid=<APPID>] [,origin=<URL>]"
                         }
                      }
                   },
@@ -4741,8 +5077,70 @@ var pveapi = [
                                                 "proxyto" : null,
                                                 "returns" : {
                                                    "properties" : {
+                                                      "action" : {
+                                                         "type" : "string"
+                                                      },
+                                                      "comment" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "dest" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "dport" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "enable" : {
+                                                         "optional" : 1,
+                                                         "type" : "integer"
+                                                      },
+                                                      "iface" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "ipversion" : {
+                                                         "optional" : 1,
+                                                         "type" : "integer"
+                                                      },
+                                                      "log" : {
+                                                         "description" : "Log level for firewall rule",
+                                                         "enum" : [
+                                                            "emerg",
+                                                            "alert",
+                                                            "crit",
+                                                            "err",
+                                                            "warning",
+                                                            "notice",
+                                                            "info",
+                                                            "debug",
+                                                            "nolog"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "macro" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
                                                       "pos" : {
                                                          "type" : "integer"
+                                                      },
+                                                      "proto" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "source" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "sport" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "type" : {
+                                                         "type" : "string"
                                                       }
                                                    },
                                                    "type" : "object"
@@ -4813,6 +5211,22 @@ var pveapi = [
                                                          "type" : "string",
                                                          "typetext" : "<string>"
                                                       },
+                                                      "log" : {
+                                                         "description" : "Log level for firewall rule.",
+                                                         "enum" : [
+                                                            "emerg",
+                                                            "alert",
+                                                            "crit",
+                                                            "err",
+                                                            "warning",
+                                                            "notice",
+                                                            "info",
+                                                            "debug",
+                                                            "nolog"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
                                                       "macro" : {
                                                          "description" : "Use predefined standard macro.",
                                                          "maxLength" : 128,
@@ -5010,6 +5424,22 @@ var pveapi = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "log" : {
+                                                   "description" : "Log level for firewall rule.",
+                                                   "enum" : [
+                                                      "emerg",
+                                                      "alert",
+                                                      "crit",
+                                                      "err",
+                                                      "warning",
+                                                      "notice",
+                                                      "info",
+                                                      "debug",
+                                                      "nolog"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "macro" : {
                                                    "description" : "Use predefined standard macro.",
                                                    "maxLength" : 128,
@@ -7826,6 +8256,14 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "snapshot" : {
+                                             "description" : "Fetch config values from given snapshot.",
+                                             "format" : "pve-configid",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
@@ -7873,6 +8311,15 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "string"
                                           },
+                                          "arch" : {
+                                             "description" : "Virtual processor architecture. Defaults to the host.",
+                                             "enum" : [
+                                                "x86_64",
+                                                "aarch64"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "args" : {
                                              "description" : "Arbitrary arguments passed to kvm.",
                                              "optional" : 1,
@@ -7922,6 +8369,12 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<volume>"
                                           },
+                                          "cicustom" : {
+                                             "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
+                                             "format" : "pve-qm-cicustom",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "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,
@@ -8014,6 +8467,13 @@ var pveapi = [
                                                    "description" : "Do not identify as a KVM virtual machine.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
+                                                },
+                                                "hv-vendor-id" : {
+                                                   "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
+                                                   "format_description" : "vendor-id",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
@@ -8089,6 +8549,12 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "boolean"
                                           },
+                                          "hookscript" : {
+                                             "description" : "Script that will be executed during various steps in the vms lifetime.",
+                                             "format" : "pve-volume-id",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "hostpci[n]" : {
                                              "description" : "Map host PCI devices into guest.",
                                              "format" : "pve-qm-hostpci",
@@ -8397,6 +8863,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "ssd" : {
+                                                   "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "trans" : {
                                                    "description" : "Force disk geometry bios translation mode.",
                                                    "enum" : [
@@ -8420,6 +8891,13 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
@@ -8431,6 +8909,25 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "string"
                                           },
+                                          "ivshmem" : {
+                                             "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
+                                             "format" : {
+                                                "name" : {
+                                                   "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
+                                                   "format_description" : "string",
+                                                   "optional" : 1,
+                                                   "pattern" : "[a-zA-Z0-9\\-]+",
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "The size of the file in MB.",
+                                                   "minimum" : 1,
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "keyboard" : {
                                              "default" : null,
                                              "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
@@ -8478,10 +8975,15 @@ var pveapi = [
                                           "lock" : {
                                              "description" : "Lock/unlock the VM.",
                                              "enum" : [
-                                                "migrate",
                                                 "backup",
+                                                "clone",
+                                                "create",
+                                                "migrate",
+                                                "rollback",
                                                 "snapshot",
-                                                "rollback"
+                                                "snapshot-delete",
+                                                "suspending",
+                                                "suspended"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -8490,7 +8992,7 @@ var pveapi = [
                                              "description" : "Specifies the Qemu machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
+                                             "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
                                              "type" : "string"
                                           },
                                           "memory" : {
@@ -8575,10 +9077,11 @@ var pveapi = [
                                                 },
                                                 "macaddr" : {
                                                    "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "model" : {
                                                    "default_key" : 1,
@@ -9017,6 +9520,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "ssd" : {
+                                                   "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "trans" : {
                                                    "description" : "Force disk geometry bios translation mode.",
                                                    "enum" : [
@@ -9040,6 +9548,13 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
@@ -9338,6 +9853,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "ssd" : {
+                                                   "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "trans" : {
                                                    "description" : "Force disk geometry bios translation mode.",
                                                    "enum" : [
@@ -9361,6 +9881,13 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
@@ -9495,24 +10022,41 @@ var pveapi = [
                                              "type" : "integer"
                                           },
                                           "vga" : {
-                                             "description" : "Select the VGA type.",
-                                             "enum" : [
-                                                "cirrus",
-                                                "qxl",
-                                                "qxl2",
-                                                "qxl3",
-                                                "qxl4",
-                                                "serial0",
-                                                "serial1",
-                                                "serial2",
-                                                "serial3",
-                                                "std",
-                                                "virtio",
-                                                "vmware"
-                                             ],
+                                             "description" : "Configure the VGA hardware.",
+                                             "format" : {
+                                                "memory" : {
+                                                   "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
+                                                   "maximum" : 512,
+                                                   "minimum" : 4,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "type" : {
+                                                   "default" : "std",
+                                                   "default_key" : 1,
+                                                   "description" : "Select the VGA type.",
+                                                   "enum" : [
+                                                      "cirrus",
+                                                      "qxl",
+                                                      "qxl2",
+                                                      "qxl3",
+                                                      "qxl4",
+                                                      "none",
+                                                      "serial0",
+                                                      "serial1",
+                                                      "serial2",
+                                                      "serial3",
+                                                      "std",
+                                                      "virtio",
+                                                      "vmware"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
+                                             "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                                           },
                                           "virtio[n]" : {
                                              "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
@@ -9883,6 +10427,15 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
                                           },
+                                          "arch" : {
+                                             "description" : "Virtual processor architecture. Defaults to the host.",
+                                             "enum" : [
+                                                "x86_64",
+                                                "aarch64"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "args" : {
                                              "description" : "Arbitrary arguments passed to kvm.",
                                              "optional" : 1,
@@ -9943,6 +10496,13 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<volume>"
                                           },
+                                          "cicustom" : {
+                                             "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
+                                             "format" : "pve-qm-cicustom",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<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,
@@ -10038,11 +10598,18 @@ var pveapi = [
                                                    "description" : "Do not identify as a KVM virtual machine.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
+                                                },
+                                                "hv-vendor-id" : {
+                                                   "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
+                                                   "format_description" : "vendor-id",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
+                                             "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
                                           },
                                           "cpulimit" : {
                                              "default" : 0,
@@ -10136,12 +10703,19 @@ var pveapi = [
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
+                                          "hookscript" : {
+                                             "description" : "Script that will be executed during various steps in the vms lifetime.",
+                                             "format" : "pve-volume-id",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<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>]",
+                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,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" : {
@@ -10446,6 +11020,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "ssd" : {
+                                                   "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "trans" : {
                                                    "description" : "Force disk geometry bios translation mode.",
                                                    "enum" : [
@@ -10469,11 +11048,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "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>]"
+                                             "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>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "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",
@@ -10482,6 +11068,26 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
                                           },
+                                          "ivshmem" : {
+                                             "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
+                                             "format" : {
+                                                "name" : {
+                                                   "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
+                                                   "format_description" : "string",
+                                                   "optional" : 1,
+                                                   "pattern" : "[a-zA-Z0-9\\-]+",
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "The size of the file in MB.",
+                                                   "minimum" : 1,
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "size=<integer> [,name=<string>]"
+                                          },
                                           "keyboard" : {
                                              "default" : null,
                                              "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
@@ -10531,10 +11137,15 @@ var pveapi = [
                                           "lock" : {
                                              "description" : "Lock/unlock the VM.",
                                              "enum" : [
-                                                "migrate",
                                                 "backup",
+                                                "clone",
+                                                "create",
+                                                "migrate",
+                                                "rollback",
                                                 "snapshot",
-                                                "rollback"
+                                                "snapshot-delete",
+                                                "suspending",
+                                                "suspended"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -10543,7 +11154,7 @@ var pveapi = [
                                              "description" : "Specifies the Qemu machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
+                                             "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
                                              "type" : "string"
                                           },
                                           "memory" : {
@@ -10633,10 +11244,11 @@ var pveapi = [
                                                 },
                                                 "macaddr" : {
                                                    "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "model" : {
                                                    "default_key" : 1,
@@ -11094,6 +11706,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "ssd" : {
+                                                   "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "trans" : {
                                                    "description" : "Force disk geometry bios translation mode.",
                                                    "enum" : [
@@ -11117,11 +11734,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "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>]"
+                                             "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>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsi[n]" : {
                                              "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -11416,6 +12040,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "ssd" : {
+                                                   "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "trans" : {
                                                    "description" : "Force disk geometry bios translation mode.",
                                                    "enum" : [
@@ -11439,11 +12068,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "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>]"
+                                             "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>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsihw" : {
                                              "default" : "lsi",
@@ -11592,24 +12228,42 @@ var pveapi = [
                                              "typetext" : "<integer> (1 - N)"
                                           },
                                           "vga" : {
-                                             "description" : "Select the VGA type.",
-                                             "enum" : [
-                                                "cirrus",
-                                                "qxl",
-                                                "qxl2",
-                                                "qxl3",
-                                                "qxl4",
-                                                "serial0",
-                                                "serial1",
-                                                "serial2",
-                                                "serial3",
-                                                "std",
-                                                "virtio",
-                                                "vmware"
-                                             ],
+                                             "description" : "Configure the VGA hardware.",
+                                             "format" : {
+                                                "memory" : {
+                                                   "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
+                                                   "maximum" : 512,
+                                                   "minimum" : 4,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "type" : {
+                                                   "default" : "std",
+                                                   "default_key" : 1,
+                                                   "description" : "Select the VGA type.",
+                                                   "enum" : [
+                                                      "cirrus",
+                                                      "qxl",
+                                                      "qxl2",
+                                                      "qxl3",
+                                                      "qxl4",
+                                                      "none",
+                                                      "serial0",
+                                                      "serial1",
+                                                      "serial2",
+                                                      "serial3",
+                                                      "std",
+                                                      "virtio",
+                                                      "vmware"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
+                                             "typetext" : "[[type=]<enum>] [,memory=<integer>]",
+                                             "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                                           },
                                           "virtio[n]" : {
                                              "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
@@ -12012,6 +12666,15 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
                                           },
+                                          "arch" : {
+                                             "description" : "Virtual processor architecture. Defaults to the host.",
+                                             "enum" : [
+                                                "x86_64",
+                                                "aarch64"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "args" : {
                                              "description" : "Arbitrary arguments passed to kvm.",
                                              "optional" : 1,
@@ -12064,6 +12727,13 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<volume>"
                                           },
+                                          "cicustom" : {
+                                             "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
+                                             "format" : "pve-qm-cicustom",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<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,
@@ -12159,11 +12829,18 @@ var pveapi = [
                                                    "description" : "Do not identify as a KVM virtual machine.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
+                                                },
+                                                "hv-vendor-id" : {
+                                                   "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
+                                                   "format_description" : "vendor-id",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
+                                             "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
                                           },
                                           "cpulimit" : {
                                              "default" : 0,
@@ -12257,12 +12934,19 @@ var pveapi = [
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
+                                          "hookscript" : {
+                                             "description" : "Script that will be executed during various steps in the vms lifetime.",
+                                             "format" : "pve-volume-id",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<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>]",
+                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,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" : {
@@ -12567,6 +13251,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "ssd" : {
+                                                   "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "trans" : {
                                                    "description" : "Force disk geometry bios translation mode.",
                                                    "enum" : [
@@ -12590,11 +13279,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "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>]"
+                                             "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>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "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",
@@ -12603,6 +13299,26 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
                                           },
+                                          "ivshmem" : {
+                                             "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
+                                             "format" : {
+                                                "name" : {
+                                                   "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
+                                                   "format_description" : "string",
+                                                   "optional" : 1,
+                                                   "pattern" : "[a-zA-Z0-9\\-]+",
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "The size of the file in MB.",
+                                                   "minimum" : 1,
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "size=<integer> [,name=<string>]"
+                                          },
                                           "keyboard" : {
                                              "default" : null,
                                              "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
@@ -12652,10 +13368,15 @@ var pveapi = [
                                           "lock" : {
                                              "description" : "Lock/unlock the VM.",
                                              "enum" : [
-                                                "migrate",
                                                 "backup",
+                                                "clone",
+                                                "create",
+                                                "migrate",
+                                                "rollback",
                                                 "snapshot",
-                                                "rollback"
+                                                "snapshot-delete",
+                                                "suspending",
+                                                "suspended"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -12664,7 +13385,7 @@ var pveapi = [
                                              "description" : "Specifies the Qemu machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
+                                             "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
                                              "type" : "string"
                                           },
                                           "memory" : {
@@ -12754,10 +13475,11 @@ var pveapi = [
                                                 },
                                                 "macaddr" : {
                                                    "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "model" : {
                                                    "default_key" : 1,
@@ -13215,6 +13937,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "ssd" : {
+                                                   "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "trans" : {
                                                    "description" : "Force disk geometry bios translation mode.",
                                                    "enum" : [
@@ -13238,11 +13965,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "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>]"
+                                             "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>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsi[n]" : {
                                              "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -13537,6 +14271,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "ssd" : {
+                                                   "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "trans" : {
                                                    "description" : "Force disk geometry bios translation mode.",
                                                    "enum" : [
@@ -13560,11 +14299,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "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>]"
+                                             "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>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsihw" : {
                                              "default" : "lsi",
@@ -13713,24 +14459,42 @@ var pveapi = [
                                              "typetext" : "<integer> (1 - N)"
                                           },
                                           "vga" : {
-                                             "description" : "Select the VGA type.",
-                                             "enum" : [
-                                                "cirrus",
-                                                "qxl",
-                                                "qxl2",
-                                                "qxl3",
-                                                "qxl4",
-                                                "serial0",
-                                                "serial1",
-                                                "serial2",
-                                                "serial3",
-                                                "std",
-                                                "virtio",
-                                                "vmware"
-                                             ],
+                                             "description" : "Configure the VGA hardware.",
+                                             "format" : {
+                                                "memory" : {
+                                                   "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
+                                                   "maximum" : 512,
+                                                   "minimum" : 4,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "type" : {
+                                                   "default" : "std",
+                                                   "default_key" : 1,
+                                                   "description" : "Select the VGA type.",
+                                                   "enum" : [
+                                                      "cirrus",
+                                                      "qxl",
+                                                      "qxl2",
+                                                      "qxl3",
+                                                      "qxl4",
+                                                      "none",
+                                                      "serial0",
+                                                      "serial1",
+                                                      "serial2",
+                                                      "serial3",
+                                                      "std",
+                                                      "virtio",
+                                                      "vmware"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
+                                             "typetext" : "[[type=]<enum>] [,memory=<integer>]",
+                                             "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                                           },
                                           "virtio[n]" : {
                                              "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
@@ -14545,6 +15309,11 @@ var pveapi = [
                                                    "description" : "HA manager service status.",
                                                    "type" : "object"
                                                 },
+                                                "lock" : {
+                                                   "description" : "The current config lock, if any.",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "maxdisk" : {
                                                    "description" : "Root disk size in bytes.",
                                                    "optional" : 1,
@@ -14619,7 +15388,7 @@ var pveapi = [
                                                    "description" : "Specifies the Qemu machine type.",
                                                    "maxLength" : 40,
                                                    "optional" : 1,
-                                                   "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
+                                                   "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
                                                    "type" : "string"
                                                 },
                                                 "migratedfrom" : {
@@ -14912,6 +15681,21 @@ var pveapi = [
                                                    "type" : "boolean",
                                                    "typetext" : "<boolean>"
                                                 },
+                                                "statestorage" : {
+                                                   "description" : "The storage for the VM state",
+                                                   "format" : "pve-storage-id",
+                                                   "optional" : 1,
+                                                   "requires" : "todisk",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "todisk" : {
+                                                   "default" : 0,
+                                                   "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
@@ -15183,6 +15967,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "clone limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
                                           "description" : {
                                              "description" : "Description for the new VM.",
                                              "optional" : 1,
@@ -15315,6 +16107,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "move limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
                                           "delete" : {
                                              "default" : 0,
                                              "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
@@ -15448,6 +16248,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "migrate limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
                                           "force" : {
                                              "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
                                              "optional" : 1,
@@ -16316,6 +17124,11 @@ var pveapi = [
                                     "optional" : 1,
                                     "type" : "number"
                                  },
+                                 "lock" : {
+                                    "description" : "The current config lock, if any.",
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "maxdisk" : {
                                     "description" : "Root disk size in bytes.",
                                     "optional" : 1,
@@ -16409,6 +17222,15 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
                               },
+                              "arch" : {
+                                 "description" : "Virtual processor architecture. Defaults to the host.",
+                                 "enum" : [
+                                    "x86_64",
+                                    "aarch64"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "archive" : {
                                  "description" : "The backup file.",
                                  "maxLength" : 255,
@@ -16462,7 +17284,8 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "bwlimit" : {
-                                 "description" : "Override i/o bandwidth limit (in KiB/s).",
+                                 "default" : "restore limit from datacenter or storage config",
+                                 "description" : "Override I/O bandwidth limit (in KiB/s).",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "integer",
@@ -16475,6 +17298,13 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<volume>"
                               },
+                              "cicustom" : {
+                                 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
+                                 "format" : "pve-qm-cicustom",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<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,
@@ -16570,11 +17400,18 @@ var pveapi = [
                                        "description" : "Do not identify as a KVM virtual machine.",
                                        "optional" : 1,
                                        "type" : "boolean"
+                                    },
+                                    "hv-vendor-id" : {
+                                       "description" : "The Hyper-V vendor ID. Some drivers or programs inside Windows guests need a specific ID.",
+                                       "format_description" : "vendor-id",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:[a-zA-Z0-9]{1,12})",
+                                       "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
+                                 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>] [,hv-vendor-id=<vendor-id>]"
                               },
                               "cpulimit" : {
                                  "default" : 0,
@@ -16654,12 +17491,19 @@ var pveapi = [
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
+                              "hookscript" : {
+                                 "description" : "Script that will be executed during various steps in the vms lifetime.",
+                                 "format" : "pve-volume-id",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<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>]",
+                                 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,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" : {
@@ -16964,6 +17808,11 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "ssd" : {
+                                       "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "trans" : {
                                        "description" : "Force disk geometry bios translation mode.",
                                        "enum" : [
@@ -16987,11 +17836,18 @@ var pveapi = [
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
+                                    },
+                                    "wwn" : {
+                                       "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                       "format_description" : "wwn",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                       "type" : "string"
                                     }
                                  },
                                  "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>]"
+                                 "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>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                               },
                               "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",
@@ -17000,6 +17856,26 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
                               },
+                              "ivshmem" : {
+                                 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
+                                 "format" : {
+                                    "name" : {
+                                       "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
+                                       "format_description" : "string",
+                                       "optional" : 1,
+                                       "pattern" : "[a-zA-Z0-9\\-]+",
+                                       "type" : "string"
+                                    },
+                                    "size" : {
+                                       "description" : "The size of the file in MB.",
+                                       "minimum" : 1,
+                                       "type" : "integer"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "size=<integer> [,name=<string>]"
+                              },
                               "keyboard" : {
                                  "default" : null,
                                  "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
@@ -17049,10 +17925,15 @@ var pveapi = [
                               "lock" : {
                                  "description" : "Lock/unlock the VM.",
                                  "enum" : [
-                                    "migrate",
                                     "backup",
+                                    "clone",
+                                    "create",
+                                    "migrate",
+                                    "rollback",
                                     "snapshot",
-                                    "rollback"
+                                    "snapshot-delete",
+                                    "suspending",
+                                    "suspended"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -17061,7 +17942,7 @@ var pveapi = [
                                  "description" : "Specifies the Qemu machine type.",
                                  "maxLength" : 40,
                                  "optional" : 1,
-                                 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?)",
+                                 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
                                  "type" : "string"
                               },
                               "memory" : {
@@ -17151,10 +18032,11 @@ var pveapi = [
                                     },
                                     "macaddr" : {
                                        "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                       "format" : "mac-addr",
                                        "format_description" : "XX:XX:XX:XX:XX:XX",
                                        "optional" : 1,
-                                       "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                     },
                                     "model" : {
                                        "default_key" : 1,
@@ -17612,6 +18494,11 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "ssd" : {
+                                       "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "trans" : {
                                        "description" : "Force disk geometry bios translation mode.",
                                        "enum" : [
@@ -17635,11 +18522,18 @@ var pveapi = [
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
+                                    },
+                                    "wwn" : {
+                                       "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                       "format_description" : "wwn",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                       "type" : "string"
                                     }
                                  },
                                  "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>]"
+                                 "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>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                               },
                               "scsi[n]" : {
                                  "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -17934,6 +18828,11 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "ssd" : {
+                                       "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "trans" : {
                                        "description" : "Force disk geometry bios translation mode.",
                                        "enum" : [
@@ -17957,11 +18856,18 @@ var pveapi = [
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
+                                    },
+                                    "wwn" : {
+                                       "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                       "format_description" : "wwn",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                       "type" : "string"
                                     }
                                  },
                                  "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>]"
+                                 "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>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                               },
                               "scsihw" : {
                                  "default" : "lsi",
@@ -18125,24 +19031,42 @@ var pveapi = [
                                  "typetext" : "<integer> (1 - N)"
                               },
                               "vga" : {
-                                 "description" : "Select the VGA type.",
-                                 "enum" : [
-                                    "cirrus",
-                                    "qxl",
-                                    "qxl2",
-                                    "qxl3",
-                                    "qxl4",
-                                    "serial0",
-                                    "serial1",
-                                    "serial2",
-                                    "serial3",
-                                    "std",
-                                    "virtio",
-                                    "vmware"
-                                 ],
+                                 "description" : "Configure the VGA hardware.",
+                                 "format" : {
+                                    "memory" : {
+                                       "description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
+                                       "maximum" : 512,
+                                       "minimum" : 4,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "type" : {
+                                       "default" : "std",
+                                       "default_key" : 1,
+                                       "description" : "Select the VGA type.",
+                                       "enum" : [
+                                          "cirrus",
+                                          "qxl",
+                                          "qxl2",
+                                          "qxl3",
+                                          "qxl4",
+                                          "none",
+                                          "serial0",
+                                          "serial1",
+                                          "serial2",
+                                          "serial3",
+                                          "std",
+                                          "virtio",
+                                          "vmware"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You can also run without any graphic card, using a serial device as terminal."
+                                 "typetext" : "[[type=]<enum>] [,memory=<integer>]",
+                                 "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                               },
                               "virtio[n]" : {
                                  "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
@@ -18521,6 +19445,14 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "snapshot" : {
+                                             "description" : "Fetch config values from given snapshot.",
+                                             "format" : "pve-configid",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
@@ -18606,6 +19538,12 @@ var pveapi = [
                                           "features" : {
                                              "description" : "Allow containers access to advanced features.",
                                              "format" : {
+                                                "fuse" : {
+                                                   "default" : 0,
+                                                   "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "keyctl" : {
                                                    "default" : 0,
                                                    "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
@@ -18616,7 +19554,7 @@ var pveapi = [
                                                    "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
                                                    "format_description" : "fstype;fstype;...",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:[a-zA-Z0-9; ]+)",
+                                                   "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
                                                    "type" : "string"
                                                 },
                                                 "nesting" : {
@@ -18629,6 +19567,12 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "string"
                                           },
+                                          "hookscript" : {
+                                             "description" : "Script that will be exectued during various steps in the containers lifetime.",
+                                             "format" : "pve-volume-id",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "hostname" : {
                                              "description" : "Set a host name for the container.",
                                              "format" : "dns-name",
@@ -18767,10 +19711,11 @@ var pveapi = [
                                                 },
                                                 "hwaddr" : {
                                                    "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "ip" : {
                                                    "description" : "IPv4 address in CIDR format.",
@@ -19043,6 +19988,12 @@ var pveapi = [
                                           "features" : {
                                              "description" : "Allow containers access to advanced features.",
                                              "format" : {
+                                                "fuse" : {
+                                                   "default" : 0,
+                                                   "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "keyctl" : {
                                                    "default" : 0,
                                                    "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
@@ -19053,7 +20004,7 @@ var pveapi = [
                                                    "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
                                                    "format_description" : "fstype;fstype;...",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:[a-zA-Z0-9; ]+)",
+                                                   "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
                                                    "type" : "string"
                                                 },
                                                 "nesting" : {
@@ -19065,7 +20016,14 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
+                                             "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
+                                          },
+                                          "hookscript" : {
+                                             "description" : "Script that will be exectued during various steps in the containers lifetime.",
+                                             "format" : "pve-volume-id",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "hostname" : {
                                              "description" : "Set a host name for the container.",
@@ -19198,10 +20156,11 @@ var pveapi = [
                                                 },
                                                 "hwaddr" : {
                                                    "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "ip" : {
                                                    "description" : "IPv4 address in CIDR format.",
@@ -19484,6 +20443,11 @@ var pveapi = [
                                                    "description" : "HA manager service status.",
                                                    "type" : "object"
                                                 },
+                                                "lock" : {
+                                                   "description" : "The current config lock, if any.",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "maxdisk" : {
                                                    "description" : "Root disk size in bytes.",
                                                    "optional" : 1,
@@ -20323,8 +21287,70 @@ var pveapi = [
                                                 "proxyto" : null,
                                                 "returns" : {
                                                    "properties" : {
+                                                      "action" : {
+                                                         "type" : "string"
+                                                      },
+                                                      "comment" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "dest" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "dport" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "enable" : {
+                                                         "optional" : 1,
+                                                         "type" : "integer"
+                                                      },
+                                                      "iface" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "ipversion" : {
+                                                         "optional" : 1,
+                                                         "type" : "integer"
+                                                      },
+                                                      "log" : {
+                                                         "description" : "Log level for firewall rule",
+                                                         "enum" : [
+                                                            "emerg",
+                                                            "alert",
+                                                            "crit",
+                                                            "err",
+                                                            "warning",
+                                                            "notice",
+                                                            "info",
+                                                            "debug",
+                                                            "nolog"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "macro" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
                                                       "pos" : {
                                                          "type" : "integer"
+                                                      },
+                                                      "proto" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "source" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "sport" : {
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "type" : {
+                                                         "type" : "string"
                                                       }
                                                    },
                                                    "type" : "object"
@@ -20395,6 +21421,22 @@ var pveapi = [
                                                          "type" : "string",
                                                          "typetext" : "<string>"
                                                       },
+                                                      "log" : {
+                                                         "description" : "Log level for firewall rule.",
+                                                         "enum" : [
+                                                            "emerg",
+                                                            "alert",
+                                                            "crit",
+                                                            "err",
+                                                            "warning",
+                                                            "notice",
+                                                            "info",
+                                                            "debug",
+                                                            "nolog"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
                                                       "macro" : {
                                                          "description" : "Use predefined standard macro.",
                                                          "maxLength" : 128,
@@ -20592,6 +21634,22 @@ var pveapi = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "log" : {
+                                                   "description" : "Log level for firewall rule.",
+                                                   "enum" : [
+                                                      "emerg",
+                                                      "alert",
+                                                      "crit",
+                                                      "err",
+                                                      "warning",
+                                                      "notice",
+                                                      "info",
+                                                      "debug",
+                                                      "nolog"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "macro" : {
                                                    "description" : "Use predefined standard macro.",
                                                    "maxLength" : 128,
@@ -22329,6 +23387,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "migrate limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - N)"
+                                          },
                                           "force" : {
                                              "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
                                              "optional" : 1,
@@ -22516,6 +23582,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "clone limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - N)"
+                                          },
                                           "description" : {
                                              "description" : "Description for the new CT.",
                                              "optional" : 1,
@@ -22960,6 +24034,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "clone limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - N)"
+                                          },
                                           "delete" : {
                                              "default" : 0,
                                              "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
@@ -23408,6 +24490,11 @@ var pveapi = [
                                     "optional" : 1,
                                     "type" : "number"
                                  },
+                                 "lock" : {
+                                    "description" : "The current config lock, if any.",
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "maxdisk" : {
                                     "description" : "Root disk size in bytes.",
                                     "optional" : 1,
@@ -23483,7 +24570,8 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "bwlimit" : {
-                                 "description" : "Override i/o bandwidth limit (in KiB/s).",
+                                 "default" : "restore limit from datacenter or storage config",
+                                 "description" : "Override I/O bandwidth limit (in KiB/s).",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number",
@@ -23542,6 +24630,12 @@ var pveapi = [
                               "features" : {
                                  "description" : "Allow containers access to advanced features.",
                                  "format" : {
+                                    "fuse" : {
+                                       "default" : 0,
+                                       "description" : "Allow using 'fuse' file systems in a container. Note that interactions between fuse and the freezer cgroup can potentially cause I/O deadlocks.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "keyctl" : {
                                        "default" : 0,
                                        "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
@@ -23552,7 +24646,7 @@ var pveapi = [
                                        "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
                                        "format_description" : "fstype;fstype;...",
                                        "optional" : 1,
-                                       "pattern" : "(?^:[a-zA-Z0-9; ]+)",
+                                       "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
                                        "type" : "string"
                                     },
                                     "nesting" : {
@@ -23564,7 +24658,7 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
+                                 "typetext" : "[fuse=<1|0>] [,keyctl=<1|0>] [,mount=<fstype;fstype;...>] [,nesting=<1|0>]"
                               },
                               "force" : {
                                  "description" : "Allow to overwrite existing container.",
@@ -23572,6 +24666,13 @@ var pveapi = [
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
+                              "hookscript" : {
+                                 "description" : "Script that will be exectued during various steps in the containers lifetime.",
+                                 "format" : "pve-volume-id",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "hostname" : {
                                  "description" : "Set a host name for the container.",
                                  "format" : "dns-name",
@@ -23709,10 +24810,11 @@ var pveapi = [
                                     },
                                     "hwaddr" : {
                                        "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
+                                       "format" : "mac-addr",
                                        "format_description" : "XX:XX:XX:XX:XX:XX",
                                        "optional" : 1,
-                                       "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                     },
                                     "ip" : {
                                        "description" : "IPv4 address in CIDR format.",
@@ -23944,6 +25046,13 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (0 - 6)"
                               },
+                              "unique" : {
+                                 "description" : "Assign a unique random ethernet address.",
+                                 "optional" : 1,
+                                 "requires" : "restore",
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "unprivileged" : {
                                  "default" : 0,
                                  "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
@@ -24208,11 +25317,99 @@ var pveapi = [
                         "text" : "osd"
                      },
                      {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "description" : "Destroy Ceph Metadata Server",
+                                    "method" : "DELETE",
+                                    "name" : "destroymds",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "name" : {
+                                             "description" : "The name (ID) of the mds",
+                                             "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "POST" : {
+                                    "description" : "Create Ceph Metadata Server (MDS)",
+                                    "method" : "POST",
+                                    "name" : "createmds",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "hotstandby" : {
+                                             "default" : "0",
+                                             "description" : "Determines whether a ceph-mds daemon should poll and replay the log of an active MDS. Faster switch on MDS failure, but needs more idle resources.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "name" : {
+                                             "default" : "nodename",
+                                             "description" : "The ID for the mds, when omitted the same as the nodename",
+                                             "optional" : 1,
+                                             "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/ceph/mds/{name}",
+                              "text" : "{name}"
+                           }
+                        ],
                         "info" : {
                            "GET" : {
-                              "description" : "List local disks.",
+                              "description" : "MDS directory index.",
                               "method" : "GET",
-                              "name" : "disks",
+                              "name" : "index",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -24221,15 +25418,6 @@ var pveapi = [
                                        "format" : "pve-node",
                                        "type" : "string",
                                        "typetext" : "<string>"
-                                    },
-                                    "type" : {
-                                       "description" : "Only list specific types of disks.",
-                                       "enum" : [
-                                          "unused",
-                                          "journal_disks"
-                                       ],
-                                       "optional" : 1,
-                                       "type" : "string"
                                     }
                                  }
                               },
@@ -24250,51 +25438,191 @@ var pveapi = [
                               "returns" : {
                                  "items" : {
                                     "properties" : {
-                                       "dev" : {
+                                       "addr" : {
+                                          "optional" : 1,
                                           "type" : "string"
                                        },
-                                       "gpt" : {
-                                          "type" : "boolean"
-                                       },
-                                       "model" : {
+                                       "host" : {
                                           "optional" : 1,
                                           "type" : "string"
                                        },
-                                       "osdid" : {
-                                          "type" : "integer"
+                                       "name" : {
+                                          "description" : "The name (ID) for the MDS"
                                        },
-                                       "serial" : {
+                                       "rank" : {
                                           "optional" : 1,
-                                          "type" : "string"
-                                       },
-                                       "size" : {
                                           "type" : "integer"
                                        },
-                                       "used" : {
+                                       "standby_replay" : {
+                                          "description" : "If true, the standby MDS is polling the active MDS for faster recovery (hot standby).",
                                           "optional" : 1,
-                                          "type" : "string"
+                                          "type" : "boolean"
                                        },
-                                       "vendor" : {
-                                          "optional" : 1,
+                                       "state" : {
+                                          "description" : "State of the MDS",
                                           "type" : "string"
                                        }
                                     },
                                     "type" : "object"
                                  },
+                                 "links" : [
+                                    {
+                                       "href" : "{name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
                                  "type" : "array"
                               }
                            }
                         },
-                        "leaf" : 1,
-                        "path" : "/nodes/{node}/ceph/disks",
-                        "text" : "disks"
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/mds",
+                        "text" : "mds"
+                     },
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "description" : "Destroy Ceph Manager.",
+                                    "method" : "DELETE",
+                                    "name" : "destroymgr",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "id" : {
+                                             "description" : "The ID of the manager",
+                                             "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/ceph/mgr/{id}",
+                              "text" : "{id}"
+                           }
+                        ],
+                        "info" : {
+                           "POST" : {
+                              "description" : "Create Ceph Manager",
+                              "method" : "POST",
+                              "name" : "createmgr",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "id" : {
+                                       "description" : "The ID for the manager, when omitted the same as the nodename",
+                                       "optional" : 1,
+                                       "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
+                                       "type" : "string"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/mgr",
+                        "text" : "mgr"
                      },
                      {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "description" : "Destroy Ceph Monitor and Manager.",
+                                    "method" : "DELETE",
+                                    "name" : "destroymon",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "exclude-manager" : {
+                                             "default" : 0,
+                                             "description" : "When set, removes only the monitor, not the manager",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "monid" : {
+                                             "description" : "Monitor ID",
+                                             "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/ceph/mon/{monid}",
+                              "text" : "{monid}"
+                           }
+                        ],
                         "info" : {
                            "GET" : {
-                              "description" : "Get Ceph configuration.",
+                              "description" : "Get Ceph monitor list.",
                               "method" : "GET",
-                              "name" : "config",
+                              "name" : "listmon",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -24318,43 +25646,123 @@ var pveapi = [
                                     1
                                  ]
                               },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "addr" : {
+                                          "type" : "string"
+                                       },
+                                       "name" : {
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
+                              }
+                           },
+                           "POST" : {
+                              "description" : "Create Ceph Monitor and Manager",
+                              "method" : "POST",
+                              "name" : "createmon",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "exclude-manager" : {
+                                       "default" : 0,
+                                       "description" : "When set, only a monitor will be created.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "id" : {
+                                       "description" : "The ID for the monitor, when omitted the same as the nodename",
+                                       "optional" : 1,
+                                       "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
+                                       "type" : "string"
+                                    },
+                                    "mon-address" : {
+                                       "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
+                                       "format" : "ip",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
                               "returns" : {
                                  "type" : "string"
                               }
                            }
                         },
-                        "leaf" : 1,
-                        "path" : "/nodes/{node}/ceph/config",
-                        "text" : "config"
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/mon",
+                        "text" : "mon"
                      },
                      {
                         "children" : [
                            {
                               "info" : {
-                                 "DELETE" : {
-                                    "description" : "Destroy Ceph Monitor and Manager.",
-                                    "method" : "DELETE",
-                                    "name" : "destroymon",
+                                 "POST" : {
+                                    "description" : "Create a Ceph filesystem",
+                                    "method" : "POST",
+                                    "name" : "createfs",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
-                                          "exclude-manager" : {
+                                          "add-storage" : {
                                              "default" : 0,
-                                             "description" : "When set, removes only the monitor, not the manager",
+                                             "description" : "Configure the created CephFS as storage for this cluster.",
                                              "optional" : 1,
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
-                                          "monid" : {
-                                             "description" : "Monitor ID",
-                                             "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
-                                             "type" : "string"
+                                          "name" : {
+                                             "default" : "cephfs",
+                                             "description" : "The ceph filesystem name.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
                                              "type" : "string",
                                              "typetext" : "<string>"
+                                          },
+                                          "pg_num" : {
+                                             "default" : 128,
+                                             "description" : "Number of placement groups for the backing data pool. The metadata pool will use a quarter of this.",
+                                             "maximum" : 32768,
+                                             "minimum" : 8,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (8 - 32768)"
                                           }
                                        }
                                     },
@@ -24375,15 +25783,15 @@ var pveapi = [
                                  }
                               },
                               "leaf" : 1,
-                              "path" : "/nodes/{node}/ceph/mon/{monid}",
-                              "text" : "{monid}"
+                              "path" : "/nodes/{node}/ceph/fs/{name}",
+                              "text" : "{name}"
                            }
                         ],
                         "info" : {
                            "GET" : {
-                              "description" : "Get Ceph monitor list.",
+                              "description" : "Directory index.",
                               "method" : "GET",
-                              "name" : "listmon",
+                              "name" : "index",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -24412,10 +25820,16 @@ var pveapi = [
                               "returns" : {
                                  "items" : {
                                     "properties" : {
-                                       "addr" : {
+                                       "data_pool" : {
+                                          "description" : "The name of the data pool.",
+                                          "type" : "string"
+                                       },
+                                       "metadata_pool" : {
+                                          "description" : "The name of the metadata pool.",
                                           "type" : "string"
                                        },
                                        "name" : {
+                                          "description" : "The ceph filesystem name.",
                                           "type" : "string"
                                        }
                                     },
@@ -24429,34 +25843,103 @@ var pveapi = [
                                  ],
                                  "type" : "array"
                               }
-                           },
-                           "POST" : {
-                              "description" : "Create Ceph Monitor and Manager",
-                              "method" : "POST",
-                              "name" : "createmon",
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/fs",
+                        "text" : "fs"
+                     },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "List local disks.",
+                              "method" : "GET",
+                              "name" : "disks",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "exclude-manager" : {
-                                       "default" : 0,
-                                       "description" : "When set, only a monitor will be created.",
-                                       "optional" : 1,
-                                       "type" : "boolean",
-                                       "typetext" : "<boolean>"
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
-                                    "id" : {
-                                       "description" : "The ID for the monitor, when omitted the same as the nodename",
+                                    "type" : {
+                                       "description" : "Only list specific types of disks.",
+                                       "enum" : [
+                                          "unused",
+                                          "journal_disks"
+                                       ],
                                        "optional" : 1,
-                                       "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
                                        "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "dev" : {
+                                          "type" : "string"
+                                       },
+                                       "gpt" : {
+                                          "type" : "boolean"
+                                       },
+                                       "model" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "osdid" : {
+                                          "type" : "integer"
+                                       },
+                                       "serial" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "size" : {
+                                          "type" : "integer"
+                                       },
+                                       "used" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "vendor" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       }
                                     },
-                                    "mon-address" : {
-                                       "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
-                                       "format" : "ip",
-                                       "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    },
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/ceph/disks",
+                        "text" : "disks"
+                     },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "Get Ceph configuration.",
+                              "method" : "GET",
+                              "name" : "config",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
@@ -24470,20 +25953,22 @@ var pveapi = [
                                     "perm",
                                     "/",
                                     [
-                                       "Sys.Modify"
-                                    ]
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
                                  ]
                               },
-                              "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
                                  "type" : "string"
                               }
                            }
                         },
-                        "leaf" : 0,
-                        "path" : "/nodes/{node}/ceph/mon",
-                        "text" : "mon"
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/ceph/config",
+                        "text" : "config"
                      },
                      {
                         "info" : {
@@ -24494,6 +25979,15 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "cluster-network" : {
+                                       "description" : "Declare a separate cluster network, OSDs will routeheartbeat, object replication and recovery traffic over it",
+                                       "format" : "CIDR",
+                                       "maxLength" : 128,
+                                       "optional" : 1,
+                                       "requires" : "network",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "disable_cephx" : {
                                        "default" : 0,
                                        "description" : "Disable cephx authentification.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
@@ -24565,69 +26059,26 @@ var pveapi = [
                         "text" : "init"
                      },
                      {
-                        "children" : [
-                           {
-                              "info" : {
-                                 "DELETE" : {
-                                    "description" : "Destroy Ceph Manager.",
-                                    "method" : "DELETE",
-                                    "name" : "destroymgr",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "id" : {
-                                             "description" : "The ID of the manager",
-                                             "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
-                                             "type" : "string"
-                                          },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Modify"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "type" : "string"
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/ceph/mgr/{id}",
-                              "text" : "{id}"
-                           }
-                        ],
                         "info" : {
                            "POST" : {
-                              "description" : "Create Ceph Manager",
+                              "description" : "Stop ceph services.",
                               "method" : "POST",
-                              "name" : "createmgr",
+                              "name" : "stop",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "id" : {
-                                       "description" : "The ID for the manager, when omitted the same as the nodename",
-                                       "optional" : 1,
-                                       "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
-                                       "type" : "string"
-                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
                                        "type" : "string",
                                        "typetext" : "<string>"
+                                    },
+                                    "service" : {
+                                       "default" : "ceph.target",
+                                       "description" : "Ceph service name.",
+                                       "optional" : 1,
+                                       "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
+                                       "type" : "string"
                                     }
                                  }
                               },
@@ -24647,16 +26098,16 @@ var pveapi = [
                               }
                            }
                         },
-                        "leaf" : 0,
-                        "path" : "/nodes/{node}/ceph/mgr",
-                        "text" : "mgr"
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/ceph/stop",
+                        "text" : "stop"
                      },
                      {
                         "info" : {
                            "POST" : {
-                              "description" : "Stop ceph services.",
+                              "description" : "Start ceph services.",
                               "method" : "POST",
-                              "name" : "stop",
+                              "name" : "start",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -24667,9 +26118,10 @@ var pveapi = [
                                        "typetext" : "<string>"
                                     },
                                     "service" : {
+                                       "default" : "ceph.target",
                                        "description" : "Ceph service name.",
                                        "optional" : 1,
-                                       "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
+                                       "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
                                        "type" : "string"
                                     }
                                  }
@@ -24691,15 +26143,15 @@ var pveapi = [
                            }
                         },
                         "leaf" : 1,
-                        "path" : "/nodes/{node}/ceph/stop",
-                        "text" : "stop"
+                        "path" : "/nodes/{node}/ceph/start",
+                        "text" : "start"
                      },
                      {
                         "info" : {
                            "POST" : {
-                              "description" : "Start ceph services.",
+                              "description" : "Restart ceph services.",
                               "method" : "POST",
-                              "name" : "start",
+                              "name" : "restart",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -24710,6 +26162,7 @@ var pveapi = [
                                        "typetext" : "<string>"
                                     },
                                     "service" : {
+                                       "default" : "ceph.target",
                                        "description" : "Ceph service name.",
                                        "optional" : 1,
                                        "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
@@ -24734,8 +26187,8 @@ var pveapi = [
                            }
                         },
                         "leaf" : 1,
-                        "path" : "/nodes/{node}/ceph/start",
-                        "text" : "start"
+                        "path" : "/nodes/{node}/ceph/restart",
+                        "text" : "restart"
                      },
                      {
                         "info" : {
@@ -24898,7 +26351,7 @@ var pveapi = [
                                  "additionalProperties" : 0,
                                  "properties" : {
                                     "add_storages" : {
-                                       "description" : "Configure VM and CT storages using the new pool.",
+                                       "description" : "Configure VM and CT storage using the new pool.",
                                        "optional" : 1,
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
@@ -24940,7 +26393,7 @@ var pveapi = [
                                        "typetext" : "<string>"
                                     },
                                     "pg_num" : {
-                                       "default" : 64,
+                                       "default" : 128,
                                        "description" : "Number of placement groups.",
                                        "maximum" : 32768,
                                        "minimum" : 8,
@@ -26065,7 +27518,7 @@ var pveapi = [
                               "key" : {
                                  "description" : "Proxmox VE subscription key",
                                  "maxLength" : 32,
-                                 "pattern" : "pve([124])([cbsp])-[0-9a-f]{10}",
+                                 "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
                                  "type" : "string"
                               },
                               "node" : {
@@ -26932,6 +28385,17 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "source" : {
+                                 "default" : "archive",
+                                 "description" : "List archived, active or all tasks.",
+                                 "enum" : [
+                                    "archive",
+                                    "active",
+                                    "all"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "start" : {
                                  "default" : 0,
                                  "description" : "List tasks beginning from this offset.",
@@ -26940,6 +28404,12 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (0 - N)"
                               },
+                              "typefilter" : {
+                                 "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "userfilter" : {
                                  "description" : "Only list tasks from this user.",
                                  "optional" : 1,
@@ -26970,26 +28440,21 @@ var pveapi = [
                                     "type" : "integer"
                                  },
                                  "id" : {
-                                    "optional" : 1,
                                     "title" : "ID",
                                     "type" : "string"
                                  },
                                  "node" : {
-                                    "optional" : 1,
                                     "title" : "Node",
                                     "type" : "string"
                                  },
                                  "pid" : {
-                                    "optional" : 1,
                                     "title" : "PID",
                                     "type" : "integer"
                                  },
                                  "pstart" : {
-                                    "optional" : 1,
                                     "type" : "integer"
                                  },
                                  "starttime" : {
-                                    "optional" : 1,
                                     "title" : "Starttime",
                                     "type" : "integer"
                                  },
@@ -26999,7 +28464,6 @@ var pveapi = [
                                     "type" : "string"
                                  },
                                  "type" : {
-                                    "optional" : 1,
                                     "title" : "Type",
                                     "type" : "string"
                                  },
@@ -27008,7 +28472,6 @@ var pveapi = [
                                     "type" : "string"
                                  },
                                  "user" : {
-                                    "optional" : 1,
                                     "title" : "User",
                                     "type" : "string"
                                  }
@@ -27537,6 +29000,274 @@ var pveapi = [
                   "path" : "/nodes/{node}/scan",
                   "text" : "scan"
                },
+               {
+                  "children" : [
+                     {
+                        "children" : [
+                           {
+                              "children" : [
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "List mediated device types for given PCI device.",
+                                          "method" : "GET",
+                                          "name" : "mdevscan",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "pciid" : {
+                                                   "description" : "The PCI ID to list the mdev types for.",
+                                                   "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
+                                                   "type" : "string"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/",
+                                                [
+                                                   "Sys.Modify"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "items" : {
+                                                "properties" : {
+                                                   "available" : {
+                                                      "description" : "The number of still available instances of this type.",
+                                                      "type" : "integer"
+                                                   },
+                                                   "description" : {
+                                                      "type" : "string"
+                                                   },
+                                                   "type" : {
+                                                      "description" : "The name of the mdev type.",
+                                                      "type" : "string"
+                                                   }
+                                                },
+                                                "type" : "object"
+                                             },
+                                             "type" : "array"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/hardware/pci/{pciid}/mdev",
+                                    "text" : "mdev"
+                                 }
+                              ],
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Index of available pci methods",
+                                    "method" : "GET",
+                                    "name" : "pciindex",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "pciid" : {
+                                             "pattern" : "(?:[0-9a-fA-F]{4}:)?[0-9a-fA-F]{2}:[0-9a-fA-F]{2}\\.[0-9a-fA-F]",
+                                             "type" : "string"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "user" : "all"
+                                    },
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {
+                                             "method" : {
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "links" : [
+                                          {
+                                             "href" : "{method}",
+                                             "rel" : "child"
+                                          }
+                                       ],
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 0,
+                              "path" : "/nodes/{node}/hardware/pci/{pciid}",
+                              "text" : "{pciid}"
+                           }
+                        ],
+                        "info" : {
+                           "GET" : {
+                              "description" : "List local PCI devices.",
+                              "method" : "GET",
+                              "name" : "pciscan",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "pci-class-blacklist" : {
+                                       "default" : "05;06;08;0b",
+                                       "description" : "A list of blacklisted PCI classes, which will not be returned. Following are filtered by default: Memory Controller (05), Bridge (06), Generic System Peripheral (08) and Processor (0b).",
+                                       "format" : "string-list",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "verbose" : {
+                                       "default" : 1,
+                                       "description" : "If disabled, does only print the PCI IDs. Otherwise, additional information like vendor and device will be returned.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "class" : {
+                                          "description" : "The PCI Class of the device.",
+                                          "type" : "string"
+                                       },
+                                       "device" : {
+                                          "description" : "The Device ID.",
+                                          "type" : "string"
+                                       },
+                                       "device_name" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "id" : {
+                                          "description" : "The PCI ID.",
+                                          "type" : "string"
+                                       },
+                                       "iommugroup" : {
+                                          "description" : "The IOMMU group in which the device is in. If no IOMMU group is detected, it is set to -1.",
+                                          "type" : "integer"
+                                       },
+                                       "mdev" : {
+                                          "description" : "If set, marks that the device is capable of creating mediated devices.",
+                                          "optional" : 1,
+                                          "type" : "boolean"
+                                       },
+                                       "subsystem_device" : {
+                                          "description" : "The Subsystem Device ID.",
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "subsystem_device_name" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "subsystem_vendor" : {
+                                          "description" : "The Subsystem Vendor ID.",
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "subsystem_vendor_name" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "vendor" : {
+                                          "description" : "The Vendor ID.",
+                                          "type" : "string"
+                                       },
+                                       "vendor_name" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{id}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/hardware/pci",
+                        "text" : "pci"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "description" : "Index of hardware types",
+                        "method" : "GET",
+                        "name" : "index",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "user" : "all"
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "type" : {
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{type}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/nodes/{node}/hardware",
+                  "text" : "hardware"
+               },
                {
                   "children" : [
                      {
@@ -28704,10 +30435,11 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "children" : {
-                                             "description" : "The tree of the vdevs. Depending on the configuration of the zpool, they can be nested.",
+                                             "description" : "The pool configuration information, including the vdevs for each section (e.g. spares, cache), may be nested.",
                                              "items" : {
                                                 "properties" : {
                                                    "cksum" : {
+                                                      "optional" : 1,
                                                       "type" : "number"
                                                    },
                                                    "msg" : {
@@ -28715,17 +30447,20 @@ var pveapi = [
                                                       "type" : "string"
                                                    },
                                                    "name" : {
-                                                      "description" : "The name of the vdev.",
+                                                      "description" : "The name of the vdev or section.",
                                                       "type" : "string"
                                                    },
                                                    "read" : {
+                                                      "optional" : 1,
                                                       "type" : "number"
                                                    },
                                                    "state" : {
                                                       "description" : "The state of the vdev.",
+                                                      "optional" : 1,
                                                       "type" : "string"
                                                    },
                                                    "write" : {
+                                                      "optional" : 1,
                                                       "type" : "number"
                                                    }
                                                 },
@@ -28733,12 +30468,16 @@ var pveapi = [
                                              },
                                              "type" : "array"
                                           },
+                                          "errors" : {
+                                             "description" : "Information about the errors on the zpool.",
+                                             "type" : "string"
+                                          },
                                           "name" : {
                                              "description" : "The name of the zpool.",
                                              "type" : "string"
                                           },
                                           "scan" : {
-                                             "description" : "Information about the errors on the zpool.",
+                                             "description" : "Information about the last/current scrub.",
                                              "type" : "string"
                                           },
                                           "state" : {
@@ -29479,8 +31218,70 @@ var pveapi = [
                                     "proxyto" : "node",
                                     "returns" : {
                                        "properties" : {
+                                          "action" : {
+                                             "type" : "string"
+                                          },
+                                          "comment" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "dest" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "dport" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "enable" : {
+                                             "optional" : 1,
+                                             "type" : "integer"
+                                          },
+                                          "iface" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "ipversion" : {
+                                             "optional" : 1,
+                                             "type" : "integer"
+                                          },
+                                          "log" : {
+                                             "description" : "Log level for firewall rule",
+                                             "enum" : [
+                                                "emerg",
+                                                "alert",
+                                                "crit",
+                                                "err",
+                                                "warning",
+                                                "notice",
+                                                "info",
+                                                "debug",
+                                                "nolog"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "macro" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "pos" : {
                                              "type" : "integer"
+                                          },
+                                          "proto" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "source" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "sport" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "type" : {
+                                             "type" : "string"
                                           }
                                        },
                                        "type" : "object"
@@ -29551,6 +31352,22 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "log" : {
+                                             "description" : "Log level for firewall rule.",
+                                             "enum" : [
+                                                "emerg",
+                                                "alert",
+                                                "crit",
+                                                "err",
+                                                "warning",
+                                                "notice",
+                                                "info",
+                                                "debug",
+                                                "nolog"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "macro" : {
                                              "description" : "Use predefined standard macro.",
                                              "maxLength" : 128,
@@ -29734,6 +31551,22 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "log" : {
+                                       "description" : "Log level for firewall rule.",
+                                       "enum" : [
+                                          "emerg",
+                                          "alert",
+                                          "crit",
+                                          "err",
+                                          "warning",
+                                          "notice",
+                                          "info",
+                                          "debug",
+                                          "nolog"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "macro" : {
                                        "description" : "Use predefined standard macro.",
                                        "maxLength" : 128,
@@ -29873,11 +31706,23 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "log_nf_conntrack" : {
+                                       "default" : 0,
+                                       "description" : "Enable logging of conntrack information.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "ndp" : {
                                        "description" : "Enable NDP.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "nf_conntrack_allow_invalid" : {
+                                       "default" : 0,
+                                       "description" : "Allow invalid packets on connection tracking.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "nf_conntrack_max" : {
                                        "description" : "Maximum number of tracked connections.",
                                        "minimum" : 32768,
@@ -29995,12 +31840,26 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "log_nf_conntrack" : {
+                                       "default" : 0,
+                                       "description" : "Enable logging of conntrack information.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "ndp" : {
                                        "description" : "Enable NDP.",
                                        "optional" : 1,
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
                                     },
+                                    "nf_conntrack_allow_invalid" : {
+                                       "default" : 0,
+                                       "description" : "Allow invalid packets on connection tracking.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "nf_conntrack_max" : {
                                        "description" : "Maximum number of tracked connections.",
                                        "minimum" : 32768,
@@ -30900,6 +32759,13 @@ var pveapi = [
                                  "format" : "pve-node",
                                  "type" : "string",
                                  "typetext" : "<string>"
+                              },
+                              "wakeonlan" : {
+                                 "description" : "MAC address for wake on LAN",
+                                 "format" : "mac-addr",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -31120,6 +32986,44 @@ var pveapi = [
                   "path" : "/nodes/{node}/execute",
                   "text" : "execute"
                },
+               {
+                  "info" : {
+                     "POST" : {
+                        "description" : "Try to wake a node via 'wake on LAN' network packet.",
+                        "method" : "POST",
+                        "name" : "wakeonlan",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "target node for wake on LAN packet",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/nodes/{node}",
+                              [
+                                 "Sys.PowerMgmt"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "description" : "MAC address used to assemble the WoL magic packet.",
+                           "format" : "mac-addr",
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/nodes/{node}/wakeonlan",
+                  "text" : "wakeonlan"
+               },
                {
                   "info" : {
                      "GET" : {
@@ -31337,6 +33241,17 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "cmd" : {
+                                 "default" : "login",
+                                 "description" : "Run specific command or default to login.",
+                                 "enum" : [
+                                    "upgrade",
+                                    "ceph_install",
+                                    "login"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "height" : {
                                  "description" : "sets the height of the console in pixels.",
                                  "maximum" : 2160,
@@ -31353,7 +33268,7 @@ var pveapi = [
                               },
                               "upgrade" : {
                                  "default" : 0,
-                                 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
+                                 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -31420,6 +33335,17 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "cmd" : {
+                                 "default" : "login",
+                                 "description" : "Run specific command or default to login.",
+                                 "enum" : [
+                                    "upgrade",
+                                    "ceph_install",
+                                    "login"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
@@ -31428,7 +33354,7 @@ var pveapi = [
                               },
                               "upgrade" : {
                                  "default" : 0,
-                                 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
+                                 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -31532,6 +33458,17 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "cmd" : {
+                                 "default" : "login",
+                                 "description" : "Run specific command or default to login.",
+                                 "enum" : [
+                                    "upgrade",
+                                    "ceph_install",
+                                    "login"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
@@ -31547,7 +33484,7 @@ var pveapi = [
                               },
                               "upgrade" : {
                                  "default" : 0,
-                                 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
+                                 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -32355,35 +34292,35 @@ var pveapi = [
                            "description" : "Set bandwidth/io limits various operations.",
                            "format" : {
                               "clone" : {
-                                 "description" : "bandwidth limit in MiB/s for cloning disks",
+                                 "description" : "bandwidth limit in KiB/s for cloning disks",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "default" : {
-                                 "description" : "default bandwidth limit in MiB/s",
+                                 "description" : "default bandwidth limit in KiB/s",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "migration" : {
-                                 "description" : "bandwidth limit in MiB/s for migrating guests",
+                                 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "move" : {
-                                 "description" : "bandwidth limit in MiB/s for moving disks",
+                                 "description" : "bandwidth limit in KiB/s for moving disks",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "restore" : {
-                                 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
+                                 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
@@ -32462,7 +34399,7 @@ var pveapi = [
                            "typetext" : "<string>"
                         },
                         "krbd" : {
-                           "description" : "Access rbd through krbd kernel module.",
+                           "description" : "Always access rbd through krbd kernel module.",
                            "optional" : 1,
                            "type" : "boolean",
                            "typetext" : "<boolean>"
@@ -32658,6 +34595,7 @@ var pveapi = [
                         "cifs",
                         "dir",
                         "drbd",
+                        "fake",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -32726,35 +34664,35 @@ var pveapi = [
                      "description" : "Set bandwidth/io limits various operations.",
                      "format" : {
                         "clone" : {
-                           "description" : "bandwidth limit in MiB/s for cloning disks",
+                           "description" : "bandwidth limit in KiB/s for cloning disks",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
                            "type" : "number"
                         },
                         "default" : {
-                           "description" : "default bandwidth limit in MiB/s",
+                           "description" : "default bandwidth limit in KiB/s",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
                            "type" : "number"
                         },
                         "migration" : {
-                           "description" : "bandwidth limit in MiB/s for migrating guests",
+                           "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
                            "type" : "number"
                         },
                         "move" : {
-                           "description" : "bandwidth limit in MiB/s for moving disks",
+                           "description" : "bandwidth limit in KiB/s for moving disks",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
                            "type" : "number"
                         },
                         "restore" : {
-                           "description" : "bandwidth limit in MiB/s for restoring guests from backups",
+                           "description" : "bandwidth limit in KiB/s for restoring guests from backups",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
@@ -32831,7 +34769,7 @@ var pveapi = [
                      "typetext" : "<string>"
                   },
                   "krbd" : {
-                     "description" : "Access rbd through krbd kernel module.",
+                     "description" : "Always access rbd through krbd kernel module.",
                      "optional" : 1,
                      "type" : "boolean",
                      "typetext" : "<boolean>"
@@ -33023,6 +34961,7 @@ var pveapi = [
                         "cifs",
                         "dir",
                         "drbd",
+                        "fake",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -33152,13 +35091,19 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "email" : {
+                                 "format" : "email-opt",
                                  "optional" : 1,
                                  "type" : "string"
                               },
                               "enable" : {
+                                 "default" : 1,
+                                 "description" : "Enable the account (default). You can set this to '0' to disable the account",
+                                 "optional" : 1,
                                  "type" : "boolean"
                               },
                               "expire" : {
+                                 "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
+                                 "minimum" : 0,
                                  "optional" : 1,
                                  "type" : "integer"
                               },
@@ -33170,6 +35115,7 @@ var pveapi = [
                                  "type" : "array"
                               },
                               "keys" : {
+                                 "description" : "Keys for two factor auth (yubico).",
                                  "optional" : 1,
                                  "type" : "string"
                               },
@@ -33177,7 +35123,8 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "string"
                               }
-                           }
+                           },
+                           "type" : "object"
                         }
                      },
                      "PUT" : {
@@ -33205,7 +35152,8 @@ var pveapi = [
                                  "typetext" : "<string>"
                               },
                               "enable" : {
-                                 "description" : "Enable/disable the account.",
+                                 "default" : 1,
+                                 "description" : "Enable the account (default). You can set this to '0' to disable the account",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -33292,7 +35240,44 @@ var pveapi = [
                   "returns" : {
                      "items" : {
                         "properties" : {
+                           "comment" : {
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "email" : {
+                              "format" : "email-opt",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "enable" : {
+                              "default" : 1,
+                              "description" : "Enable the account (default). You can set this to '0' to disable the account",
+                              "optional" : 1,
+                              "type" : "boolean"
+                           },
+                           "expire" : {
+                              "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
+                              "minimum" : 0,
+                              "optional" : 1,
+                              "type" : "integer"
+                           },
+                           "firstname" : {
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "keys" : {
+                              "description" : "Keys for two factor auth (yubico).",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "lastname" : {
+                              "optional" : 1,
+                              "type" : "string"
+                           },
                            "userid" : {
+                              "description" : "User ID",
+                              "format" : "pve-userid",
+                              "maxLength" : 64,
                               "type" : "string"
                            }
                         },
@@ -33327,7 +35312,7 @@ var pveapi = [
                         },
                         "enable" : {
                            "default" : 1,
-                           "description" : "Enable the account (default). You can set this to '0' to disable the accout",
+                           "description" : "Enable the account (default). You can set this to '0' to disable the account",
                            "optional" : 1,
                            "type" : "boolean",
                            "typetext" : "<boolean>"
@@ -33473,6 +35458,9 @@ var pveapi = [
                               },
                               "members" : {
                                  "items" : {
+                                    "description" : "User ID",
+                                    "format" : "pve-userid",
+                                    "maxLength" : 64,
                                     "type" : "string"
                                  },
                                  "type" : "array"
@@ -33535,7 +35523,12 @@ var pveapi = [
                   "returns" : {
                      "items" : {
                         "properties" : {
+                           "comment" : {
+                              "optional" : 1,
+                              "type" : "string"
+                           },
                            "groupid" : {
+                              "format" : "pve-groupid",
                               "type" : "string"
                            }
                         },
@@ -33637,10 +35630,143 @@ var pveapi = [
                         "permissions" : {
                            "user" : "all"
                         },
-                        "returns" : {}
+                        "returns" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "Datastore.Allocate" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Datastore.AllocateSpace" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Datastore.AllocateTemplate" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Datastore.Audit" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Group.Allocate" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Permissions.Modify" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Pool.Allocate" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Realm.Allocate" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Realm.AllocateUser" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Sys.Audit" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Sys.Console" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Sys.Modify" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Sys.PowerMgmt" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "Sys.Syslog" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "User.Modify" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Allocate" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Audit" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Backup" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Clone" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Config.CDROM" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Config.CPU" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Config.Disk" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Config.HWType" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Config.Memory" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Config.Network" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Config.Options" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Console" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Migrate" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Monitor" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.PowerMgmt" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Snapshot" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "VM.Snapshot.Rollback" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              }
+                           },
+                           "type" : "object"
+                        }
                      },
                      "PUT" : {
-                        "description" : "Create new role.",
+                        "description" : "Update an existing role.",
                         "method" : "PUT",
                         "name" : "update_role",
                         "parameters" : {
@@ -33654,6 +35780,7 @@ var pveapi = [
                               },
                               "privs" : {
                                  "format" : "pve-priv-list",
+                                 "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
@@ -33698,8 +35825,19 @@ var pveapi = [
                   "returns" : {
                      "items" : {
                         "properties" : {
+                           "privs" : {
+                              "format" : "pve-priv-list",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
                            "roleid" : {
+                              "format" : "pve-roleid",
                               "type" : "string"
+                           },
+                           "special" : {
+                              "default" : 0,
+                              "optional" : 1,
+                              "type" : "boolean"
                            }
                         },
                         "type" : "object"
@@ -33770,9 +35908,13 @@ var pveapi = [
                         "additionalProperties" : 0,
                         "properties" : {
                            "path" : {
+                              "description" : "Access control path",
                               "type" : "string"
                            },
                            "propagate" : {
+                              "default" : 1,
+                              "description" : "Allow to propagate (inherit) permissions.",
+                              "optional" : 1,
                               "type" : "boolean"
                            },
                            "roleid" : {
@@ -34039,7 +36181,7 @@ var pveapi = [
                                  "maxLength" : 128,
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
                               },
                               "user_attr" : {
                                  "description" : "LDAP user attribute name",
@@ -34225,7 +36367,7 @@ var pveapi = [
                            "maxLength" : 128,
                            "optional" : 1,
                            "type" : "string",
-                           "typetext" : "<string>"
+                           "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
                         },
                         "type" : {
                            "description" : "Realm type.",
@@ -34351,6 +36493,10 @@ var pveapi = [
                            "optional" : 1,
                            "type" : "string"
                         },
+                        "clustername" : {
+                           "optional" : 1,
+                           "type" : "string"
+                        },
                         "ticket" : {
                            "optional" : 1,
                            "type" : "string"
@@ -34372,7 +36518,7 @@ var pveapi = [
                "PUT" : {
                   "description" : "Change user password.",
                   "method" : "PUT",
-                  "name" : "change_passsword",
+                  "name" : "change_password",
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
@@ -34424,6 +36570,121 @@ var pveapi = [
             "leaf" : 1,
             "path" : "/access/password",
             "text" : "password"
+         },
+         {
+            "info" : {
+               "POST" : {
+                  "description" : "Finish a u2f challenge.",
+                  "method" : "POST",
+                  "name" : "verify_tfa",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "response" : {
+                           "description" : "The response to the current authentication challenge.",
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "user" : "all"
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "properties" : {
+                        "ticket" : {
+                           "type" : "string"
+                        }
+                     },
+                     "type" : "object"
+                  }
+               },
+               "PUT" : {
+                  "description" : "Change user u2f authentication.",
+                  "method" : "PUT",
+                  "name" : "change_tfa",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "action" : {
+                           "description" : "The action to perform",
+                           "enum" : [
+                              "delete",
+                              "new",
+                              "confirm"
+                           ],
+                           "type" : "string"
+                        },
+                        "config" : {
+                           "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
+                           "format" : "pve-tfa-config",
+                           "maxLength" : 128,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
+                        },
+                        "key" : {
+                           "description" : "When adding TOTP, the shared secret value.",
+                           "optional" : 1,
+                           "pattern" : "(?^:[A-Z2-7=]{16}|[A-Fa-f0-9]{40})",
+                           "type" : "string"
+                        },
+                        "password" : {
+                           "description" : "The current password.",
+                           "maxLength" : 64,
+                           "minLength" : 5,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "response" : {
+                           "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "userid" : {
+                           "description" : "User ID",
+                           "format" : "pve-userid",
+                           "maxLength" : 64,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "or",
+                        [
+                           "userid-param",
+                           "self"
+                        ],
+                        [
+                           "and",
+                           [
+                              "userid-param",
+                              "Realm.AllocateUser"
+                           ],
+                           [
+                              "userid-group",
+                              [
+                                 "User.Modify"
+                              ]
+                           ]
+                        ]
+                     ],
+                     "description" : "A user can change their own u2f or totp token."
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "object"
+                  }
+               }
+            },
+            "leaf" : 1,
+            "path" : "/access/tfa",
+            "text" : "tfa"
          }
       ],
       "info" : {