]> git.proxmox.com Git - pve-docs.git/blobdiff - api-viewer/apidata.js
api-viewer: minor style fix
[pve-docs.git] / api-viewer / apidata.js
index ef072a25c3a3882698d1ced2310ed08de9dbf4d8..af2d5a76f336d3f6a21fd36079089b471d1a9770 100644 (file)
 var pveapi = [
    {
       "children" : [
+         {
+            "children" : [
+               {
+                  "info" : {
+                     "DELETE" : {
+                        "description" : "Mark replication job for removal.",
+                        "method" : "DELETE",
+                        "name" : "delete",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "force" : {
+                                 "default" : 0,
+                                 "description" : "Will remove the jobconfig entry, but will not cleanup.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "id" : {
+                                 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+                                 "format" : "pve-replication-job-id",
+                                 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+                                 "type" : "string"
+                              },
+                              "keep" : {
+                                 "default" : 0,
+                                 "description" : "Keep replicated data at target (do not remove).",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/storage",
+                              [
+                                 "Datastore.Allocate"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     },
+                     "GET" : {
+                        "description" : "Read replication job configuration.",
+                        "method" : "GET",
+                        "name" : "read",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "id" : {
+                                 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+                                 "format" : "pve-replication-job-id",
+                                 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
+                           "user" : "all"
+                        },
+                        "returns" : {
+                           "type" : "object"
+                        }
+                     },
+                     "PUT" : {
+                        "description" : "Update replication job configuration.",
+                        "method" : "PUT",
+                        "name" : "update",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "comment" : {
+                                 "description" : "Description.",
+                                 "maxLength" : 4096,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "delete" : {
+                                 "description" : "A list of settings you want to delete.",
+                                 "format" : "pve-configid-list",
+                                 "maxLength" : 4096,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "digest" : {
+                                 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                 "maxLength" : 40,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "disable" : {
+                                 "description" : "Flag to disable/deactivate the entry.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "id" : {
+                                 "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+                                 "format" : "pve-replication-job-id",
+                                 "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+                                 "type" : "string"
+                              },
+                              "rate" : {
+                                 "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "number",
+                                 "typetext" : "<number> (1 - N)"
+                              },
+                              "remove_job" : {
+                                 "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
+                                 "enum" : [
+                                    "local",
+                                    "full"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "schedule" : {
+                                 "default" : "*/15",
+                                 "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
+                                 "format" : "pve-calendar-event",
+                                 "maxLength" : 128,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           },
+                           "type" : "object"
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/storage",
+                              [
+                                 "Datastore.Allocate"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/replication/{id}",
+                  "text" : "{id}"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "description" : "List replication jobs.",
+                  "method" : "GET",
+                  "name" : "index",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
+                     "user" : "all"
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {},
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{id}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               },
+               "POST" : {
+                  "description" : "Create a new replication job",
+                  "method" : "POST",
+                  "name" : "create",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "comment" : {
+                           "description" : "Description.",
+                           "maxLength" : 4096,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "disable" : {
+                           "description" : "Flag to disable/deactivate the entry.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "id" : {
+                           "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+                           "format" : "pve-replication-job-id",
+                           "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+                           "type" : "string"
+                        },
+                        "rate" : {
+                           "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "number",
+                           "typetext" : "<number> (1 - N)"
+                        },
+                        "remove_job" : {
+                           "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
+                           "enum" : [
+                              "local",
+                              "full"
+                           ],
+                           "optional" : 1,
+                           "type" : "string"
+                        },
+                        "schedule" : {
+                           "default" : "*/15",
+                           "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
+                           "format" : "pve-calendar-event",
+                           "maxLength" : 128,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "target" : {
+                           "description" : "Target node.",
+                           "format" : "pve-node",
+                           "optional" : 0,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "type" : {
+                           "description" : "Section type.",
+                           "enum" : [
+                              "local"
+                           ],
+                           "type" : "string"
+                        }
+                     },
+                     "type" : "object"
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "perm",
+                        "/storage",
+                        [
+                           "Datastore.Allocate"
+                        ]
+                     ]
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "null"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/cluster/replication",
+            "text" : "replication"
+         },
          {
             "children" : [
                {
                   "children" : [
                      {
-                        "children" : [
-                           {
-                              "info" : {
-                                 "DELETE" : {
-                                    "description" : "Delete rule.",
-                                    "method" : "DELETE",
-                                    "name" : "delete_rule",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "digest" : {
-                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                             "maxLength" : 40,
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "group" : {
-                                             "description" : "Security Group name.",
-                                             "maxLength" : 20,
-                                             "minLength" : 2,
-                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                             "type" : "string"
-                                          },
-                                          "pos" : {
-                                             "description" : "Update rule at position <pos>.",
-                                             "minimum" : 0,
-                                             "optional" : 1,
-                                             "type" : "integer"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Modify"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : null,
-                                    "returns" : {
-                                       "type" : "null"
-                                    }
-                                 },
-                                 "GET" : {
-                                    "description" : "Get single rule data.",
-                                    "method" : "GET",
-                                    "name" : "get_rule",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "group" : {
-                                             "description" : "Security Group name.",
-                                             "maxLength" : 20,
-                                             "minLength" : 2,
-                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                             "type" : "string"
-                                          },
-                                          "pos" : {
-                                             "description" : "Update rule at position <pos>.",
-                                             "minimum" : 0,
-                                             "optional" : 1,
-                                             "type" : "integer"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Audit"
-                                          ]
-                                       ]
-                                    },
-                                    "proxyto" : null,
-                                    "returns" : {
-                                       "properties" : {
-                                          "pos" : {
-                                             "type" : "integer"
-                                          }
-                                       },
-                                       "type" : "object"
-                                    }
-                                 },
-                                 "PUT" : {
-                                    "description" : "Modify rule data.",
-                                    "method" : "PUT",
-                                    "name" : "update_rule",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "action" : {
-                                             "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
-                                             "maxLength" : 20,
-                                             "minLength" : 2,
-                                             "optional" : 1,
-                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                             "type" : "string"
-                                          },
-                                          "comment" : {
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "delete" : {
-                                             "description" : "A list of settings you want to delete.",
-                                             "format" : "pve-configid-list",
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "dest" : {
-                                             "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                             "format" : "pve-fw-addr-spec",
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "digest" : {
-                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                             "maxLength" : 40,
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "dport" : {
-                                             "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                             "format" : "pve-fw-dport-spec",
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "enable" : {
-                                             "minimum" : 0,
-                                             "optional" : 1,
-                                             "type" : "integer"
-                                          },
-                                          "group" : {
-                                             "description" : "Security Group name.",
-                                             "maxLength" : 20,
-                                             "minLength" : 2,
-                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                             "type" : "string"
-                                          },
-                                          "iface" : {
-                                             "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
-                                             "format" : "pve-iface",
-                                             "maxLength" : 20,
-                                             "minLength" : 2,
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "macro" : {
-                                             "maxLength" : 128,
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "moveto" : {
-                                             "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
-                                             "minimum" : 0,
-                                             "optional" : 1,
-                                             "type" : "integer"
-                                          },
-                                          "pos" : {
-                                             "description" : "Update rule at position <pos>.",
-                                             "minimum" : 0,
-                                             "optional" : 1,
-                                             "type" : "integer"
-                                          },
-                                          "proto" : {
-                                             "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
-                                             "format" : "pve-fw-protocol-spec",
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "source" : {
-                                             "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                             "format" : "pve-fw-addr-spec",
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "sport" : {
-                                             "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                             "format" : "pve-fw-sport-spec",
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "type" : {
-                                             "enum" : [
-                                                "in",
-                                                "out",
-                                                "group"
-                                             ],
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Modify"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : null,
-                                    "returns" : {
-                                       "type" : "null"
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/cluster/firewall/groups/{group}/{pos}",
-                              "text" : "{pos}"
-                           }
-                        ],
-                        "info" : {
-                           "DELETE" : {
-                              "description" : "Delete security group.",
-                              "method" : "DELETE",
-                              "name" : "delete_security_group",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "group" : {
-                                       "description" : "Security Group name.",
-                                       "maxLength" : 20,
-                                       "minLength" : 2,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
+                        "info" : {
+                           "DELETE" : {
+                              "description" : "Removes a node from the cluster configuration.",
+                              "method" : "DELETE",
+                              "name" : "delnode",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Modify"
-                                    ]
-                                 ]
-                              },
                               "protected" : 1,
                               "returns" : {
                                  "type" : "null"
                               }
                            },
-                           "GET" : {
-                              "description" : "List rules.",
-                              "method" : "GET",
-                              "name" : "get_rules",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "group" : {
-                                       "description" : "Security Group name.",
-                                       "maxLength" : 20,
-                                       "minLength" : 2,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Audit"
-                                    ]
-                                 ]
-                              },
-                              "proxyto" : null,
-                              "returns" : {
-                                 "items" : {
-                                    "properties" : {
-                                       "pos" : {
-                                          "type" : "integer"
-                                       }
-                                    },
-                                    "type" : "object"
-                                 },
-                                 "links" : [
-                                    {
-                                       "href" : "{pos}",
-                                       "rel" : "child"
-                                    }
-                                 ],
-                                 "type" : "array"
-                              }
-                           },
                            "POST" : {
-                              "description" : "Create new rule.",
+                              "description" : "Adds a node to the cluster configuration.",
                               "method" : "POST",
-                              "name" : "create_rule",
+                              "name" : "addnode",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "action" : {
-                                       "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
-                                       "maxLength" : 20,
-                                       "minLength" : 2,
-                                       "optional" : 0,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
+                                    "force" : {
+                                       "description" : "Do not throw error if node already exists.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
-                                    "comment" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "nodeid" : {
+                                       "description" : "Node id for this node.",
+                                       "minimum" : 1,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - N)"
                                     },
-                                    "dest" : {
-                                       "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                       "format" : "pve-fw-addr-spec",
+                                    "ring0_addr" : {
+                                       "default" : "Hostname of the node",
+                                       "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
+                                       "format" : "address",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
-                                    "digest" : {
-                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                       "maxLength" : 40,
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "dport" : {
-                                       "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                       "format" : "pve-fw-dport-spec",
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "enable" : {
-                                       "minimum" : 0,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "group" : {
-                                       "description" : "Security Group name.",
-                                       "maxLength" : 20,
-                                       "minLength" : 2,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
-                                    },
-                                    "iface" : {
-                                       "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
-                                       "format" : "pve-iface",
-                                       "maxLength" : 20,
-                                       "minLength" : 2,
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "macro" : {
-                                       "maxLength" : 128,
+                                    "ring1_addr" : {
+                                       "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
+                                       "format" : "address",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
-                                    "pos" : {
-                                       "description" : "Update rule at position <pos>.",
+                                    "votes" : {
+                                       "description" : "Number of votes for this node",
                                        "minimum" : 0,
                                        "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "proto" : {
-                                       "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
-                                       "format" : "pve-fw-protocol-spec",
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "source" : {
-                                       "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                       "format" : "pve-fw-addr-spec",
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "sport" : {
-                                       "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                       "format" : "pve-fw-sport-spec",
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "type" : {
-                                       "enum" : [
-                                          "in",
-                                          "out",
-                                          "group"
-                                       ],
-                                       "optional" : 0,
-                                       "type" : "string"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     }
                                  }
                               },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Modify"
-                                    ]
-                                 ]
-                              },
                               "protected" : 1,
-                              "proxyto" : null,
                               "returns" : {
-                                 "type" : "null"
+                                 "properties" : {
+                                    "corosync_authkey" : {
+                                       "type" : "string"
+                                    },
+                                    "corosync_conf" : {
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
                               }
                            }
                         },
-                        "leaf" : 0,
-                        "path" : "/cluster/firewall/groups/{group}",
-                        "text" : "{group}"
+                        "leaf" : 1,
+                        "path" : "/cluster/config/nodes/{node}",
+                        "text" : "{node}"
                      }
                   ],
                   "info" : {
                      "GET" : {
-                        "description" : "List security groups.",
+                        "description" : "Corosync node list.",
                         "method" : "GET",
-                        "name" : "list_security_groups",
+                        "name" : "nodes",
                         "parameters" : {
                            "additionalProperties" : 0
                         },
                         "permissions" : {
-                           "user" : "all"
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit"
+                              ]
+                           ]
                         },
                         "returns" : {
                            "items" : {
                               "properties" : {
-                                 "comment" : {
-                                    "optional" : 1,
-                                    "type" : "string"
-                                 },
-                                 "digest" : {
-                                    "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                    "maxLength" : 40,
-                                    "optional" : 0,
-                                    "type" : "string"
-                                 },
-                                 "group" : {
-                                    "description" : "Security Group name.",
-                                    "maxLength" : 20,
-                                    "minLength" : 2,
-                                    "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                 "node" : {
                                     "type" : "string"
                                  }
                               },
@@ -452,238 +396,549 @@ var pveapi = [
                            },
                            "links" : [
                               {
-                                 "href" : "{group}",
+                                 "href" : "{node}",
                                  "rel" : "child"
                               }
                            ],
                            "type" : "array"
                         }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/cluster/config/nodes",
+                  "text" : "nodes"
+               },
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Get information needed to join this cluster over the connected node.",
+                        "method" : "GET",
+                        "name" : "join_info",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "default" : "current connected node",
+                                 "description" : "The node for which the joinee gets the nodeinfo. ",
+                                 "format" : "pve-node",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "returns" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "config_digest" : {
+                                 "type" : "string"
+                              },
+                              "nodelist" : {
+                                 "items" : {
+                                    "additionalProperties" : 1,
+                                    "properties" : {
+                                       "name" : {
+                                          "description" : "The cluster node name.",
+                                          "format" : "pve-node",
+                                          "type" : "string"
+                                       },
+                                       "nodeid" : {
+                                          "description" : "Node id for this node.",
+                                          "minimum" : 1,
+                                          "optional" : 1,
+                                          "type" : "integer"
+                                       },
+                                       "pve_addr" : {
+                                          "format" : "ip",
+                                          "type" : "string"
+                                       },
+                                       "pve_fp" : {
+                                          "description" : "Certificate SHA 256 fingerprint.",
+                                          "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
+                                          "type" : "string"
+                                       },
+                                       "quorum_votes" : {
+                                          "minimum" : 0,
+                                          "type" : "integer"
+                                       },
+                                       "ring0_addr" : {
+                                          "default" : "Hostname of the node",
+                                          "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
+                                          "format" : "address",
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              },
+                              "preferred_node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string"
+                              },
+                              "totem" : {
+                                 "type" : "object"
+                              }
+                           },
+                           "type" : "object"
+                        }
                      },
                      "POST" : {
-                        "description" : "Create new security group.",
+                        "description" : "Joins this node into an existing cluster.",
                         "method" : "POST",
-                        "name" : "create_security_group",
+                        "name" : "join",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
-                              "comment" : {
-                                 "optional" : 1,
+                              "fingerprint" : {
+                                 "description" : "Certificate SHA 256 fingerprint.",
+                                 "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
                                  "type" : "string"
                               },
-                              "digest" : {
-                                 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                 "maxLength" : 40,
+                              "force" : {
+                                 "description" : "Do not throw error if node already exists.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
-                              "group" : {
-                                 "description" : "Security Group name.",
-                                 "maxLength" : 20,
-                                 "minLength" : 2,
-                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                 "type" : "string"
+                              "hostname" : {
+                                 "description" : "Hostname (or IP) of an existing cluster member.",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
-                              "rename" : {
-                                 "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.",
-                                 "maxLength" : 20,
-                                 "minLength" : 2,
+                              "nodeid" : {
+                                 "description" : "Node id for this node.",
+                                 "minimum" : 1,
                                  "optional" : 1,
-                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                 "type" : "string"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
+                              },
+                              "password" : {
+                                 "description" : "Superuser (root) password of peer node.",
+                                 "maxLength" : 128,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "ring0_addr" : {
+                                 "default" : "IP resolved by node's hostname",
+                                 "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
+                                 "format" : "address",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "ring1_addr" : {
+                                 "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
+                                 "format" : "address",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "votes" : {
+                                 "description" : "Number of votes for this node",
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               }
                            }
                         },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/config/join",
+                  "text" : "join"
+               },
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Get corosync totem protocol settings.",
+                        "method" : "GET",
+                        "name" : "totem",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
                         "permissions" : {
                            "check" : [
                               "perm",
                               "/",
                               [
-                                 "Sys.Modify"
+                                 "Sys.Audit"
                               ]
                            ]
                         },
-                        "protected" : 1,
                         "returns" : {
-                           "type" : "null"
+                           "properties" : {},
+                           "type" : "object"
                         }
                      }
                   },
-                  "leaf" : 0,
-                  "path" : "/cluster/firewall/groups",
-                  "text" : "groups"
-               },
-               {
-                  "children" : [
-                     {
-                        "info" : {
-                           "DELETE" : {
-                              "description" : "Delete rule.",
-                              "method" : "DELETE",
-                              "name" : "delete_rule",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "digest" : {
-                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                       "maxLength" : 40,
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "pos" : {
-                                       "description" : "Update rule at position <pos>.",
-                                       "minimum" : 0,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Modify"
-                                    ]
-                                 ]
-                              },
-                              "protected" : 1,
-                              "proxyto" : null,
-                              "returns" : {
-                                 "type" : "null"
-                              }
-                           },
-                           "GET" : {
-                              "description" : "Get single rule data.",
-                              "method" : "GET",
-                              "name" : "get_rule",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "pos" : {
-                                       "description" : "Update rule at position <pos>.",
-                                       "minimum" : 0,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Audit"
-                                    ]
-                                 ]
-                              },
-                              "proxyto" : null,
-                              "returns" : {
-                                 "properties" : {
-                                    "pos" : {
-                                       "type" : "integer"
-                                    }
-                                 },
-                                 "type" : "object"
-                              }
-                           },
-                           "PUT" : {
-                              "description" : "Modify rule data.",
-                              "method" : "PUT",
-                              "name" : "update_rule",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "action" : {
-                                       "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
-                                       "maxLength" : 20,
-                                       "minLength" : 2,
-                                       "optional" : 1,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
-                                    },
-                                    "comment" : {
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "delete" : {
-                                       "description" : "A list of settings you want to delete.",
-                                       "format" : "pve-configid-list",
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "dest" : {
-                                       "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                       "format" : "pve-fw-addr-spec",
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "digest" : {
-                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                       "maxLength" : 40,
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "dport" : {
-                                       "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                       "format" : "pve-fw-dport-spec",
-                                       "optional" : 1,
-                                       "type" : "string"
+                  "leaf" : 1,
+                  "path" : "/cluster/config/totem",
+                  "text" : "totem"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "description" : "Directory index.",
+                  "method" : "GET",
+                  "name" : "index",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "perm",
+                        "/",
+                        [
+                           "Sys.Audit"
+                        ]
+                     ]
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {},
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{name}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               },
+               "POST" : {
+                  "description" : "Generate new cluster configuration.",
+                  "method" : "POST",
+                  "name" : "create",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "bindnet0_addr" : {
+                           "description" : "This specifies the network address the corosync ring 0 executive should bind to and defaults to the local IP address of the node.",
+                           "format" : "ip",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "bindnet1_addr" : {
+                           "description" : "This specifies the network address the corosync ring 1 executive should bind to and is optional.",
+                           "format" : "ip",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "clustername" : {
+                           "description" : "The name of the cluster.",
+                           "format" : "pve-node",
+                           "maxLength" : 15,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "nodeid" : {
+                           "description" : "Node id for this node.",
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - N)"
+                        },
+                        "ring0_addr" : {
+                           "default" : "Hostname of the node",
+                           "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
+                           "format" : "address",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "ring1_addr" : {
+                           "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
+                           "format" : "address",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "votes" : {
+                           "description" : "Number of votes for this node.",
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - N)"
+                        }
+                     }
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "string"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/cluster/config",
+            "text" : "config"
+         },
+         {
+            "children" : [
+               {
+                  "children" : [
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "description" : "Delete rule.",
+                                    "method" : "DELETE",
+                                    "name" : "delete_rule",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "digest" : {
+                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "group" : {
+                                             "description" : "Security Group name.",
+                                             "maxLength" : 18,
+                                             "minLength" : 2,
+                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                             "type" : "string"
+                                          },
+                                          "pos" : {
+                                             "description" : "Update rule at position <pos>.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          }
+                                       }
                                     },
-                                    "enable" : {
-                                       "minimum" : 0,
-                                       "optional" : 1,
-                                       "type" : "integer"
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
                                     },
-                                    "iface" : {
-                                       "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
-                                       "format" : "pve-iface",
-                                       "maxLength" : 20,
-                                       "minLength" : 2,
-                                       "optional" : 1,
-                                       "type" : "string"
+                                    "protected" : 1,
+                                    "proxyto" : null,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 },
+                                 "GET" : {
+                                    "description" : "Get single rule data.",
+                                    "method" : "GET",
+                                    "name" : "get_rule",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "group" : {
+                                             "description" : "Security Group name.",
+                                             "maxLength" : 18,
+                                             "minLength" : 2,
+                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                             "type" : "string"
+                                          },
+                                          "pos" : {
+                                             "description" : "Update rule at position <pos>.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          }
+                                       }
                                     },
-                                    "macro" : {
-                                       "maxLength" : 128,
-                                       "optional" : 1,
-                                       "type" : "string"
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Audit"
+                                          ]
+                                       ]
                                     },
-                                    "moveto" : {
-                                       "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
-                                       "minimum" : 0,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "pos" : {
-                                       "description" : "Update rule at position <pos>.",
-                                       "minimum" : 0,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "proto" : {
-                                       "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
-                                       "format" : "pve-fw-protocol-spec",
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "source" : {
-                                       "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                       "format" : "pve-fw-addr-spec",
-                                       "optional" : 1,
-                                       "type" : "string"
+                                    "proxyto" : null,
+                                    "returns" : {
+                                       "properties" : {
+                                          "pos" : {
+                                             "type" : "integer"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "description" : "Modify rule data.",
+                                    "method" : "PUT",
+                                    "name" : "update_rule",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "action" : {
+                                             "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+                                             "maxLength" : 20,
+                                             "minLength" : 2,
+                                             "optional" : 1,
+                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                             "type" : "string"
+                                          },
+                                          "comment" : {
+                                             "description" : "Descriptive comment.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "delete" : {
+                                             "description" : "A list of settings you want to delete.",
+                                             "format" : "pve-configid-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "dest" : {
+                                             "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                             "format" : "pve-fw-addr-spec",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "digest" : {
+                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "dport" : {
+                                             "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                             "format" : "pve-fw-dport-spec",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "enable" : {
+                                             "description" : "Flag to enable/disable a rule.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
+                                          "group" : {
+                                             "description" : "Security Group name.",
+                                             "maxLength" : 18,
+                                             "minLength" : 2,
+                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                             "type" : "string"
+                                          },
+                                          "iface" : {
+                                             "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
+                                             "format" : "pve-iface",
+                                             "maxLength" : 20,
+                                             "minLength" : 2,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "macro" : {
+                                             "description" : "Use predefined standard macro.",
+                                             "maxLength" : 128,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "moveto" : {
+                                             "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
+                                          "pos" : {
+                                             "description" : "Update rule at position <pos>.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
+                                          "proto" : {
+                                             "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+                                             "format" : "pve-fw-protocol-spec",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "source" : {
+                                             "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                             "format" : "pve-fw-addr-spec",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "sport" : {
+                                             "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                             "format" : "pve-fw-sport-spec",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "type" : {
+                                             "description" : "Rule type.",
+                                             "enum" : [
+                                                "in",
+                                                "out",
+                                                "group"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          }
+                                       }
                                     },
-                                    "sport" : {
-                                       "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                       "format" : "pve-fw-sport-spec",
-                                       "optional" : 1,
-                                       "type" : "string"
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
                                     },
-                                    "type" : {
-                                       "enum" : [
-                                          "in",
-                                          "out",
-                                          "group"
-                                       ],
-                                       "optional" : 1,
+                                    "protected" : 1,
+                                    "proxyto" : null,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/cluster/firewall/groups/{group}/{pos}",
+                              "text" : "{pos}"
+                           }
+                        ],
+                        "info" : {
+                           "DELETE" : {
+                              "description" : "Delete security group.",
+                              "method" : "DELETE",
+                              "name" : "delete_security_group",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "group" : {
+                                       "description" : "Security Group name.",
+                                       "maxLength" : 18,
+                                       "minLength" : 2,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
                                        "type" : "string"
                                     }
                                  }
@@ -698,139 +953,262 @@ var pveapi = [
                                  ]
                               },
                               "protected" : 1,
-                              "proxyto" : null,
                               "returns" : {
                                  "type" : "null"
                               }
-                           }
-                        },
-                        "leaf" : 1,
-                        "path" : "/cluster/firewall/rules/{pos}",
-                        "text" : "{pos}"
-                     }
-                  ],
-                  "info" : {
-                     "GET" : {
-                        "description" : "List rules.",
-                        "method" : "GET",
-                        "name" : "get_rules",
-                        "parameters" : {
-                           "additionalProperties" : 0
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "perm",
-                              "/",
-                              [
-                                 "Sys.Audit"
-                              ]
-                           ]
-                        },
-                        "proxyto" : null,
-                        "returns" : {
-                           "items" : {
-                              "properties" : {
-                                 "pos" : {
-                                    "type" : "integer"
+                           },
+                           "GET" : {
+                              "description" : "List rules.",
+                              "method" : "GET",
+                              "name" : "get_rules",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "group" : {
+                                       "description" : "Security Group name.",
+                                       "maxLength" : 18,
+                                       "minLength" : 2,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                       "type" : "string"
+                                    }
                                  }
                               },
-                              "type" : "object"
-                           },
-                           "links" : [
-                              {
-                                 "href" : "{pos}",
-                                 "rel" : "child"
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit"
+                                    ]
+                                 ]
+                              },
+                              "proxyto" : null,
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "pos" : {
+                                          "type" : "integer"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{pos}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
+                              }
+                           },
+                           "POST" : {
+                              "description" : "Create new rule.",
+                              "method" : "POST",
+                              "name" : "create_rule",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "action" : {
+                                       "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+                                       "maxLength" : 20,
+                                       "minLength" : 2,
+                                       "optional" : 0,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                       "type" : "string"
+                                    },
+                                    "comment" : {
+                                       "description" : "Descriptive comment.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "dest" : {
+                                       "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                       "format" : "pve-fw-addr-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "digest" : {
+                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                       "maxLength" : 40,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "dport" : {
+                                       "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                       "format" : "pve-fw-dport-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "enable" : {
+                                       "description" : "Flag to enable/disable a rule.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
+                                    },
+                                    "group" : {
+                                       "description" : "Security Group name.",
+                                       "maxLength" : 18,
+                                       "minLength" : 2,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                       "type" : "string"
+                                    },
+                                    "iface" : {
+                                       "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
+                                       "format" : "pve-iface",
+                                       "maxLength" : 20,
+                                       "minLength" : 2,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "macro" : {
+                                       "description" : "Use predefined standard macro.",
+                                       "maxLength" : 128,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "pos" : {
+                                       "description" : "Update rule at position <pos>.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
+                                    },
+                                    "proto" : {
+                                       "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+                                       "format" : "pve-fw-protocol-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "source" : {
+                                       "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                       "format" : "pve-fw-addr-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "sport" : {
+                                       "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                       "format" : "pve-fw-sport-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "type" : {
+                                       "description" : "Rule type.",
+                                       "enum" : [
+                                          "in",
+                                          "out",
+                                          "group"
+                                       ],
+                                       "optional" : 0,
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : null,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/cluster/firewall/groups/{group}",
+                        "text" : "{group}"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "description" : "List security groups.",
+                        "method" : "GET",
+                        "name" : "list_security_groups",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "user" : "all"
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "comment" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
+                                 "digest" : {
+                                    "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                    "maxLength" : 40,
+                                    "optional" : 0,
+                                    "type" : "string"
+                                 },
+                                 "group" : {
+                                    "description" : "Security Group name.",
+                                    "maxLength" : 18,
+                                    "minLength" : 2,
+                                    "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{group}",
+                                 "rel" : "child"
                               }
                            ],
                            "type" : "array"
                         }
                      },
                      "POST" : {
-                        "description" : "Create new rule.",
+                        "description" : "Create new security group.",
                         "method" : "POST",
-                        "name" : "create_rule",
+                        "name" : "create_security_group",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
-                              "action" : {
-                                 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
-                                 "maxLength" : 20,
-                                 "minLength" : 2,
-                                 "optional" : 0,
-                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                 "type" : "string"
-                              },
                               "comment" : {
                                  "optional" : 1,
-                                 "type" : "string"
-                              },
-                              "dest" : {
-                                 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                 "format" : "pve-fw-addr-spec",
-                                 "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "digest" : {
                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                  "maxLength" : 40,
                                  "optional" : 1,
-                                 "type" : "string"
-                              },
-                              "dport" : {
-                                 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                 "format" : "pve-fw-dport-spec",
-                                 "optional" : 1,
-                                 "type" : "string"
-                              },
-                              "enable" : {
-                                 "minimum" : 0,
-                                 "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
-                              "iface" : {
-                                 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
-                                 "format" : "pve-iface",
-                                 "maxLength" : 20,
+                              "group" : {
+                                 "description" : "Security Group name.",
+                                 "maxLength" : 18,
                                  "minLength" : 2,
-                                 "optional" : 1,
-                                 "type" : "string"
-                              },
-                              "macro" : {
-                                 "maxLength" : 128,
-                                 "optional" : 1,
-                                 "type" : "string"
-                              },
-                              "pos" : {
-                                 "description" : "Update rule at position <pos>.",
-                                 "minimum" : 0,
-                                 "optional" : 1,
-                                 "type" : "integer"
-                              },
-                              "proto" : {
-                                 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
-                                 "format" : "pve-fw-protocol-spec",
-                                 "optional" : 1,
-                                 "type" : "string"
-                              },
-                              "source" : {
-                                 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                 "format" : "pve-fw-addr-spec",
-                                 "optional" : 1,
+                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
                                  "type" : "string"
                               },
-                              "sport" : {
-                                 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                 "format" : "pve-fw-sport-spec",
+                              "rename" : {
+                                 "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.",
+                                 "maxLength" : 18,
+                                 "minLength" : 2,
                                  "optional" : 1,
-                                 "type" : "string"
-                              },
-                              "type" : {
-                                 "enum" : [
-                                    "in",
-                                    "out",
-                                    "group"
-                                 ],
-                                 "optional" : 0,
+                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
                                  "type" : "string"
                               }
                            }
@@ -845,167 +1223,39 @@ var pveapi = [
                            ]
                         },
                         "protected" : 1,
-                        "proxyto" : null,
                         "returns" : {
                            "type" : "null"
                         }
                      }
                   },
                   "leaf" : 0,
-                  "path" : "/cluster/firewall/rules",
-                  "text" : "rules"
+                  "path" : "/cluster/firewall/groups",
+                  "text" : "groups"
                },
                {
                   "children" : [
                      {
-                        "children" : [
-                           {
-                              "info" : {
-                                 "DELETE" : {
-                                    "description" : "Remove IP or Network from IPSet.",
-                                    "method" : "DELETE",
-                                    "name" : "remove_ip",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "cidr" : {
-                                             "description" : "Network/IP specification in CIDR format.",
-                                             "format" : "IPorCIDRorAlias",
-                                             "type" : "string"
-                                          },
-                                          "digest" : {
-                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                             "maxLength" : 40,
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "name" : {
-                                             "description" : "IP set name.",
-                                             "maxLength" : 64,
-                                             "minLength" : 2,
-                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                             "type" : "string"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Modify"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "returns" : {
-                                       "type" : "null"
-                                    }
-                                 },
-                                 "GET" : {
-                                    "description" : "Read IP or Network settings from IPSet.",
-                                    "method" : "GET",
-                                    "name" : "read_ip",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "cidr" : {
-                                             "description" : "Network/IP specification in CIDR format.",
-                                             "format" : "IPorCIDRorAlias",
-                                             "type" : "string"
-                                          },
-                                          "name" : {
-                                             "description" : "IP set name.",
-                                             "maxLength" : 64,
-                                             "minLength" : 2,
-                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                             "type" : "string"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Audit"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "returns" : {
-                                       "type" : "object"
-                                    }
-                                 },
-                                 "PUT" : {
-                                    "description" : "Update IP or Network settings",
-                                    "method" : "PUT",
-                                    "name" : "update_ip",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "cidr" : {
-                                             "description" : "Network/IP specification in CIDR format.",
-                                             "format" : "IPorCIDRorAlias",
-                                             "type" : "string"
-                                          },
-                                          "comment" : {
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "digest" : {
-                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                             "maxLength" : 40,
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "name" : {
-                                             "description" : "IP set name.",
-                                             "maxLength" : 64,
-                                             "minLength" : 2,
-                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                             "type" : "string"
-                                          },
-                                          "nomatch" : {
-                                             "optional" : 1,
-                                             "type" : "boolean"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Modify"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "returns" : {
-                                       "type" : "null"
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/cluster/firewall/ipset/{name}/{cidr}",
-                              "text" : "{cidr}"
-                           }
-                        ],
                         "info" : {
                            "DELETE" : {
-                              "description" : "Delete IPSet",
+                              "description" : "Delete rule.",
                               "method" : "DELETE",
-                              "name" : "delete_ipset",
+                              "name" : "delete_rule",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "name" : {
-                                       "description" : "IP set name.",
-                                       "maxLength" : 64,
-                                       "minLength" : 2,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
+                                    "digest" : {
+                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                       "maxLength" : 40,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "pos" : {
+                                       "description" : "Update rule at position <pos>.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     }
                                  }
                               },
@@ -1019,23 +1269,24 @@ var pveapi = [
                                  ]
                               },
                               "protected" : 1,
+                              "proxyto" : null,
                               "returns" : {
                                  "type" : "null"
                               }
                            },
                            "GET" : {
-                              "description" : "List IPSet content",
+                              "description" : "Get single rule data.",
                               "method" : "GET",
-                              "name" : "get_ipset",
+                              "name" : "get_rule",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "name" : {
-                                       "description" : "IP set name.",
-                                       "maxLength" : 64,
-                                       "minLength" : 2,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
+                                    "pos" : {
+                                       "description" : "Update rule at position <pos>.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     }
                                  }
                               },
@@ -1048,92 +1299,161 @@ var pveapi = [
                                     ]
                                  ]
                               },
+                              "proxyto" : null,
                               "returns" : {
-                                 "items" : {
-                                    "properties" : {
-                                       "cidr" : {
-                                          "type" : "string"
-                                       },
-                                       "comment" : {
-                                          "optional" : 1,
-                                          "type" : "string"
-                                       },
-                                       "digest" : {
-                                          "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                          "maxLength" : 40,
-                                          "optional" : 0,
-                                          "type" : "string"
-                                       },
-                                       "nomatch" : {
-                                          "optional" : 1,
-                                          "type" : "boolean"
-                                       }
-                                    },
-                                    "type" : "object"
-                                 },
-                                 "links" : [
-                                    {
-                                       "href" : "{cidr}",
-                                       "rel" : "child"
+                                 "properties" : {
+                                    "pos" : {
+                                       "type" : "integer"
                                     }
-                                 ],
-                                 "type" : "array"
+                                 },
+                                 "type" : "object"
                               }
                            },
-                           "POST" : {
-                              "description" : "Add IP or Network to IPSet.",
-                              "method" : "POST",
-                              "name" : "create_ip",
+                           "PUT" : {
+                              "description" : "Modify rule data.",
+                              "method" : "PUT",
+                              "name" : "update_rule",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "cidr" : {
-                                       "description" : "Network/IP specification in CIDR format.",
-                                       "format" : "IPorCIDRorAlias",
+                                    "action" : {
+                                       "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+                                       "maxLength" : 20,
+                                       "minLength" : 2,
+                                       "optional" : 1,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
                                        "type" : "string"
                                     },
                                     "comment" : {
+                                       "description" : "Descriptive comment.",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
-                                    "name" : {
-                                       "description" : "IP set name.",
-                                       "maxLength" : 64,
+                                    "delete" : {
+                                       "description" : "A list of settings you want to delete.",
+                                       "format" : "pve-configid-list",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "dest" : {
+                                       "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                       "format" : "pve-fw-addr-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "digest" : {
+                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                       "maxLength" : 40,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "dport" : {
+                                       "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                       "format" : "pve-fw-dport-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "enable" : {
+                                       "description" : "Flag to enable/disable a rule.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
+                                    },
+                                    "iface" : {
+                                       "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
+                                       "format" : "pve-iface",
+                                       "maxLength" : 20,
                                        "minLength" : 2,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
-                                    "nomatch" : {
+                                    "macro" : {
+                                       "description" : "Use predefined standard macro.",
+                                       "maxLength" : 128,
                                        "optional" : 1,
-                                       "type" : "boolean"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "moveto" : {
+                                       "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
+                                    },
+                                    "pos" : {
+                                       "description" : "Update rule at position <pos>.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
+                                    },
+                                    "proto" : {
+                                       "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+                                       "format" : "pve-fw-protocol-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "source" : {
+                                       "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                       "format" : "pve-fw-addr-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "sport" : {
+                                       "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                       "format" : "pve-fw-sport-spec",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "type" : {
+                                       "description" : "Rule type.",
+                                       "enum" : [
+                                          "in",
+                                          "out",
+                                          "group"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
                                        "Sys.Modify"
                                     ]
                                  ]
                               },
                               "protected" : 1,
+                              "proxyto" : null,
                               "returns" : {
                                  "type" : "null"
                               }
                            }
                         },
-                        "leaf" : 0,
-                        "path" : "/cluster/firewall/ipset/{name}",
-                        "text" : "{name}"
+                        "leaf" : 1,
+                        "path" : "/cluster/firewall/rules/{pos}",
+                        "text" : "{pos}"
                      }
                   ],
                   "info" : {
                      "GET" : {
-                        "description" : "List IPSets",
+                        "description" : "List rules.",
                         "method" : "GET",
-                        "name" : "ipset_index",
+                        "name" : "get_rules",
                         "parameters" : {
                            "additionalProperties" : 0
                         },
@@ -1146,32 +1466,19 @@ var pveapi = [
                               ]
                            ]
                         },
+                        "proxyto" : null,
                         "returns" : {
                            "items" : {
                               "properties" : {
-                                 "comment" : {
-                                    "optional" : 1,
-                                    "type" : "string"
-                                 },
-                                 "digest" : {
-                                    "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                    "maxLength" : 40,
-                                    "optional" : 0,
-                                    "type" : "string"
-                                 },
-                                 "name" : {
-                                    "description" : "IP set name.",
-                                    "maxLength" : 64,
-                                    "minLength" : 2,
-                                    "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                    "type" : "string"
+                                 "pos" : {
+                                    "type" : "integer"
                                  }
                               },
                               "type" : "object"
                            },
                            "links" : [
                               {
-                                 "href" : "{name}",
+                                 "href" : "{pos}",
                                  "rel" : "child"
                               }
                            ],
@@ -1179,35 +1486,106 @@ var pveapi = [
                         }
                      },
                      "POST" : {
-                        "description" : "Create new IPSet",
+                        "description" : "Create new rule.",
                         "method" : "POST",
-                        "name" : "create_ipset",
+                        "name" : "create_rule",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "action" : {
+                                 "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+                                 "maxLength" : 20,
+                                 "minLength" : 2,
+                                 "optional" : 0,
+                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                 "type" : "string"
+                              },
                               "comment" : {
+                                 "description" : "Descriptive comment.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "dest" : {
+                                 "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                 "format" : "pve-fw-addr-spec",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "digest" : {
                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                  "maxLength" : 40,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
-                              "name" : {
-                                 "description" : "IP set name.",
-                                 "maxLength" : 64,
-                                 "minLength" : 2,
-                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                 "type" : "string"
+                              "dport" : {
+                                 "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                 "format" : "pve-fw-dport-spec",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
-                              "rename" : {
-                                 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
-                                 "maxLength" : 64,
+                              "enable" : {
+                                 "description" : "Flag to enable/disable a rule.",
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
+                              },
+                              "iface" : {
+                                 "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
+                                 "format" : "pve-iface",
+                                 "maxLength" : 20,
                                  "minLength" : 2,
                                  "optional" : 1,
-                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "macro" : {
+                                 "description" : "Use predefined standard macro.",
+                                 "maxLength" : 128,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "pos" : {
+                                 "description" : "Update rule at position <pos>.",
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
+                              },
+                              "proto" : {
+                                 "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+                                 "format" : "pve-fw-protocol-spec",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "source" : {
+                                 "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                 "format" : "pve-fw-addr-spec",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "sport" : {
+                                 "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                 "format" : "pve-fw-sport-spec",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "type" : {
+                                 "description" : "Rule type.",
+                                 "enum" : [
+                                    "in",
+                                    "out",
+                                    "group"
+                                 ],
+                                 "optional" : 0,
                                  "type" : "string"
                               }
                            }
@@ -1222,70 +1600,206 @@ var pveapi = [
                            ]
                         },
                         "protected" : 1,
+                        "proxyto" : null,
                         "returns" : {
                            "type" : "null"
                         }
                      }
                   },
                   "leaf" : 0,
-                  "path" : "/cluster/firewall/ipset",
-                  "text" : "ipset"
+                  "path" : "/cluster/firewall/rules",
+                  "text" : "rules"
                },
                {
                   "children" : [
                      {
-                        "info" : {
-                           "DELETE" : {
-                              "description" : "Remove IP or Network alias.",
-                              "method" : "DELETE",
-                              "name" : "remove_alias",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "digest" : {
-                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                       "maxLength" : 40,
-                                       "optional" : 1,
-                                       "type" : "string"
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "description" : "Remove IP or Network from IPSet.",
+                                    "method" : "DELETE",
+                                    "name" : "remove_ip",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "cidr" : {
+                                             "description" : "Network/IP specification in CIDR format.",
+                                             "format" : "IPorCIDRorAlias",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "digest" : {
+                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "name" : {
+                                             "description" : "IP set name.",
+                                             "maxLength" : 64,
+                                             "minLength" : 2,
+                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                             "type" : "string"
+                                          }
+                                       }
                                     },
-                                    "name" : {
-                                       "description" : "Alias name.",
-                                       "maxLength" : 64,
-                                       "minLength" : 2,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Modify"
-                                    ]
-                                 ]
-                              },
-                              "protected" : 1,
-                              "returns" : {
-                                 "type" : "null"
-                              }
-                           },
-                           "GET" : {
-                              "description" : "Read alias.",
-                              "method" : "GET",
-                              "name" : "read_alias",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "name" : {
-                                       "description" : "Alias name.",
-                                       "maxLength" : 64,
-                                       "minLength" : 2,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "null"
                                     }
-                                 }
+                                 },
+                                 "GET" : {
+                                    "description" : "Read IP or Network settings from IPSet.",
+                                    "method" : "GET",
+                                    "name" : "read_ip",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "cidr" : {
+                                             "description" : "Network/IP specification in CIDR format.",
+                                             "format" : "IPorCIDRorAlias",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "name" : {
+                                             "description" : "IP set name.",
+                                             "maxLength" : 64,
+                                             "minLength" : 2,
+                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                             "type" : "string"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Audit"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "description" : "Update IP or Network settings",
+                                    "method" : "PUT",
+                                    "name" : "update_ip",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "cidr" : {
+                                             "description" : "Network/IP specification in CIDR format.",
+                                             "format" : "IPorCIDRorAlias",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "comment" : {
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "digest" : {
+                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "name" : {
+                                             "description" : "IP set name.",
+                                             "maxLength" : 64,
+                                             "minLength" : 2,
+                                             "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                             "type" : "string"
+                                          },
+                                          "nomatch" : {
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/cluster/firewall/ipset/{name}/{cidr}",
+                              "text" : "{cidr}"
+                           }
+                        ],
+                        "info" : {
+                           "DELETE" : {
+                              "description" : "Delete IPSet",
+                              "method" : "DELETE",
+                              "name" : "delete_ipset",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "name" : {
+                                       "description" : "IP set name.",
+                                       "maxLength" : 64,
+                                       "minLength" : 2,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           },
+                           "GET" : {
+                              "description" : "List IPSet content",
+                              "method" : "GET",
+                              "name" : "get_ipset",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "name" : {
+                                       "description" : "IP set name.",
+                                       "maxLength" : 64,
+                                       "minLength" : 2,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                       "type" : "string"
+                                    }
+                                 }
                               },
                               "permissions" : {
                                  "check" : [
@@ -1297,45 +1811,66 @@ var pveapi = [
                                  ]
                               },
                               "returns" : {
-                                 "type" : "object"
+                                 "items" : {
+                                    "properties" : {
+                                       "cidr" : {
+                                          "type" : "string"
+                                       },
+                                       "comment" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "digest" : {
+                                          "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                          "maxLength" : 40,
+                                          "optional" : 0,
+                                          "type" : "string"
+                                       },
+                                       "nomatch" : {
+                                          "optional" : 1,
+                                          "type" : "boolean"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{cidr}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
                               }
                            },
-                           "PUT" : {
-                              "description" : "Update IP or Network alias.",
-                              "method" : "PUT",
-                              "name" : "update_alias",
+                           "POST" : {
+                              "description" : "Add IP or Network to IPSet.",
+                              "method" : "POST",
+                              "name" : "create_ip",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
                                     "cidr" : {
                                        "description" : "Network/IP specification in CIDR format.",
-                                       "format" : "IPorCIDR",
-                                       "type" : "string"
+                                       "format" : "IPorCIDRorAlias",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "comment" : {
                                        "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "digest" : {
-                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                       "maxLength" : 40,
-                                       "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "name" : {
-                                       "description" : "Alias name.",
+                                       "description" : "IP set name.",
                                        "maxLength" : 64,
                                        "minLength" : 2,
                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
                                        "type" : "string"
                                     },
-                                    "rename" : {
-                                       "description" : "Rename an existing alias.",
-                                       "maxLength" : 64,
-                                       "minLength" : 2,
+                                    "nomatch" : {
                                        "optional" : 1,
-                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                       "type" : "string"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     }
                                  }
                               },
@@ -1354,16 +1889,16 @@ var pveapi = [
                               }
                            }
                         },
-                        "leaf" : 1,
-                        "path" : "/cluster/firewall/aliases/{name}",
+                        "leaf" : 0,
+                        "path" : "/cluster/firewall/ipset/{name}",
                         "text" : "{name}"
                      }
                   ],
                   "info" : {
                      "GET" : {
-                        "description" : "List aliases",
+                        "description" : "List IPSets",
                         "method" : "GET",
-                        "name" : "get_aliases",
+                        "name" : "ipset_index",
                         "parameters" : {
                            "additionalProperties" : 0
                         },
@@ -1379,9 +1914,6 @@ var pveapi = [
                         "returns" : {
                            "items" : {
                               "properties" : {
-                                 "cidr" : {
-                                    "type" : "string"
-                                 },
                                  "comment" : {
                                     "optional" : 1,
                                     "type" : "string"
@@ -1393,6 +1925,10 @@ var pveapi = [
                                     "type" : "string"
                                  },
                                  "name" : {
+                                    "description" : "IP set name.",
+                                    "maxLength" : 64,
+                                    "minLength" : 2,
+                                    "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
                                     "type" : "string"
                                  }
                               },
@@ -1408,25 +1944,36 @@ var pveapi = [
                         }
                      },
                      "POST" : {
-                        "description" : "Create IP or Network Alias.",
+                        "description" : "Create new IPSet",
                         "method" : "POST",
-                        "name" : "create_alias",
+                        "name" : "create_ipset",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
-                              "cidr" : {
-                                 "description" : "Network/IP specification in CIDR format.",
-                                 "format" : "IPorCIDR",
-                                 "type" : "string"
-                              },
                               "comment" : {
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "digest" : {
+                                 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                 "maxLength" : 40,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "name" : {
-                                 "description" : "Alias name.",
+                                 "description" : "IP set name.",
+                                 "maxLength" : 64,
+                                 "minLength" : 2,
+                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                 "type" : "string"
+                              },
+                              "rename" : {
+                                 "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
                                  "maxLength" : 64,
                                  "minLength" : 2,
+                                 "optional" : 1,
                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
                                  "type" : "string"
                               }
@@ -1448,25 +1995,251 @@ var pveapi = [
                      }
                   },
                   "leaf" : 0,
-                  "path" : "/cluster/firewall/aliases",
-                  "text" : "aliases"
+                  "path" : "/cluster/firewall/ipset",
+                  "text" : "ipset"
                },
                {
-                  "info" : {
-                     "GET" : {
-                        "description" : "Get Firewall options.",
-                        "method" : "GET",
-                        "name" : "get_options",
-                        "parameters" : {
-                           "additionalProperties" : 0
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "perm",
-                              "/",
-                              [
-                                 "Sys.Audit"
-                              ]
+                  "children" : [
+                     {
+                        "info" : {
+                           "DELETE" : {
+                              "description" : "Remove IP or Network alias.",
+                              "method" : "DELETE",
+                              "name" : "remove_alias",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "digest" : {
+                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                       "maxLength" : 40,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "name" : {
+                                       "description" : "Alias name.",
+                                       "maxLength" : 64,
+                                       "minLength" : 2,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           },
+                           "GET" : {
+                              "description" : "Read alias.",
+                              "method" : "GET",
+                              "name" : "read_alias",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "name" : {
+                                       "description" : "Alias name.",
+                                       "maxLength" : 64,
+                                       "minLength" : 2,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit"
+                                    ]
+                                 ]
+                              },
+                              "returns" : {
+                                 "type" : "object"
+                              }
+                           },
+                           "PUT" : {
+                              "description" : "Update IP or Network alias.",
+                              "method" : "PUT",
+                              "name" : "update_alias",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "cidr" : {
+                                       "description" : "Network/IP specification in CIDR format.",
+                                       "format" : "IPorCIDR",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "comment" : {
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "digest" : {
+                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                       "maxLength" : 40,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "name" : {
+                                       "description" : "Alias name.",
+                                       "maxLength" : 64,
+                                       "minLength" : 2,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                       "type" : "string"
+                                    },
+                                    "rename" : {
+                                       "description" : "Rename an existing alias.",
+                                       "maxLength" : 64,
+                                       "minLength" : 2,
+                                       "optional" : 1,
+                                       "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/cluster/firewall/aliases/{name}",
+                        "text" : "{name}"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "description" : "List aliases",
+                        "method" : "GET",
+                        "name" : "get_aliases",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit"
+                              ]
+                           ]
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "cidr" : {
+                                    "type" : "string"
+                                 },
+                                 "comment" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
+                                 "digest" : {
+                                    "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                    "maxLength" : 40,
+                                    "optional" : 0,
+                                    "type" : "string"
+                                 },
+                                 "name" : {
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{name}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     },
+                     "POST" : {
+                        "description" : "Create IP or Network Alias.",
+                        "method" : "POST",
+                        "name" : "create_alias",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "cidr" : {
+                                 "description" : "Network/IP specification in CIDR format.",
+                                 "format" : "IPorCIDR",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "comment" : {
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "name" : {
+                                 "description" : "Alias name.",
+                                 "maxLength" : 64,
+                                 "minLength" : 2,
+                                 "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Modify"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/cluster/firewall/aliases",
+                  "text" : "aliases"
+               },
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Get Firewall options.",
+                        "method" : "GET",
+                        "name" : "get_options",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit"
+                              ]
                            ]
                         },
                         "returns" : {
@@ -1512,19 +2285,22 @@ var pveapi = [
                                  "description" : "A list of settings you want to delete.",
                                  "format" : "pve-configid-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "digest" : {
                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                  "maxLength" : 40,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "enable" : {
                                  "description" : "Enable or disable the firewall cluster wide.",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "policy_in" : {
                                  "description" : "Input policy.",
@@ -1706,7 +2482,8 @@ var pveapi = [
                               "id" : {
                                  "description" : "The job ID.",
                                  "maxLength" : 50,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -1734,7 +2511,8 @@ var pveapi = [
                               "id" : {
                                  "description" : "The job ID.",
                                  "maxLength" : 50,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -1762,14 +2540,16 @@ var pveapi = [
                                  "default" : 0,
                                  "description" : "Backup all known guest systems on this host.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "bwlimit" : {
                                  "default" : 0,
                                  "description" : "Limit I/O bandwidth (KBytes per second).",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "compress" : {
                                  "default" : "0",
@@ -1787,41 +2567,48 @@ var pveapi = [
                                  "description" : "A list of settings you want to delete.",
                                  "format" : "pve-configid-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "dow" : {
                                  "description" : "Day of week selection.",
                                  "format" : "pve-day-of-week-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "dumpdir" : {
                                  "description" : "Store resulting files to specified directory.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "enabled" : {
                                  "default" : "1",
                                  "description" : "Enable or disable the job.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "exclude" : {
                                  "description" : "Exclude specified guest systems (assumes --all)",
                                  "format" : "pve-vmid-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "exclude-path" : {
                                  "description" : "Exclude certain files/directories (shell globs).",
                                  "format" : "string-alist",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "id" : {
                                  "description" : "The job ID.",
                                  "maxLength" : 50,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ionice" : {
                                  "default" : 7,
@@ -1829,14 +2616,16 @@ var pveapi = [
                                  "maximum" : 8,
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - 8)"
                               },
                               "lockwait" : {
                                  "default" : 180,
                                  "description" : "Maximal time to wait for the global lock (minutes).",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "mailnotification" : {
                                  "default" : "always",
@@ -1852,14 +2641,16 @@ var pveapi = [
                                  "description" : "Comma-separated list of email addresses that should receive email notifications.",
                                  "format" : "string-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "maxfiles" : {
                                  "default" : 1,
                                  "description" : "Maximal number of backup files per guest system.",
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
                               },
                               "mode" : {
                                  "default" : "snapshot",
@@ -1876,37 +2667,43 @@ var pveapi = [
                                  "description" : "Only run if executed on this node.",
                                  "format" : "pve-node",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "pigz" : {
                                  "default" : 0,
                                  "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
                               },
                               "quiet" : {
                                  "default" : 0,
                                  "description" : "Be quiet.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "remove" : {
                                  "default" : 1,
                                  "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "script" : {
                                  "description" : "Use specified hook script.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "size" : {
                                  "default" : 1024,
                                  "description" : "Unused, will be removed in a future release.",
                                  "minimum" : 500,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (500 - N)"
                               },
                               "starttime" : {
                                  "description" : "Job Start time.",
@@ -1918,37 +2715,43 @@ var pveapi = [
                                  "default" : 1,
                                  "description" : "Exclude temporary files and logs.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "stop" : {
                                  "default" : 0,
                                  "description" : "Stop runnig backup jobs on this host.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "stopwait" : {
                                  "default" : 10,
                                  "description" : "Maximal time to wait until a guest system is stopped (minutes).",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "storage" : {
                                  "description" : "Store resulting file to this storage.",
                                  "format" : "pve-storage-id",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "tmpdir" : {
                                  "description" : "Store temporary files to specified directory.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "vmid" : {
                                  "description" : "The ID of the guest system you want to backup.",
                                  "format" : "pve-vmid-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -2018,14 +2821,16 @@ var pveapi = [
                            "default" : 0,
                            "description" : "Backup all known guest systems on this host.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "bwlimit" : {
                            "default" : 0,
                            "description" : "Limit I/O bandwidth (KBytes per second).",
                            "minimum" : 0,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (0 - N)"
                         },
                         "compress" : {
                            "default" : "0",
@@ -2044,30 +2849,35 @@ var pveapi = [
                            "description" : "Day of week selection.",
                            "format" : "pve-day-of-week-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "dumpdir" : {
                            "description" : "Store resulting files to specified directory.",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "enabled" : {
                            "default" : "1",
                            "description" : "Enable or disable the job.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "exclude" : {
                            "description" : "Exclude specified guest systems (assumes --all)",
                            "format" : "pve-vmid-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "exclude-path" : {
                            "description" : "Exclude certain files/directories (shell globs).",
                            "format" : "string-alist",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "ionice" : {
                            "default" : 7,
@@ -2075,14 +2885,16 @@ var pveapi = [
                            "maximum" : 8,
                            "minimum" : 0,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (0 - 8)"
                         },
                         "lockwait" : {
                            "default" : 180,
                            "description" : "Maximal time to wait for the global lock (minutes).",
                            "minimum" : 0,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (0 - N)"
                         },
                         "mailnotification" : {
                            "default" : "always",
@@ -2098,14 +2910,16 @@ var pveapi = [
                            "description" : "Comma-separated list of email addresses that should receive email notifications.",
                            "format" : "string-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "maxfiles" : {
                            "default" : 1,
                            "description" : "Maximal number of backup files per guest system.",
                            "minimum" : 1,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - N)"
                         },
                         "mode" : {
                            "default" : "snapshot",
@@ -2122,37 +2936,43 @@ var pveapi = [
                            "description" : "Only run if executed on this node.",
                            "format" : "pve-node",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "pigz" : {
                            "default" : 0,
                            "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer>"
                         },
                         "quiet" : {
                            "default" : 0,
                            "description" : "Be quiet.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "remove" : {
                            "default" : 1,
                            "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "script" : {
                            "description" : "Use specified hook script.",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "size" : {
                            "default" : 1024,
                            "description" : "Unused, will be removed in a future release.",
                            "minimum" : 500,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (500 - N)"
                         },
                         "starttime" : {
                            "description" : "Job Start time.",
@@ -2164,37 +2984,43 @@ var pveapi = [
                            "default" : 1,
                            "description" : "Exclude temporary files and logs.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "stop" : {
                            "default" : 0,
                            "description" : "Stop runnig backup jobs on this host.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "stopwait" : {
                            "default" : 10,
                            "description" : "Maximal time to wait until a guest system is stopped (minutes).",
                            "minimum" : 0,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (0 - N)"
                         },
                         "storage" : {
                            "description" : "Store resulting file to this storage.",
                            "format" : "pve-storage-id",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "tmpdir" : {
                            "description" : "Store temporary files to specified directory.",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "vmid" : {
                            "description" : "The ID of the guest system you want to backup.",
                            "format" : "pve-vmid-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -2205,7 +3031,8 @@ var pveapi = [
                         [
                            "Sys.Modify"
                         ]
-                     ]
+                     ],
+                     "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
                   },
                   "protected" : 1,
                   "returns" : {
@@ -2235,7 +3062,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "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).",
@@ -2276,7 +3104,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "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).",
@@ -2373,40 +3202,46 @@ var pveapi = [
                                        "description" : "Description.",
                                        "maxLength" : 4096,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "delete" : {
                                        "description" : "A list of settings you want to delete.",
                                        "format" : "pve-configid-list",
                                        "maxLength" : 4096,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "digest" : {
                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                        "maxLength" : 40,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "group" : {
                                        "description" : "The HA group identifier.",
                                        "format" : "pve-configid",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "max_relocate" : {
                                        "default" : 1,
                                        "description" : "Maximal number of service relocate tries when a service failes to start.",
                                        "minimum" : 0,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     },
                                     "max_restart" : {
                                        "default" : 1,
                                        "description" : "Maximal number of tries to restart the service on a node after its start failed.",
                                        "minimum" : 0,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     },
                                     "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).",
@@ -2415,14 +3250,18 @@ var pveapi = [
                                        "typetext" : "<type>:<name>"
                                     },
                                     "state" : {
-                                       "default" : "enabled",
-                                       "description" : "Resource state.",
+                                       "default" : "started",
+                                       "description" : "Requested resource state.",
                                        "enum" : [
+                                          "started",
+                                          "stopped",
                                           "enabled",
-                                          "disabled"
+                                          "disabled",
+                                          "ignored"
                                        ],
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource.  If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
                                     }
                                  },
                                  "type" : "object"
@@ -2504,27 +3343,31 @@ var pveapi = [
                                  "description" : "Description.",
                                  "maxLength" : 4096,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "group" : {
                                  "description" : "The HA group identifier.",
                                  "format" : "pve-configid",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "max_relocate" : {
                                  "default" : 1,
                                  "description" : "Maximal number of service relocate tries when a service failes to start.",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "max_restart" : {
                                  "default" : 1,
                                  "description" : "Maximal number of tries to restart the service on a node after its start failed.",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "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).",
@@ -2533,14 +3376,18 @@ var pveapi = [
                                  "typetext" : "<type>:<name>"
                               },
                               "state" : {
-                                 "default" : "enabled",
-                                 "description" : "Resource state.",
+                                 "default" : "started",
+                                 "description" : "Requested resource state.",
                                  "enum" : [
+                                    "started",
+                                    "stopped",
                                     "enabled",
-                                    "disabled"
+                                    "disabled",
+                                    "ignored"
                                  ],
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource.  If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
                               },
                               "type" : {
                                  "description" : "Resource type.",
@@ -2587,7 +3434,8 @@ var pveapi = [
                                     "group" : {
                                        "description" : "The HA group identifier.",
                                        "format" : "pve-configid",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -2615,7 +3463,8 @@ var pveapi = [
                                     "group" : {
                                        "description" : "The HA group identifier.",
                                        "format" : "pve-configid",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -2641,44 +3490,52 @@ var pveapi = [
                                        "description" : "Description.",
                                        "maxLength" : 4096,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "delete" : {
                                        "description" : "A list of settings you want to delete.",
                                        "format" : "pve-configid-list",
                                        "maxLength" : 4096,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "digest" : {
                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                        "maxLength" : 40,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "group" : {
                                        "description" : "The HA group identifier.",
                                        "format" : "pve-configid",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "nodes" : {
-                                       "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').",
+                                       "description" : "List of cluster node names with optional priority.",
                                        "format" : "pve-ha-group-node-list",
                                        "optional" : 1,
                                        "type" : "string",
-                                       "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*"
+                                       "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
+                                       "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
                                     },
                                     "nofailback" : {
                                        "default" : 0,
                                        "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "restricted" : {
                                        "default" : 0,
-                                       "description" : "Services on unrestricted groups may run on any cluster members if all group members are offline. But they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with one member.",
+                                       "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>",
+                                       "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
                                     }
                                  },
                                  "type" : "object"
@@ -2749,31 +3606,37 @@ var pveapi = [
                                  "description" : "Description.",
                                  "maxLength" : 4096,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "group" : {
                                  "description" : "The HA group identifier.",
                                  "format" : "pve-configid",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "nodes" : {
-                                 "description" : "List of cluster node names with optional priority. We use priority '0' as default. The CRM tries to run services on the node with highest priority (also see option 'nofailback').",
+                                 "description" : "List of cluster node names with optional priority.",
                                  "format" : "pve-ha-group-node-list",
                                  "optional" : 0,
                                  "type" : "string",
-                                 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*"
+                                 "typetext" : "<node>[:<pri>]{,<node>[:<pri>]}*",
+                                 "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
                               },
                               "nofailback" : {
                                  "default" : 0,
                                  "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "restricted" : {
                                  "default" : 0,
-                                 "description" : "Services on unrestricted groups may run on any cluster members if all group members are offline. But they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with one member.",
+                                 "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>",
+                                 "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
                               },
                               "type" : {
                                  "description" : "Group type.",
@@ -2946,7 +3809,8 @@ var pveapi = [
                            "description" : "Maximum number of entries.",
                            "minimum" : 1,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - N)"
                         }
                      }
                   },
@@ -3061,8 +3925,51 @@ var pveapi = [
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
+                        "bwlimit" : {
+                           "description" : "Set bandwidth/io limits various operations.",
+                           "format" : {
+                              "clone" : {
+                                 "description" : "bandwidth limit in MiB/s for cloning disks",
+                                 "format_description" : "LIMIT",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "number"
+                              },
+                              "default" : {
+                                 "description" : "default bandwidth limit in MiB/s",
+                                 "format_description" : "LIMIT",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "number"
+                              },
+                              "migration" : {
+                                 "description" : "bandwidth limit in MiB/s for migrating guests",
+                                 "format_description" : "LIMIT",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "number"
+                              },
+                              "move" : {
+                                 "description" : "bandwidth limit in MiB/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",
+                                 "format_description" : "LIMIT",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "number"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
+                        },
                         "console" : {
-                           "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC), an external virt-viewer comtatible application (SPICE), or an HTML5 based viewer (noVNC).",
+                           "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC; deprecated and maps to html5), an external virt-viewer comtatible application (SPICE), or an HTML5 based viewer (noVNC).",
                            "enum" : [
                               "applet",
                               "vv",
@@ -3075,13 +3982,15 @@ var pveapi = [
                            "description" : "A list of settings you want to delete.",
                            "format" : "pve-configid-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "email_from" : {
                            "description" : "Specify email address to send notification from (default is root@$hostname)",
                            "format" : "email-opt",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "fencing" : {
                            "default" : "watchdog",
@@ -3141,16 +4050,49 @@ var pveapi = [
                            "optional" : 1,
                            "type" : "string"
                         },
+                        "mac_prefix" : {
+                           "description" : "Prefix for autogenerated MAC addresses.",
+                           "optional" : 1,
+                           "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
+                           "type" : "string"
+                        },
                         "max_workers" : {
                            "description" : "Defines how many workers (per node) are maximal started  on actions like 'stopall VMs' or task from the ha-manager.",
                            "minimum" : 1,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - N)"
+                        },
+                        "migration" : {
+                           "description" : "For cluster wide migration settings.",
+                           "format" : {
+                              "network" : {
+                                 "description" : "CIDR of the (sub) network that is used for migration.",
+                                 "format" : "CIDR",
+                                 "format_description" : "CIDR",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "type" : {
+                                 "default" : "secure",
+                                 "default_key" : 1,
+                                 "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
+                                 "enum" : [
+                                    "secure",
+                                    "insecure"
+                                 ],
+                                 "type" : "string"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[type=]<secure|insecure> [,network=<CIDR>]"
                         },
                         "migration_unsecure" : {
-                           "description" : "Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration.",
+                           "description" : "Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration. Deprecated, use the 'migration' property instead!",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         }
                      }
                   },
@@ -3223,7 +4165,8 @@ var pveapi = [
                            "format" : "pve-vmid",
                            "minimum" : 1,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - N)"
                         }
                      }
                   },
@@ -3296,239 +4239,1588 @@ var pveapi = [
                                                          "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                          "maxLength" : 40,
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "pos" : {
                                                          "description" : "Update rule at position <pos>.",
                                                          "minimum" : 0,
                                                          "optional" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
+                                                      }
+                                                   }
+                                                },
+                                                "permissions" : {
+                                                   "check" : [
+                                                      "perm",
+                                                      "/vms/{vmid}",
+                                                      [
+                                                         "VM.Config.Network"
+                                                      ]
+                                                   ]
+                                                },
+                                                "protected" : 1,
+                                                "proxyto" : null,
+                                                "returns" : {
+                                                   "type" : "null"
+                                                }
+                                             },
+                                             "GET" : {
+                                                "description" : "Get single rule data.",
+                                                "method" : "GET",
+                                                "name" : "get_rule",
+                                                "parameters" : {
+                                                   "additionalProperties" : 0,
+                                                   "properties" : {
+                                                      "node" : {
+                                                         "description" : "The cluster node name.",
+                                                         "format" : "pve-node",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "pos" : {
+                                                         "description" : "Update rule at position <pos>.",
+                                                         "minimum" : 0,
+                                                         "optional" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
+                                                      },
+                                                      "vmid" : {
+                                                         "description" : "The (unique) ID of the VM.",
+                                                         "format" : "pve-vmid",
+                                                         "minimum" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
-                                                "permissions" : {
-                                                   "check" : [
-                                                      "perm",
-                                                      "/vms/{vmid}",
-                                                      [
-                                                         "VM.Config.Network"
-                                                      ]
-                                                   ]
+                                                "permissions" : {
+                                                   "check" : [
+                                                      "perm",
+                                                      "/vms/{vmid}",
+                                                      [
+                                                         "VM.Audit"
+                                                      ]
+                                                   ]
+                                                },
+                                                "proxyto" : null,
+                                                "returns" : {
+                                                   "properties" : {
+                                                      "pos" : {
+                                                         "type" : "integer"
+                                                      }
+                                                   },
+                                                   "type" : "object"
+                                                }
+                                             },
+                                             "PUT" : {
+                                                "description" : "Modify rule data.",
+                                                "method" : "PUT",
+                                                "name" : "update_rule",
+                                                "parameters" : {
+                                                   "additionalProperties" : 0,
+                                                   "properties" : {
+                                                      "action" : {
+                                                         "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+                                                         "maxLength" : 20,
+                                                         "minLength" : 2,
+                                                         "optional" : 1,
+                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                         "type" : "string"
+                                                      },
+                                                      "comment" : {
+                                                         "description" : "Descriptive comment.",
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "delete" : {
+                                                         "description" : "A list of settings you want to delete.",
+                                                         "format" : "pve-configid-list",
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "dest" : {
+                                                         "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                                         "format" : "pve-fw-addr-spec",
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "digest" : {
+                                                         "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                         "maxLength" : 40,
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "dport" : {
+                                                         "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                                         "format" : "pve-fw-dport-spec",
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "enable" : {
+                                                         "description" : "Flag to enable/disable a rule.",
+                                                         "minimum" : 0,
+                                                         "optional" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
+                                                      },
+                                                      "iface" : {
+                                                         "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
+                                                         "format" : "pve-iface",
+                                                         "maxLength" : 20,
+                                                         "minLength" : 2,
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "macro" : {
+                                                         "description" : "Use predefined standard macro.",
+                                                         "maxLength" : 128,
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "moveto" : {
+                                                         "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
+                                                         "minimum" : 0,
+                                                         "optional" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
+                                                      },
+                                                      "node" : {
+                                                         "description" : "The cluster node name.",
+                                                         "format" : "pve-node",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "pos" : {
+                                                         "description" : "Update rule at position <pos>.",
+                                                         "minimum" : 0,
+                                                         "optional" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
+                                                      },
+                                                      "proto" : {
+                                                         "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+                                                         "format" : "pve-fw-protocol-spec",
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "source" : {
+                                                         "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                                         "format" : "pve-fw-addr-spec",
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "sport" : {
+                                                         "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                                         "format" : "pve-fw-sport-spec",
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "type" : {
+                                                         "description" : "Rule type.",
+                                                         "enum" : [
+                                                            "in",
+                                                            "out",
+                                                            "group"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "vmid" : {
+                                                         "description" : "The (unique) ID of the VM.",
+                                                         "format" : "pve-vmid",
+                                                         "minimum" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
+                                                      }
+                                                   }
+                                                },
+                                                "permissions" : {
+                                                   "check" : [
+                                                      "perm",
+                                                      "/vms/{vmid}",
+                                                      [
+                                                         "VM.Config.Network"
+                                                      ]
+                                                   ]
+                                                },
+                                                "protected" : 1,
+                                                "proxyto" : null,
+                                                "returns" : {
+                                                   "type" : "null"
+                                                }
+                                             }
+                                          },
+                                          "leaf" : 1,
+                                          "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
+                                          "text" : "{pos}"
+                                       }
+                                    ],
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "List rules.",
+                                          "method" : "GET",
+                                          "name" : "get_rules",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Audit"
+                                                ]
+                                             ]
+                                          },
+                                          "proxyto" : null,
+                                          "returns" : {
+                                             "items" : {
+                                                "properties" : {
+                                                   "pos" : {
+                                                      "type" : "integer"
+                                                   }
+                                                },
+                                                "type" : "object"
+                                             },
+                                             "links" : [
+                                                {
+                                                   "href" : "{pos}",
+                                                   "rel" : "child"
+                                                }
+                                             ],
+                                             "type" : "array"
+                                          }
+                                       },
+                                       "POST" : {
+                                          "description" : "Create new rule.",
+                                          "method" : "POST",
+                                          "name" : "create_rule",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "action" : {
+                                                   "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+                                                   "maxLength" : 20,
+                                                   "minLength" : 2,
+                                                   "optional" : 0,
+                                                   "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                   "type" : "string"
+                                                },
+                                                "comment" : {
+                                                   "description" : "Descriptive comment.",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "dest" : {
+                                                   "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                                   "format" : "pve-fw-addr-spec",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "digest" : {
+                                                   "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                   "maxLength" : 40,
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "dport" : {
+                                                   "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                                   "format" : "pve-fw-dport-spec",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "enable" : {
+                                                   "description" : "Flag to enable/disable a rule.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
+                                                "iface" : {
+                                                   "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
+                                                   "format" : "pve-iface",
+                                                   "maxLength" : 20,
+                                                   "minLength" : 2,
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "macro" : {
+                                                   "description" : "Use predefined standard macro.",
+                                                   "maxLength" : 128,
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "pos" : {
+                                                   "description" : "Update rule at position <pos>.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
+                                                "proto" : {
+                                                   "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+                                                   "format" : "pve-fw-protocol-spec",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "source" : {
+                                                   "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
+                                                   "format" : "pve-fw-addr-spec",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "sport" : {
+                                                   "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+                                                   "format" : "pve-fw-sport-spec",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "type" : {
+                                                   "description" : "Rule type.",
+                                                   "enum" : [
+                                                      "in",
+                                                      "out",
+                                                      "group"
+                                                   ],
+                                                   "optional" : 0,
+                                                   "type" : "string"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Config.Network"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : null,
+                                          "returns" : {
+                                             "type" : "null"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 0,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
+                                    "text" : "rules"
+                                 },
+                                 {
+                                    "children" : [
+                                       {
+                                          "info" : {
+                                             "DELETE" : {
+                                                "description" : "Remove IP or Network alias.",
+                                                "method" : "DELETE",
+                                                "name" : "remove_alias",
+                                                "parameters" : {
+                                                   "additionalProperties" : 0,
+                                                   "properties" : {
+                                                      "digest" : {
+                                                         "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                         "maxLength" : 40,
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "name" : {
+                                                         "description" : "Alias name.",
+                                                         "maxLength" : 64,
+                                                         "minLength" : 2,
+                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                         "type" : "string"
+                                                      },
+                                                      "node" : {
+                                                         "description" : "The cluster node name.",
+                                                         "format" : "pve-node",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "vmid" : {
+                                                         "description" : "The (unique) ID of the VM.",
+                                                         "format" : "pve-vmid",
+                                                         "minimum" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
+                                                      }
+                                                   }
+                                                },
+                                                "permissions" : {
+                                                   "check" : [
+                                                      "perm",
+                                                      "/vms/{vmid}",
+                                                      [
+                                                         "VM.Config.Network"
+                                                      ]
+                                                   ]
+                                                },
+                                                "protected" : 1,
+                                                "returns" : {
+                                                   "type" : "null"
+                                                }
+                                             },
+                                             "GET" : {
+                                                "description" : "Read alias.",
+                                                "method" : "GET",
+                                                "name" : "read_alias",
+                                                "parameters" : {
+                                                   "additionalProperties" : 0,
+                                                   "properties" : {
+                                                      "name" : {
+                                                         "description" : "Alias name.",
+                                                         "maxLength" : 64,
+                                                         "minLength" : 2,
+                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                         "type" : "string"
+                                                      },
+                                                      "node" : {
+                                                         "description" : "The cluster node name.",
+                                                         "format" : "pve-node",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "vmid" : {
+                                                         "description" : "The (unique) ID of the VM.",
+                                                         "format" : "pve-vmid",
+                                                         "minimum" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
+                                                      }
+                                                   }
+                                                },
+                                                "permissions" : {
+                                                   "check" : [
+                                                      "perm",
+                                                      "/vms/{vmid}",
+                                                      [
+                                                         "VM.Audit"
+                                                      ]
+                                                   ]
+                                                },
+                                                "returns" : {
+                                                   "type" : "object"
+                                                }
+                                             },
+                                             "PUT" : {
+                                                "description" : "Update IP or Network alias.",
+                                                "method" : "PUT",
+                                                "name" : "update_alias",
+                                                "parameters" : {
+                                                   "additionalProperties" : 0,
+                                                   "properties" : {
+                                                      "cidr" : {
+                                                         "description" : "Network/IP specification in CIDR format.",
+                                                         "format" : "IPorCIDR",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "comment" : {
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "digest" : {
+                                                         "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                         "maxLength" : 40,
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "name" : {
+                                                         "description" : "Alias name.",
+                                                         "maxLength" : 64,
+                                                         "minLength" : 2,
+                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                         "type" : "string"
+                                                      },
+                                                      "node" : {
+                                                         "description" : "The cluster node name.",
+                                                         "format" : "pve-node",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "rename" : {
+                                                         "description" : "Rename an existing alias.",
+                                                         "maxLength" : 64,
+                                                         "minLength" : 2,
+                                                         "optional" : 1,
+                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                         "type" : "string"
+                                                      },
+                                                      "vmid" : {
+                                                         "description" : "The (unique) ID of the VM.",
+                                                         "format" : "pve-vmid",
+                                                         "minimum" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
+                                                      }
+                                                   }
+                                                },
+                                                "permissions" : {
+                                                   "check" : [
+                                                      "perm",
+                                                      "/vms/{vmid}",
+                                                      [
+                                                         "VM.Config.Network"
+                                                      ]
+                                                   ]
+                                                },
+                                                "protected" : 1,
+                                                "returns" : {
+                                                   "type" : "null"
+                                                }
+                                             }
+                                          },
+                                          "leaf" : 1,
+                                          "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
+                                          "text" : "{name}"
+                                       }
+                                    ],
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "List aliases",
+                                          "method" : "GET",
+                                          "name" : "get_aliases",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Audit"
+                                                ]
+                                             ]
+                                          },
+                                          "returns" : {
+                                             "items" : {
+                                                "properties" : {
+                                                   "cidr" : {
+                                                      "type" : "string"
+                                                   },
+                                                   "comment" : {
+                                                      "optional" : 1,
+                                                      "type" : "string"
+                                                   },
+                                                   "digest" : {
+                                                      "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                      "maxLength" : 40,
+                                                      "optional" : 0,
+                                                      "type" : "string"
+                                                   },
+                                                   "name" : {
+                                                      "type" : "string"
+                                                   }
+                                                },
+                                                "type" : "object"
+                                             },
+                                             "links" : [
+                                                {
+                                                   "href" : "{name}",
+                                                   "rel" : "child"
+                                                }
+                                             ],
+                                             "type" : "array"
+                                          }
+                                       },
+                                       "POST" : {
+                                          "description" : "Create IP or Network Alias.",
+                                          "method" : "POST",
+                                          "name" : "create_alias",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "cidr" : {
+                                                   "description" : "Network/IP specification in CIDR format.",
+                                                   "format" : "IPorCIDR",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "comment" : {
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "name" : {
+                                                   "description" : "Alias name.",
+                                                   "maxLength" : 64,
+                                                   "minLength" : 2,
+                                                   "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                   "type" : "string"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Config.Network"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "returns" : {
+                                             "type" : "null"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 0,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
+                                    "text" : "aliases"
+                                 },
+                                 {
+                                    "children" : [
+                                       {
+                                          "children" : [
+                                             {
+                                                "info" : {
+                                                   "DELETE" : {
+                                                      "description" : "Remove IP or Network from IPSet.",
+                                                      "method" : "DELETE",
+                                                      "name" : "remove_ip",
+                                                      "parameters" : {
+                                                         "additionalProperties" : 0,
+                                                         "properties" : {
+                                                            "cidr" : {
+                                                               "description" : "Network/IP specification in CIDR format.",
+                                                               "format" : "IPorCIDRorAlias",
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
+                                                            },
+                                                            "digest" : {
+                                                               "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                               "maxLength" : 40,
+                                                               "optional" : 1,
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
+                                                            },
+                                                            "name" : {
+                                                               "description" : "IP set name.",
+                                                               "maxLength" : 64,
+                                                               "minLength" : 2,
+                                                               "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                               "type" : "string"
+                                                            },
+                                                            "node" : {
+                                                               "description" : "The cluster node name.",
+                                                               "format" : "pve-node",
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
+                                                            },
+                                                            "vmid" : {
+                                                               "description" : "The (unique) ID of the VM.",
+                                                               "format" : "pve-vmid",
+                                                               "minimum" : 1,
+                                                               "type" : "integer",
+                                                               "typetext" : "<integer> (1 - N)"
+                                                            }
+                                                         }
+                                                      },
+                                                      "permissions" : {
+                                                         "check" : [
+                                                            "perm",
+                                                            "/vms/{vmid}",
+                                                            [
+                                                               "VM.Config.Network"
+                                                            ]
+                                                         ]
+                                                      },
+                                                      "protected" : 1,
+                                                      "returns" : {
+                                                         "type" : "null"
+                                                      }
+                                                   },
+                                                   "GET" : {
+                                                      "description" : "Read IP or Network settings from IPSet.",
+                                                      "method" : "GET",
+                                                      "name" : "read_ip",
+                                                      "parameters" : {
+                                                         "additionalProperties" : 0,
+                                                         "properties" : {
+                                                            "cidr" : {
+                                                               "description" : "Network/IP specification in CIDR format.",
+                                                               "format" : "IPorCIDRorAlias",
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
+                                                            },
+                                                            "name" : {
+                                                               "description" : "IP set name.",
+                                                               "maxLength" : 64,
+                                                               "minLength" : 2,
+                                                               "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                               "type" : "string"
+                                                            },
+                                                            "node" : {
+                                                               "description" : "The cluster node name.",
+                                                               "format" : "pve-node",
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
+                                                            },
+                                                            "vmid" : {
+                                                               "description" : "The (unique) ID of the VM.",
+                                                               "format" : "pve-vmid",
+                                                               "minimum" : 1,
+                                                               "type" : "integer",
+                                                               "typetext" : "<integer> (1 - N)"
+                                                            }
+                                                         }
+                                                      },
+                                                      "permissions" : {
+                                                         "check" : [
+                                                            "perm",
+                                                            "/vms/{vmid}",
+                                                            [
+                                                               "VM.Audit"
+                                                            ]
+                                                         ]
+                                                      },
+                                                      "protected" : 1,
+                                                      "returns" : {
+                                                         "type" : "object"
+                                                      }
+                                                   },
+                                                   "PUT" : {
+                                                      "description" : "Update IP or Network settings",
+                                                      "method" : "PUT",
+                                                      "name" : "update_ip",
+                                                      "parameters" : {
+                                                         "additionalProperties" : 0,
+                                                         "properties" : {
+                                                            "cidr" : {
+                                                               "description" : "Network/IP specification in CIDR format.",
+                                                               "format" : "IPorCIDRorAlias",
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
+                                                            },
+                                                            "comment" : {
+                                                               "optional" : 1,
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
+                                                            },
+                                                            "digest" : {
+                                                               "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                               "maxLength" : 40,
+                                                               "optional" : 1,
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
+                                                            },
+                                                            "name" : {
+                                                               "description" : "IP set name.",
+                                                               "maxLength" : 64,
+                                                               "minLength" : 2,
+                                                               "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                               "type" : "string"
+                                                            },
+                                                            "node" : {
+                                                               "description" : "The cluster node name.",
+                                                               "format" : "pve-node",
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
+                                                            },
+                                                            "nomatch" : {
+                                                               "optional" : 1,
+                                                               "type" : "boolean",
+                                                               "typetext" : "<boolean>"
+                                                            },
+                                                            "vmid" : {
+                                                               "description" : "The (unique) ID of the VM.",
+                                                               "format" : "pve-vmid",
+                                                               "minimum" : 1,
+                                                               "type" : "integer",
+                                                               "typetext" : "<integer> (1 - N)"
+                                                            }
+                                                         }
+                                                      },
+                                                      "permissions" : {
+                                                         "check" : [
+                                                            "perm",
+                                                            "/vms/{vmid}",
+                                                            [
+                                                               "VM.Config.Network"
+                                                            ]
+                                                         ]
+                                                      },
+                                                      "protected" : 1,
+                                                      "returns" : {
+                                                         "type" : "null"
+                                                      }
+                                                   }
+                                                },
+                                                "leaf" : 1,
+                                                "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
+                                                "text" : "{cidr}"
+                                             }
+                                          ],
+                                          "info" : {
+                                             "DELETE" : {
+                                                "description" : "Delete IPSet",
+                                                "method" : "DELETE",
+                                                "name" : "delete_ipset",
+                                                "parameters" : {
+                                                   "additionalProperties" : 0,
+                                                   "properties" : {
+                                                      "name" : {
+                                                         "description" : "IP set name.",
+                                                         "maxLength" : 64,
+                                                         "minLength" : 2,
+                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                         "type" : "string"
+                                                      },
+                                                      "node" : {
+                                                         "description" : "The cluster node name.",
+                                                         "format" : "pve-node",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "vmid" : {
+                                                         "description" : "The (unique) ID of the VM.",
+                                                         "format" : "pve-vmid",
+                                                         "minimum" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
+                                                      }
+                                                   }
+                                                },
+                                                "permissions" : {
+                                                   "check" : [
+                                                      "perm",
+                                                      "/vms/{vmid}",
+                                                      [
+                                                         "VM.Config.Network"
+                                                      ]
+                                                   ]
+                                                },
+                                                "protected" : 1,
+                                                "returns" : {
+                                                   "type" : "null"
+                                                }
+                                             },
+                                             "GET" : {
+                                                "description" : "List IPSet content",
+                                                "method" : "GET",
+                                                "name" : "get_ipset",
+                                                "parameters" : {
+                                                   "additionalProperties" : 0,
+                                                   "properties" : {
+                                                      "name" : {
+                                                         "description" : "IP set name.",
+                                                         "maxLength" : 64,
+                                                         "minLength" : 2,
+                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                         "type" : "string"
+                                                      },
+                                                      "node" : {
+                                                         "description" : "The cluster node name.",
+                                                         "format" : "pve-node",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "vmid" : {
+                                                         "description" : "The (unique) ID of the VM.",
+                                                         "format" : "pve-vmid",
+                                                         "minimum" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
+                                                      }
+                                                   }
+                                                },
+                                                "permissions" : {
+                                                   "check" : [
+                                                      "perm",
+                                                      "/vms/{vmid}",
+                                                      [
+                                                         "VM.Audit"
+                                                      ]
+                                                   ]
+                                                },
+                                                "returns" : {
+                                                   "items" : {
+                                                      "properties" : {
+                                                         "cidr" : {
+                                                            "type" : "string"
+                                                         },
+                                                         "comment" : {
+                                                            "optional" : 1,
+                                                            "type" : "string"
+                                                         },
+                                                         "digest" : {
+                                                            "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                            "maxLength" : 40,
+                                                            "optional" : 0,
+                                                            "type" : "string"
+                                                         },
+                                                         "nomatch" : {
+                                                            "optional" : 1,
+                                                            "type" : "boolean"
+                                                         }
+                                                      },
+                                                      "type" : "object"
+                                                   },
+                                                   "links" : [
+                                                      {
+                                                         "href" : "{cidr}",
+                                                         "rel" : "child"
+                                                      }
+                                                   ],
+                                                   "type" : "array"
+                                                }
+                                             },
+                                             "POST" : {
+                                                "description" : "Add IP or Network to IPSet.",
+                                                "method" : "POST",
+                                                "name" : "create_ip",
+                                                "parameters" : {
+                                                   "additionalProperties" : 0,
+                                                   "properties" : {
+                                                      "cidr" : {
+                                                         "description" : "Network/IP specification in CIDR format.",
+                                                         "format" : "IPorCIDRorAlias",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "comment" : {
+                                                         "optional" : 1,
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "name" : {
+                                                         "description" : "IP set name.",
+                                                         "maxLength" : 64,
+                                                         "minLength" : 2,
+                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                         "type" : "string"
+                                                      },
+                                                      "node" : {
+                                                         "description" : "The cluster node name.",
+                                                         "format" : "pve-node",
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
+                                                      },
+                                                      "nomatch" : {
+                                                         "optional" : 1,
+                                                         "type" : "boolean",
+                                                         "typetext" : "<boolean>"
+                                                      },
+                                                      "vmid" : {
+                                                         "description" : "The (unique) ID of the VM.",
+                                                         "format" : "pve-vmid",
+                                                         "minimum" : 1,
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
+                                                      }
+                                                   }
+                                                },
+                                                "permissions" : {
+                                                   "check" : [
+                                                      "perm",
+                                                      "/vms/{vmid}",
+                                                      [
+                                                         "VM.Config.Network"
+                                                      ]
+                                                   ]
+                                                },
+                                                "protected" : 1,
+                                                "returns" : {
+                                                   "type" : "null"
+                                                }
+                                             }
+                                          },
+                                          "leaf" : 0,
+                                          "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
+                                          "text" : "{name}"
+                                       }
+                                    ],
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "List IPSets",
+                                          "method" : "GET",
+                                          "name" : "ipset_index",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Audit"
+                                                ]
+                                             ]
+                                          },
+                                          "returns" : {
+                                             "items" : {
+                                                "properties" : {
+                                                   "comment" : {
+                                                      "optional" : 1,
+                                                      "type" : "string"
+                                                   },
+                                                   "digest" : {
+                                                      "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                      "maxLength" : 40,
+                                                      "optional" : 0,
+                                                      "type" : "string"
+                                                   },
+                                                   "name" : {
+                                                      "description" : "IP set name.",
+                                                      "maxLength" : 64,
+                                                      "minLength" : 2,
+                                                      "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                      "type" : "string"
+                                                   }
+                                                },
+                                                "type" : "object"
+                                             },
+                                             "links" : [
+                                                {
+                                                   "href" : "{name}",
+                                                   "rel" : "child"
+                                                }
+                                             ],
+                                             "type" : "array"
+                                          }
+                                       },
+                                       "POST" : {
+                                          "description" : "Create new IPSet",
+                                          "method" : "POST",
+                                          "name" : "create_ipset",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "comment" : {
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "digest" : {
+                                                   "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                   "maxLength" : 40,
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "name" : {
+                                                   "description" : "IP set name.",
+                                                   "maxLength" : 64,
+                                                   "minLength" : 2,
+                                                   "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                   "type" : "string"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "rename" : {
+                                                   "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
+                                                   "maxLength" : 64,
+                                                   "minLength" : 2,
+                                                   "optional" : 1,
+                                                   "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+                                                   "type" : "string"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Config.Network"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "returns" : {
+                                             "type" : "null"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 0,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
+                                    "text" : "ipset"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Get VM firewall options.",
+                                          "method" : "GET",
+                                          "name" : "get_options",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Audit"
+                                                ]
+                                             ]
+                                          },
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "properties" : {
+                                                "dhcp" : {
+                                                   "description" : "Enable DHCP.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "enable" : {
+                                                   "description" : "Enable/disable firewall rules.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "ipfilter" : {
+                                                   "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "log_level_in" : {
+                                                   "description" : "Log level for incoming traffic.",
+                                                   "enum" : [
+                                                      "emerg",
+                                                      "alert",
+                                                      "crit",
+                                                      "err",
+                                                      "warning",
+                                                      "notice",
+                                                      "info",
+                                                      "debug",
+                                                      "nolog"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "log_level_out" : {
+                                                   "description" : "Log level for outgoing traffic.",
+                                                   "enum" : [
+                                                      "emerg",
+                                                      "alert",
+                                                      "crit",
+                                                      "err",
+                                                      "warning",
+                                                      "notice",
+                                                      "info",
+                                                      "debug",
+                                                      "nolog"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "macfilter" : {
+                                                   "description" : "Enable/disable MAC address filter.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "ndp" : {
+                                                   "description" : "Enable NDP.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "policy_in" : {
+                                                   "description" : "Input policy.",
+                                                   "enum" : [
+                                                      "ACCEPT",
+                                                      "REJECT",
+                                                      "DROP"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "policy_out" : {
+                                                   "description" : "Output policy.",
+                                                   "enum" : [
+                                                      "ACCEPT",
+                                                      "REJECT",
+                                                      "DROP"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "radv" : {
+                                                   "description" : "Allow sending Router Advertisement.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                }
+                                             },
+                                             "type" : "object"
+                                          }
+                                       },
+                                       "PUT" : {
+                                          "description" : "Set Firewall options.",
+                                          "method" : "PUT",
+                                          "name" : "set_options",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "delete" : {
+                                                   "description" : "A list of settings you want to delete.",
+                                                   "format" : "pve-configid-list",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "dhcp" : {
+                                                   "description" : "Enable DHCP.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "digest" : {
+                                                   "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                   "maxLength" : 40,
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "enable" : {
+                                                   "description" : "Enable/disable firewall rules.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "ipfilter" : {
+                                                   "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "log_level_in" : {
+                                                   "description" : "Log level for incoming traffic.",
+                                                   "enum" : [
+                                                      "emerg",
+                                                      "alert",
+                                                      "crit",
+                                                      "err",
+                                                      "warning",
+                                                      "notice",
+                                                      "info",
+                                                      "debug",
+                                                      "nolog"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "log_level_out" : {
+                                                   "description" : "Log level for outgoing traffic.",
+                                                   "enum" : [
+                                                      "emerg",
+                                                      "alert",
+                                                      "crit",
+                                                      "err",
+                                                      "warning",
+                                                      "notice",
+                                                      "info",
+                                                      "debug",
+                                                      "nolog"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "macfilter" : {
+                                                   "description" : "Enable/disable MAC address filter.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "ndp" : {
+                                                   "description" : "Enable NDP.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
-                                                "protected" : 1,
-                                                "proxyto" : null,
-                                                "returns" : {
-                                                   "type" : "null"
-                                                }
-                                             },
-                                             "GET" : {
-                                                "description" : "Get single rule data.",
-                                                "method" : "GET",
-                                                "name" : "get_rule",
-                                                "parameters" : {
-                                                   "additionalProperties" : 0,
-                                                   "properties" : {
-                                                      "node" : {
-                                                         "description" : "The cluster node name.",
-                                                         "format" : "pve-node",
-                                                         "type" : "string"
-                                                      },
-                                                      "pos" : {
-                                                         "description" : "Update rule at position <pos>.",
-                                                         "minimum" : 0,
-                                                         "optional" : 1,
-                                                         "type" : "integer"
-                                                      },
-                                                      "vmid" : {
-                                                         "description" : "The (unique) ID of the VM.",
-                                                         "format" : "pve-vmid",
-                                                         "minimum" : 1,
-                                                         "type" : "integer"
-                                                      }
-                                                   }
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "permissions" : {
-                                                   "check" : [
-                                                      "perm",
-                                                      "/vms/{vmid}",
-                                                      [
-                                                         "VM.Audit"
-                                                      ]
-                                                   ]
+                                                "policy_in" : {
+                                                   "description" : "Input policy.",
+                                                   "enum" : [
+                                                      "ACCEPT",
+                                                      "REJECT",
+                                                      "DROP"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
                                                 },
-                                                "proxyto" : null,
-                                                "returns" : {
-                                                   "properties" : {
-                                                      "pos" : {
-                                                         "type" : "integer"
-                                                      }
-                                                   },
-                                                   "type" : "object"
+                                                "policy_out" : {
+                                                   "description" : "Output policy.",
+                                                   "enum" : [
+                                                      "ACCEPT",
+                                                      "REJECT",
+                                                      "DROP"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "radv" : {
+                                                   "description" : "Allow sending Router Advertisement.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
-                                             },
-                                             "PUT" : {
-                                                "description" : "Modify rule data.",
-                                                "method" : "PUT",
-                                                "name" : "update_rule",
-                                                "parameters" : {
-                                                   "additionalProperties" : 0,
-                                                   "properties" : {
-                                                      "action" : {
-                                                         "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
-                                                         "maxLength" : 20,
-                                                         "minLength" : 2,
-                                                         "optional" : 1,
-                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                         "type" : "string"
-                                                      },
-                                                      "comment" : {
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "delete" : {
-                                                         "description" : "A list of settings you want to delete.",
-                                                         "format" : "pve-configid-list",
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "dest" : {
-                                                         "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                                         "format" : "pve-fw-addr-spec",
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "digest" : {
-                                                         "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                         "maxLength" : 40,
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "dport" : {
-                                                         "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                                         "format" : "pve-fw-dport-spec",
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "enable" : {
-                                                         "minimum" : 0,
-                                                         "optional" : 1,
-                                                         "type" : "integer"
-                                                      },
-                                                      "iface" : {
-                                                         "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
-                                                         "format" : "pve-iface",
-                                                         "maxLength" : 20,
-                                                         "minLength" : 2,
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "macro" : {
-                                                         "maxLength" : 128,
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "moveto" : {
-                                                         "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
-                                                         "minimum" : 0,
-                                                         "optional" : 1,
-                                                         "type" : "integer"
-                                                      },
-                                                      "node" : {
-                                                         "description" : "The cluster node name.",
-                                                         "format" : "pve-node",
-                                                         "type" : "string"
-                                                      },
-                                                      "pos" : {
-                                                         "description" : "Update rule at position <pos>.",
-                                                         "minimum" : 0,
-                                                         "optional" : 1,
-                                                         "type" : "integer"
-                                                      },
-                                                      "proto" : {
-                                                         "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
-                                                         "format" : "pve-fw-protocol-spec",
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "source" : {
-                                                         "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                                         "format" : "pve-fw-addr-spec",
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "sport" : {
-                                                         "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                                         "format" : "pve-fw-sport-spec",
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "type" : {
-                                                         "enum" : [
-                                                            "in",
-                                                            "out",
-                                                            "group"
-                                                         ],
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "vmid" : {
-                                                         "description" : "The (unique) ID of the VM.",
-                                                         "format" : "pve-vmid",
-                                                         "minimum" : 1,
-                                                         "type" : "integer"
-                                                      }
-                                                   }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Config.Network"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "type" : "null"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
+                                    "text" : "options"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Read firewall log",
+                                          "method" : "GET",
+                                          "name" : "log",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "limit" : {
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
                                                 },
-                                                "permissions" : {
-                                                   "check" : [
-                                                      "perm",
-                                                      "/vms/{vmid}",
-                                                      [
-                                                         "VM.Config.Network"
-                                                      ]
-                                                   ]
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "protected" : 1,
-                                                "proxyto" : null,
-                                                "returns" : {
-                                                   "type" : "null"
+                                                "start" : {
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
-                                          "leaf" : 1,
-                                          "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}",
-                                          "text" : "{pos}"
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Console"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "items" : {
+                                                "properties" : {
+                                                   "n" : {
+                                                      "description" : "Line number",
+                                                      "type" : "integer"
+                                                   },
+                                                   "t" : {
+                                                      "description" : "Line text",
+                                                      "type" : "string"
+                                                   }
+                                                },
+                                                "type" : "object"
+                                             },
+                                             "type" : "array"
+                                          }
                                        }
-                                    ],
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
+                                    "text" : "log"
+                                 },
+                                 {
                                     "info" : {
                                        "GET" : {
-                                          "description" : "List rules.",
+                                          "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
                                           "method" : "GET",
-                                          "name" : "get_rules",
+                                          "name" : "refs",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "type" : {
+                                                   "description" : "Only list references of specified type.",
+                                                   "enum" : [
+                                                      "alias",
+                                                      "ipset"
+                                                   ],
+                                                   "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -3541,123 +5833,193 @@ var pveapi = [
                                                 ]
                                              ]
                                           },
-                                          "proxyto" : null,
                                           "returns" : {
                                              "items" : {
                                                 "properties" : {
-                                                   "pos" : {
-                                                      "type" : "integer"
+                                                   "comment" : {
+                                                      "optional" : 1,
+                                                      "type" : "string"
+                                                   },
+                                                   "name" : {
+                                                      "type" : "string"
+                                                   },
+                                                   "type" : {
+                                                      "enum" : [
+                                                         "alias",
+                                                         "ipset"
+                                                      ],
+                                                      "type" : "string"
                                                    }
                                                 },
                                                 "type" : "object"
                                              },
-                                             "links" : [
-                                                {
-                                                   "href" : "{pos}",
-                                                   "rel" : "child"
-                                                }
-                                             ],
                                              "type" : "array"
                                           }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
+                                    "text" : "refs"
+                                 }
+                              ],
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Directory index.",
+                                    "method" : "GET",
+                                    "name" : "index",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "user" : "all"
+                                    },
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {},
+                                          "type" : "object"
                                        },
+                                       "links" : [
+                                          {
+                                             "href" : "{name}",
+                                             "rel" : "child"
+                                          }
+                                       ],
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 0,
+                              "path" : "/nodes/{node}/qemu/{vmid}/firewall",
+                              "text" : "firewall"
+                           },
+                           {
+                              "children" : [
+                                 {
+                                    "info" : {
                                        "POST" : {
-                                          "description" : "Create new rule.",
+                                          "description" : "Execute fsfreeze-freeze.",
                                           "method" : "POST",
-                                          "name" : "create_rule",
+                                          "name" : "fsfreeze-freeze",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
-                                                "action" : {
-                                                   "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
-                                                   "maxLength" : 20,
-                                                   "minLength" : 2,
-                                                   "optional" : 0,
-                                                   "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                   "type" : "string"
-                                                },
-                                                "comment" : {
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "dest" : {
-                                                   "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                                   "format" : "pve-fw-addr-spec",
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "digest" : {
-                                                   "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                   "maxLength" : 40,
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "dport" : {
-                                                   "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                                   "format" : "pve-fw-dport-spec",
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "enable" : {
-                                                   "minimum" : 0,
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
-                                                "iface" : {
-                                                   "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
-                                                   "format" : "pve-iface",
-                                                   "maxLength" : 20,
-                                                   "minLength" : 2,
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "macro" : {
-                                                   "maxLength" : 128,
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
-                                                },
-                                                "pos" : {
-                                                   "description" : "Update rule at position <pos>.",
-                                                   "minimum" : 0,
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
-                                                "proto" : {
-                                                   "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
-                                                   "format" : "pve-fw-protocol-spec",
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "source" : {
-                                                   "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
-                                                   "format" : "pve-fw-addr-spec",
-                                                   "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "sport" : {
-                                                   "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
-                                                   "format" : "pve-fw-sport-spec",
-                                                   "optional" : 1,
-                                                   "type" : "string"
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze",
+                                    "text" : "fsfreeze-freeze"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "Execute fsfreeze-status.",
+                                          "method" : "POST",
+                                          "name" : "fsfreeze-status",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "type" : {
-                                                   "enum" : [
-                                                      "in",
-                                                      "out",
-                                                      "group"
-                                                   ],
-                                                   "optional" : 0,
-                                                   "type" : "string"
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status",
+                                    "text" : "fsfreeze-status"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "Execute fsfreeze-thaw.",
+                                          "method" : "POST",
+                                          "name" : "fsfreeze-thaw",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -3666,200 +6028,88 @@ var pveapi = [
                                                 "perm",
                                                 "/vms/{vmid}",
                                                 [
-                                                   "VM.Config.Network"
+                                                   "VM.Monitor"
                                                 ]
                                              ]
                                           },
                                           "protected" : 1,
-                                          "proxyto" : null,
+                                          "proxyto" : "node",
                                           "returns" : {
-                                             "type" : "null"
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
                                           }
                                        }
                                     },
-                                    "leaf" : 0,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/rules",
-                                    "text" : "rules"
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw",
+                                    "text" : "fsfreeze-thaw"
                                  },
                                  {
-                                    "children" : [
-                                       {
-                                          "info" : {
-                                             "DELETE" : {
-                                                "description" : "Remove IP or Network alias.",
-                                                "method" : "DELETE",
-                                                "name" : "remove_alias",
-                                                "parameters" : {
-                                                   "additionalProperties" : 0,
-                                                   "properties" : {
-                                                      "digest" : {
-                                                         "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                         "maxLength" : 40,
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "name" : {
-                                                         "description" : "Alias name.",
-                                                         "maxLength" : 64,
-                                                         "minLength" : 2,
-                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                         "type" : "string"
-                                                      },
-                                                      "node" : {
-                                                         "description" : "The cluster node name.",
-                                                         "format" : "pve-node",
-                                                         "type" : "string"
-                                                      },
-                                                      "vmid" : {
-                                                         "description" : "The (unique) ID of the VM.",
-                                                         "format" : "pve-vmid",
-                                                         "minimum" : 1,
-                                                         "type" : "integer"
-                                                      }
-                                                   }
-                                                },
-                                                "permissions" : {
-                                                   "check" : [
-                                                      "perm",
-                                                      "/vms/{vmid}",
-                                                      [
-                                                         "VM.Config.Network"
-                                                      ]
-                                                   ]
-                                                },
-                                                "protected" : 1,
-                                                "returns" : {
-                                                   "type" : "null"
-                                                }
-                                             },
-                                             "GET" : {
-                                                "description" : "Read alias.",
-                                                "method" : "GET",
-                                                "name" : "read_alias",
-                                                "parameters" : {
-                                                   "additionalProperties" : 0,
-                                                   "properties" : {
-                                                      "name" : {
-                                                         "description" : "Alias name.",
-                                                         "maxLength" : 64,
-                                                         "minLength" : 2,
-                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                         "type" : "string"
-                                                      },
-                                                      "node" : {
-                                                         "description" : "The cluster node name.",
-                                                         "format" : "pve-node",
-                                                         "type" : "string"
-                                                      },
-                                                      "vmid" : {
-                                                         "description" : "The (unique) ID of the VM.",
-                                                         "format" : "pve-vmid",
-                                                         "minimum" : 1,
-                                                         "type" : "integer"
-                                                      }
-                                                   }
-                                                },
-                                                "permissions" : {
-                                                   "check" : [
-                                                      "perm",
-                                                      "/vms/{vmid}",
-                                                      [
-                                                         "VM.Audit"
-                                                      ]
-                                                   ]
-                                                },
-                                                "returns" : {
-                                                   "type" : "object"
-                                                }
-                                             },
-                                             "PUT" : {
-                                                "description" : "Update IP or Network alias.",
-                                                "method" : "PUT",
-                                                "name" : "update_alias",
-                                                "parameters" : {
-                                                   "additionalProperties" : 0,
-                                                   "properties" : {
-                                                      "cidr" : {
-                                                         "description" : "Network/IP specification in CIDR format.",
-                                                         "format" : "IPorCIDR",
-                                                         "type" : "string"
-                                                      },
-                                                      "comment" : {
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "digest" : {
-                                                         "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                         "maxLength" : 40,
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "name" : {
-                                                         "description" : "Alias name.",
-                                                         "maxLength" : 64,
-                                                         "minLength" : 2,
-                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                         "type" : "string"
-                                                      },
-                                                      "node" : {
-                                                         "description" : "The cluster node name.",
-                                                         "format" : "pve-node",
-                                                         "type" : "string"
-                                                      },
-                                                      "rename" : {
-                                                         "description" : "Rename an existing alias.",
-                                                         "maxLength" : 64,
-                                                         "minLength" : 2,
-                                                         "optional" : 1,
-                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                         "type" : "string"
-                                                      },
-                                                      "vmid" : {
-                                                         "description" : "The (unique) ID of the VM.",
-                                                         "format" : "pve-vmid",
-                                                         "minimum" : 1,
-                                                         "type" : "integer"
-                                                      }
-                                                   }
-                                                },
-                                                "permissions" : {
-                                                   "check" : [
-                                                      "perm",
-                                                      "/vms/{vmid}",
-                                                      [
-                                                         "VM.Config.Network"
-                                                      ]
-                                                   ]
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "Execute fstrim.",
+                                          "method" : "POST",
+                                          "name" : "fstrim",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "protected" : 1,
-                                                "returns" : {
-                                                   "type" : "null"
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
-                                          "leaf" : 1,
-                                          "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}",
-                                          "text" : "{name}"
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
                                        }
-                                    ],
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/fstrim",
+                                    "text" : "fstrim"
+                                 },
+                                 {
                                     "info" : {
                                        "GET" : {
-                                          "description" : "List aliases",
+                                          "description" : "Execute get-fsinfo.",
                                           "method" : "GET",
-                                          "name" : "get_aliases",
+                                          "name" : "get-fsinfo",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -3868,74 +6118,43 @@ var pveapi = [
                                                 "perm",
                                                 "/vms/{vmid}",
                                                 [
-                                                   "VM.Audit"
+                                                   "VM.Monitor"
                                                 ]
                                              ]
                                           },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
                                           "returns" : {
-                                             "items" : {
-                                                "properties" : {
-                                                   "cidr" : {
-                                                      "type" : "string"
-                                                   },
-                                                   "comment" : {
-                                                      "optional" : 1,
-                                                      "type" : "string"
-                                                   },
-                                                   "digest" : {
-                                                      "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                      "maxLength" : 40,
-                                                      "optional" : 0,
-                                                      "type" : "string"
-                                                   },
-                                                   "name" : {
-                                                      "type" : "string"
-                                                   }
-                                                },
-                                                "type" : "object"
-                                             },
-                                             "links" : [
-                                                {
-                                                   "href" : "{name}",
-                                                   "rel" : "child"
-                                                }
-                                             ],
-                                             "type" : "array"
-                                          }
-                                       },
-                                       "POST" : {
-                                          "description" : "Create IP or Network Alias.",
-                                          "method" : "POST",
-                                          "name" : "create_alias",
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/get-fsinfo",
+                                    "text" : "get-fsinfo"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Execute get-host-name.",
+                                          "method" : "GET",
+                                          "name" : "get-host-name",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
-                                                "cidr" : {
-                                                   "description" : "Network/IP specification in CIDR format.",
-                                                   "format" : "IPorCIDR",
-                                                   "type" : "string"
-                                                },
-                                                "comment" : {
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "name" : {
-                                                   "description" : "Alias name.",
-                                                   "maxLength" : 64,
-                                                   "minLength" : 2,
-                                                   "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                   "type" : "string"
-                                                },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -3944,378 +6163,313 @@ var pveapi = [
                                                 "perm",
                                                 "/vms/{vmid}",
                                                 [
-                                                   "VM.Config.Network"
+                                                   "VM.Monitor"
                                                 ]
                                              ]
                                           },
                                           "protected" : 1,
+                                          "proxyto" : "node",
                                           "returns" : {
-                                             "type" : "null"
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
                                           }
                                        }
                                     },
-                                    "leaf" : 0,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/aliases",
-                                    "text" : "aliases"
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/get-host-name",
+                                    "text" : "get-host-name"
                                  },
                                  {
-                                    "children" : [
-                                       {
-                                          "children" : [
-                                             {
-                                                "info" : {
-                                                   "DELETE" : {
-                                                      "description" : "Remove IP or Network from IPSet.",
-                                                      "method" : "DELETE",
-                                                      "name" : "remove_ip",
-                                                      "parameters" : {
-                                                         "additionalProperties" : 0,
-                                                         "properties" : {
-                                                            "cidr" : {
-                                                               "description" : "Network/IP specification in CIDR format.",
-                                                               "format" : "IPorCIDRorAlias",
-                                                               "type" : "string"
-                                                            },
-                                                            "digest" : {
-                                                               "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                               "maxLength" : 40,
-                                                               "optional" : 1,
-                                                               "type" : "string"
-                                                            },
-                                                            "name" : {
-                                                               "description" : "IP set name.",
-                                                               "maxLength" : 64,
-                                                               "minLength" : 2,
-                                                               "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                               "type" : "string"
-                                                            },
-                                                            "node" : {
-                                                               "description" : "The cluster node name.",
-                                                               "format" : "pve-node",
-                                                               "type" : "string"
-                                                            },
-                                                            "vmid" : {
-                                                               "description" : "The (unique) ID of the VM.",
-                                                               "format" : "pve-vmid",
-                                                               "minimum" : 1,
-                                                               "type" : "integer"
-                                                            }
-                                                         }
-                                                      },
-                                                      "permissions" : {
-                                                         "check" : [
-                                                            "perm",
-                                                            "/vms/{vmid}",
-                                                            [
-                                                               "VM.Config.Network"
-                                                            ]
-                                                         ]
-                                                      },
-                                                      "protected" : 1,
-                                                      "returns" : {
-                                                         "type" : "null"
-                                                      }
-                                                   },
-                                                   "GET" : {
-                                                      "description" : "Read IP or Network settings from IPSet.",
-                                                      "method" : "GET",
-                                                      "name" : "read_ip",
-                                                      "parameters" : {
-                                                         "additionalProperties" : 0,
-                                                         "properties" : {
-                                                            "cidr" : {
-                                                               "description" : "Network/IP specification in CIDR format.",
-                                                               "format" : "IPorCIDRorAlias",
-                                                               "type" : "string"
-                                                            },
-                                                            "name" : {
-                                                               "description" : "IP set name.",
-                                                               "maxLength" : 64,
-                                                               "minLength" : 2,
-                                                               "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                               "type" : "string"
-                                                            },
-                                                            "node" : {
-                                                               "description" : "The cluster node name.",
-                                                               "format" : "pve-node",
-                                                               "type" : "string"
-                                                            },
-                                                            "vmid" : {
-                                                               "description" : "The (unique) ID of the VM.",
-                                                               "format" : "pve-vmid",
-                                                               "minimum" : 1,
-                                                               "type" : "integer"
-                                                            }
-                                                         }
-                                                      },
-                                                      "permissions" : {
-                                                         "check" : [
-                                                            "perm",
-                                                            "/vms/{vmid}",
-                                                            [
-                                                               "VM.Audit"
-                                                            ]
-                                                         ]
-                                                      },
-                                                      "protected" : 1,
-                                                      "returns" : {
-                                                         "type" : "object"
-                                                      }
-                                                   },
-                                                   "PUT" : {
-                                                      "description" : "Update IP or Network settings",
-                                                      "method" : "PUT",
-                                                      "name" : "update_ip",
-                                                      "parameters" : {
-                                                         "additionalProperties" : 0,
-                                                         "properties" : {
-                                                            "cidr" : {
-                                                               "description" : "Network/IP specification in CIDR format.",
-                                                               "format" : "IPorCIDRorAlias",
-                                                               "type" : "string"
-                                                            },
-                                                            "comment" : {
-                                                               "optional" : 1,
-                                                               "type" : "string"
-                                                            },
-                                                            "digest" : {
-                                                               "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                               "maxLength" : 40,
-                                                               "optional" : 1,
-                                                               "type" : "string"
-                                                            },
-                                                            "name" : {
-                                                               "description" : "IP set name.",
-                                                               "maxLength" : 64,
-                                                               "minLength" : 2,
-                                                               "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                               "type" : "string"
-                                                            },
-                                                            "node" : {
-                                                               "description" : "The cluster node name.",
-                                                               "format" : "pve-node",
-                                                               "type" : "string"
-                                                            },
-                                                            "nomatch" : {
-                                                               "optional" : 1,
-                                                               "type" : "boolean"
-                                                            },
-                                                            "vmid" : {
-                                                               "description" : "The (unique) ID of the VM.",
-                                                               "format" : "pve-vmid",
-                                                               "minimum" : 1,
-                                                               "type" : "integer"
-                                                            }
-                                                         }
-                                                      },
-                                                      "permissions" : {
-                                                         "check" : [
-                                                            "perm",
-                                                            "/vms/{vmid}",
-                                                            [
-                                                               "VM.Config.Network"
-                                                            ]
-                                                         ]
-                                                      },
-                                                      "protected" : 1,
-                                                      "returns" : {
-                                                         "type" : "null"
-                                                      }
-                                                   }
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Execute get-memory-block-info.",
+                                          "method" : "GET",
+                                          "name" : "get-memory-block-info",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "leaf" : 1,
-                                                "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}",
-                                                "text" : "{cidr}"
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
                                              }
-                                          ],
-                                          "info" : {
-                                             "DELETE" : {
-                                                "description" : "Delete IPSet",
-                                                "method" : "DELETE",
-                                                "name" : "delete_ipset",
-                                                "parameters" : {
-                                                   "additionalProperties" : 0,
-                                                   "properties" : {
-                                                      "name" : {
-                                                         "description" : "IP set name.",
-                                                         "maxLength" : 64,
-                                                         "minLength" : 2,
-                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                         "type" : "string"
-                                                      },
-                                                      "node" : {
-                                                         "description" : "The cluster node name.",
-                                                         "format" : "pve-node",
-                                                         "type" : "string"
-                                                      },
-                                                      "vmid" : {
-                                                         "description" : "The (unique) ID of the VM.",
-                                                         "format" : "pve-vmid",
-                                                         "minimum" : 1,
-                                                         "type" : "integer"
-                                                      }
-                                                   }
-                                                },
-                                                "permissions" : {
-                                                   "check" : [
-                                                      "perm",
-                                                      "/vms/{vmid}",
-                                                      [
-                                                         "VM.Config.Network"
-                                                      ]
-                                                   ]
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info",
+                                    "text" : "get-memory-block-info"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Execute get-memory-blocks.",
+                                          "method" : "GET",
+                                          "name" : "get-memory-blocks",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "protected" : 1,
-                                                "returns" : {
-                                                   "type" : "null"
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
-                                             },
-                                             "GET" : {
-                                                "description" : "List IPSet content",
-                                                "method" : "GET",
-                                                "name" : "get_ipset",
-                                                "parameters" : {
-                                                   "additionalProperties" : 0,
-                                                   "properties" : {
-                                                      "name" : {
-                                                         "description" : "IP set name.",
-                                                         "maxLength" : 64,
-                                                         "minLength" : 2,
-                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                         "type" : "string"
-                                                      },
-                                                      "node" : {
-                                                         "description" : "The cluster node name.",
-                                                         "format" : "pve-node",
-                                                         "type" : "string"
-                                                      },
-                                                      "vmid" : {
-                                                         "description" : "The (unique) ID of the VM.",
-                                                         "format" : "pve-vmid",
-                                                         "minimum" : 1,
-                                                         "type" : "integer"
-                                                      }
-                                                   }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks",
+                                    "text" : "get-memory-blocks"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Execute get-osinfo.",
+                                          "method" : "GET",
+                                          "name" : "get-osinfo",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "permissions" : {
-                                                   "check" : [
-                                                      "perm",
-                                                      "/vms/{vmid}",
-                                                      [
-                                                         "VM.Audit"
-                                                      ]
-                                                   ]
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/get-osinfo",
+                                    "text" : "get-osinfo"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Execute get-time.",
+                                          "method" : "GET",
+                                          "name" : "get-time",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "returns" : {
-                                                   "items" : {
-                                                      "properties" : {
-                                                         "cidr" : {
-                                                            "type" : "string"
-                                                         },
-                                                         "comment" : {
-                                                            "optional" : 1,
-                                                            "type" : "string"
-                                                         },
-                                                         "digest" : {
-                                                            "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                            "maxLength" : 40,
-                                                            "optional" : 0,
-                                                            "type" : "string"
-                                                         },
-                                                         "nomatch" : {
-                                                            "optional" : 1,
-                                                            "type" : "boolean"
-                                                         }
-                                                      },
-                                                      "type" : "object"
-                                                   },
-                                                   "links" : [
-                                                      {
-                                                         "href" : "{cidr}",
-                                                         "rel" : "child"
-                                                      }
-                                                   ],
-                                                   "type" : "array"
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
-                                             },
-                                             "POST" : {
-                                                "description" : "Add IP or Network to IPSet.",
-                                                "method" : "POST",
-                                                "name" : "create_ip",
-                                                "parameters" : {
-                                                   "additionalProperties" : 0,
-                                                   "properties" : {
-                                                      "cidr" : {
-                                                         "description" : "Network/IP specification in CIDR format.",
-                                                         "format" : "IPorCIDRorAlias",
-                                                         "type" : "string"
-                                                      },
-                                                      "comment" : {
-                                                         "optional" : 1,
-                                                         "type" : "string"
-                                                      },
-                                                      "name" : {
-                                                         "description" : "IP set name.",
-                                                         "maxLength" : 64,
-                                                         "minLength" : 2,
-                                                         "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                         "type" : "string"
-                                                      },
-                                                      "node" : {
-                                                         "description" : "The cluster node name.",
-                                                         "format" : "pve-node",
-                                                         "type" : "string"
-                                                      },
-                                                      "nomatch" : {
-                                                         "optional" : 1,
-                                                         "type" : "boolean"
-                                                      },
-                                                      "vmid" : {
-                                                         "description" : "The (unique) ID of the VM.",
-                                                         "format" : "pve-vmid",
-                                                         "minimum" : 1,
-                                                         "type" : "integer"
-                                                      }
-                                                   }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/get-time",
+                                    "text" : "get-time"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Execute get-timezone.",
+                                          "method" : "GET",
+                                          "name" : "get-timezone",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "permissions" : {
-                                                   "check" : [
-                                                      "perm",
-                                                      "/vms/{vmid}",
-                                                      [
-                                                         "VM.Config.Network"
-                                                      ]
-                                                   ]
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/get-timezone",
+                                    "text" : "get-timezone"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Execute get-users.",
+                                          "method" : "GET",
+                                          "name" : "get-users",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "protected" : 1,
-                                                "returns" : {
-                                                   "type" : "null"
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
-                                          "leaf" : 0,
-                                          "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}",
-                                          "text" : "{name}"
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
                                        }
-                                    ],
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/get-users",
+                                    "text" : "get-users"
+                                 },
+                                 {
                                     "info" : {
                                        "GET" : {
-                                          "description" : "List IPSets",
+                                          "description" : "Execute get-vcpus.",
                                           "method" : "GET",
-                                          "name" : "ipset_index",
+                                          "name" : "get-vcpus",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -4324,84 +6478,43 @@ var pveapi = [
                                                 "perm",
                                                 "/vms/{vmid}",
                                                 [
-                                                   "VM.Audit"
+                                                   "VM.Monitor"
                                                 ]
                                              ]
                                           },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
                                           "returns" : {
-                                             "items" : {
-                                                "properties" : {
-                                                   "comment" : {
-                                                      "optional" : 1,
-                                                      "type" : "string"
-                                                   },
-                                                   "digest" : {
-                                                      "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                      "maxLength" : 40,
-                                                      "optional" : 0,
-                                                      "type" : "string"
-                                                   },
-                                                   "name" : {
-                                                      "description" : "IP set name.",
-                                                      "maxLength" : 64,
-                                                      "minLength" : 2,
-                                                      "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                      "type" : "string"
-                                                   }
-                                                },
-                                                "type" : "object"
-                                             },
-                                             "links" : [
-                                                {
-                                                   "href" : "{name}",
-                                                   "rel" : "child"
-                                                }
-                                             ],
-                                             "type" : "array"
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
                                           }
-                                       },
-                                       "POST" : {
-                                          "description" : "Create new IPSet",
-                                          "method" : "POST",
-                                          "name" : "create_ipset",
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/get-vcpus",
+                                    "text" : "get-vcpus"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Execute info.",
+                                          "method" : "GET",
+                                          "name" : "info",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
-                                                "comment" : {
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "digest" : {
-                                                   "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                   "maxLength" : 40,
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "name" : {
-                                                   "description" : "IP set name.",
-                                                   "maxLength" : 64,
-                                                   "minLength" : 2,
-                                                   "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                   "type" : "string"
-                                                },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
-                                                },
-                                                "rename" : {
-                                                   "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
-                                                   "maxLength" : 64,
-                                                   "minLength" : 2,
-                                                   "optional" : 1,
-                                                   "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -4410,39 +6523,43 @@ var pveapi = [
                                                 "perm",
                                                 "/vms/{vmid}",
                                                 [
-                                                   "VM.Config.Network"
+                                                   "VM.Monitor"
                                                 ]
                                              ]
                                           },
                                           "protected" : 1,
+                                          "proxyto" : "node",
                                           "returns" : {
-                                             "type" : "null"
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
                                           }
                                        }
                                     },
-                                    "leaf" : 0,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/ipset",
-                                    "text" : "ipset"
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/info",
+                                    "text" : "info"
                                  },
                                  {
                                     "info" : {
                                        "GET" : {
-                                          "description" : "Get VM firewall options.",
+                                          "description" : "Execute network-get-interfaces.",
                                           "method" : "GET",
-                                          "name" : "get_options",
+                                          "name" : "network-get-interfaces",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -4451,210 +6568,133 @@ var pveapi = [
                                                 "perm",
                                                 "/vms/{vmid}",
                                                 [
-                                                   "VM.Audit"
+                                                   "VM.Monitor"
                                                 ]
                                              ]
                                           },
+                                          "protected" : 1,
                                           "proxyto" : "node",
                                           "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces",
+                                    "text" : "network-get-interfaces"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "Execute ping.",
+                                          "method" : "POST",
+                                          "name" : "ping",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
                                              "properties" : {
-                                                "dhcp" : {
-                                                   "description" : "Enable DHCP.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "enable" : {
-                                                   "description" : "Enable/disable firewall rules.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "ipfilter" : {
-                                                   "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "log_level_in" : {
-                                                   "description" : "Log level for incoming traffic.",
-                                                   "enum" : [
-                                                      "emerg",
-                                                      "alert",
-                                                      "crit",
-                                                      "err",
-                                                      "warning",
-                                                      "notice",
-                                                      "info",
-                                                      "debug",
-                                                      "nolog"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "log_level_out" : {
-                                                   "description" : "Log level for outgoing traffic.",
-                                                   "enum" : [
-                                                      "emerg",
-                                                      "alert",
-                                                      "crit",
-                                                      "err",
-                                                      "warning",
-                                                      "notice",
-                                                      "info",
-                                                      "debug",
-                                                      "nolog"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "macfilter" : {
-                                                   "description" : "Enable/disable MAC address filter.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "ndp" : {
-                                                   "description" : "Enable NDP.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "policy_in" : {
-                                                   "description" : "Input policy.",
-                                                   "enum" : [
-                                                      "ACCEPT",
-                                                      "REJECT",
-                                                      "DROP"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "policy_out" : {
-                                                   "description" : "Output policy.",
-                                                   "enum" : [
-                                                      "ACCEPT",
-                                                      "REJECT",
-                                                      "DROP"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/ping",
+                                    "text" : "ping"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "Execute shutdown.",
+                                          "method" : "POST",
+                                          "name" : "shutdown",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
-                                                "radv" : {
-                                                   "description" : "Allow sending Router Advertisement.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
-                                             },
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Monitor"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "description" : "Returns an object with a single `result` property.",
                                              "type" : "object"
                                           }
-                                       },
-                                       "PUT" : {
-                                          "description" : "Set Firewall options.",
-                                          "method" : "PUT",
-                                          "name" : "set_options",
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/shutdown",
+                                    "text" : "shutdown"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "Execute suspend-disk.",
+                                          "method" : "POST",
+                                          "name" : "suspend-disk",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
-                                                "delete" : {
-                                                   "description" : "A list of settings you want to delete.",
-                                                   "format" : "pve-configid-list",
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "dhcp" : {
-                                                   "description" : "Enable DHCP.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "digest" : {
-                                                   "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
-                                                   "maxLength" : 40,
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "enable" : {
-                                                   "description" : "Enable/disable firewall rules.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "ipfilter" : {
-                                                   "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "log_level_in" : {
-                                                   "description" : "Log level for incoming traffic.",
-                                                   "enum" : [
-                                                      "emerg",
-                                                      "alert",
-                                                      "crit",
-                                                      "err",
-                                                      "warning",
-                                                      "notice",
-                                                      "info",
-                                                      "debug",
-                                                      "nolog"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "log_level_out" : {
-                                                   "description" : "Log level for outgoing traffic.",
-                                                   "enum" : [
-                                                      "emerg",
-                                                      "alert",
-                                                      "crit",
-                                                      "err",
-                                                      "warning",
-                                                      "notice",
-                                                      "info",
-                                                      "debug",
-                                                      "nolog"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "macfilter" : {
-                                                   "description" : "Enable/disable MAC address filter.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "ndp" : {
-                                                   "description" : "Enable NDP.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
-                                                },
-                                                "policy_in" : {
-                                                   "description" : "Input policy.",
-                                                   "enum" : [
-                                                      "ACCEPT",
-                                                      "REJECT",
-                                                      "DROP"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "policy_out" : {
-                                                   "description" : "Output policy.",
-                                                   "enum" : [
-                                                      "ACCEPT",
-                                                      "REJECT",
-                                                      "DROP"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "radv" : {
-                                                   "description" : "Allow sending Router Advertisement.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -4663,50 +6703,43 @@ var pveapi = [
                                                 "perm",
                                                 "/vms/{vmid}",
                                                 [
-                                                   "VM.Config.Network"
+                                                   "VM.Monitor"
                                                 ]
                                              ]
                                           },
                                           "protected" : 1,
                                           "proxyto" : "node",
                                           "returns" : {
-                                             "type" : "null"
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
                                           }
                                        }
                                     },
                                     "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/options",
-                                    "text" : "options"
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-disk",
+                                    "text" : "suspend-disk"
                                  },
                                  {
                                     "info" : {
-                                       "GET" : {
-                                          "description" : "Read firewall log",
-                                          "method" : "GET",
-                                          "name" : "log",
+                                       "POST" : {
+                                          "description" : "Execute suspend-hybrid.",
+                                          "method" : "POST",
+                                          "name" : "suspend-hybrid",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
-                                                "limit" : {
-                                                   "minimum" : 0,
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
-                                                },
-                                                "start" : {
-                                                   "minimum" : 0,
-                                                   "optional" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -4715,62 +6748,43 @@ var pveapi = [
                                                 "perm",
                                                 "/vms/{vmid}",
                                                 [
-                                                   "VM.Console"
+                                                   "VM.Monitor"
                                                 ]
                                              ]
                                           },
                                           "protected" : 1,
                                           "proxyto" : "node",
                                           "returns" : {
-                                             "items" : {
-                                                "properties" : {
-                                                   "n" : {
-                                                      "description" : "Line number",
-                                                      "type" : "integer"
-                                                   },
-                                                   "t" : {
-                                                      "description" : "Line text",
-                                                      "type" : "string"
-                                                   }
-                                                },
-                                                "type" : "object"
-                                             },
-                                             "type" : "array"
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
                                           }
                                        }
                                     },
                                     "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/log",
-                                    "text" : "log"
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid",
+                                    "text" : "suspend-hybrid"
                                  },
                                  {
                                     "info" : {
-                                       "GET" : {
-                                          "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
-                                          "method" : "GET",
-                                          "name" : "refs",
+                                       "POST" : {
+                                          "description" : "Execute suspend-ram.",
+                                          "method" : "POST",
+                                          "name" : "suspend-ram",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
-                                                },
-                                                "type" : {
-                                                   "description" : "Only list references of specified type.",
-                                                   "enum" : [
-                                                      "alias",
-                                                      "ipset"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -4779,81 +6793,133 @@ var pveapi = [
                                                 "perm",
                                                 "/vms/{vmid}",
                                                 [
-                                                   "VM.Audit"
+                                                   "VM.Monitor"
                                                 ]
                                              ]
                                           },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
                                           "returns" : {
-                                             "items" : {
-                                                "properties" : {
-                                                   "comment" : {
-                                                      "optional" : 1,
-                                                      "type" : "string"
-                                                   },
-                                                   "name" : {
-                                                      "type" : "string"
-                                                   },
-                                                   "type" : {
-                                                      "enum" : [
-                                                         "alias",
-                                                         "ipset"
-                                                      ],
-                                                      "type" : "string"
-                                                   }
-                                                },
-                                                "type" : "object"
-                                             },
-                                             "type" : "array"
+                                             "description" : "Returns an object with a single `result` property.",
+                                             "type" : "object"
                                           }
                                        }
                                     },
                                     "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/firewall/refs",
-                                    "text" : "refs"
+                                    "path" : "/nodes/{node}/qemu/{vmid}/agent/suspend-ram",
+                                    "text" : "suspend-ram"
                                  }
                               ],
                               "info" : {
                                  "GET" : {
-                                    "description" : "Directory index.",
+                                    "description" : "Qemu Agent command index.",
                                     "method" : "GET",
                                     "name" : "index",
+                                    "parameters" : {
+                                       "additionalProperties" : 1,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "user" : "all"
+                                    },
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "description" : "Returns the list of Qemu Agent commands",
+                                       "items" : {
+                                          "properties" : {},
+                                          "type" : "object"
+                                       },
+                                       "links" : [
+                                          {
+                                             "href" : "{name}",
+                                             "rel" : "child"
+                                          }
+                                       ],
+                                       "type" : "array"
+                                    }
+                                 },
+                                 "POST" : {
+                                    "description" : "Execute Qemu Guest Agent commands.",
+                                    "method" : "POST",
+                                    "name" : "agent",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "command" : {
+                                             "description" : "The QGA command.",
+                                             "enum" : [
+                                                "fsfreeze-freeze",
+                                                "fsfreeze-status",
+                                                "fsfreeze-thaw",
+                                                "fstrim",
+                                                "get-fsinfo",
+                                                "get-host-name",
+                                                "get-memory-block-info",
+                                                "get-memory-blocks",
+                                                "get-osinfo",
+                                                "get-time",
+                                                "get-timezone",
+                                                "get-users",
+                                                "get-vcpus",
+                                                "info",
+                                                "network-get-interfaces",
+                                                "ping",
+                                                "shutdown",
+                                                "suspend-disk",
+                                                "suspend-hybrid",
+                                                "suspend-ram"
+                                             ],
+                                             "type" : "string"
+                                          },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
                                     "permissions" : {
-                                       "user" : "all"
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Monitor"
+                                          ]
+                                       ]
                                     },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
                                     "returns" : {
-                                       "items" : {
-                                          "properties" : {},
-                                          "type" : "object"
-                                       },
-                                       "links" : [
-                                          {
-                                             "href" : "{name}",
-                                             "rel" : "child"
-                                          }
-                                       ],
-                                       "type" : "array"
+                                       "description" : "Returns an object with a single `result` property.",
+                                       "type" : "object"
                                     }
                                  }
                               },
                               "leaf" : 0,
-                              "path" : "/nodes/{node}/qemu/{vmid}/firewall",
-                              "text" : "firewall"
+                              "path" : "/nodes/{node}/qemu/{vmid}/agent",
+                              "text" : "agent"
                            },
                            {
                               "info" : {
@@ -4876,12 +6942,14 @@ var pveapi = [
                                           "ds" : {
                                              "description" : "The list of datasources you want to display.",
                                              "format" : "pve-configid-list",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "timeframe" : {
                                              "description" : "Specify the time frame you are interested in.",
@@ -4898,7 +6966,8 @@ var pveapi = [
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -4947,7 +7016,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "timeframe" : {
                                              "description" : "Specify the time frame you are interested in.",
@@ -4964,7 +7034,8 @@ var pveapi = [
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -5004,18 +7075,21 @@ var pveapi = [
                                              "default" : 0,
                                              "description" : "Get current values (instead of pending values).",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -5050,37 +7124,44 @@ var pveapi = [
                                              "default" : 1,
                                              "description" : "Enable/disable ACPI.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "agent" : {
                                              "default" : 0,
                                              "description" : "Enable/disable Qemu GuestAgent.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "args" : {
-                                             "description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n",
+                                             "description" : "Arbitrary arguments passed to kvm.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>",
+                                             "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
                                           },
                                           "autostart" : {
                                              "default" : 0,
                                              "description" : "Automatic restart after crash (currently ignored).",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "background_delay" : {
                                              "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
                                              "maximum" : 30,
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - 30)"
                                           },
                                           "balloon" : {
                                              "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "bios" : {
                                              "default" : "seabios",
@@ -5108,17 +7189,39 @@ var pveapi = [
                                           },
                                           "cdrom" : {
                                              "description" : "This is an alias for option -ide2",
-                                             "format" : "pve-qm-drive",
+                                             "format" : "pve-qm-ide",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<volume>"
+                                          },
+                                          "cipassword" : {
+                                             "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "citype" : {
+                                             "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
+                                             "enum" : [
+                                                "configdrive2",
+                                                "nocloud"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "ciuser" : {
+                                             "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "volume"
+                                             "typetext" : "<string>"
                                           },
                                           "cores" : {
                                              "default" : 1,
                                              "description" : "The number of cores per socket.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "cpu" : {
                                              "description" : "Emulated CPU type.",
@@ -5130,34 +7233,55 @@ var pveapi = [
                                                    "enum" : [
                                                       "486",
                                                       "athlon",
-                                                      "pentium",
-                                                      "pentium2",
-                                                      "pentium3",
-                                                      "coreduo",
+                                                      "Broadwell",
+                                                      "Broadwell-IBRS",
+                                                      "Broadwell-noTSX",
+                                                      "Broadwell-noTSX-IBRS",
+                                                      "Conroe",
                                                       "core2duo",
+                                                      "coreduo",
+                                                      "EPYC",
+                                                      "EPYC-IBPB",
+                                                      "Haswell",
+                                                      "Haswell-IBRS",
+                                                      "Haswell-noTSX",
+                                                      "Haswell-noTSX-IBRS",
+                                                      "host",
+                                                      "IvyBridge",
+                                                      "IvyBridge-IBRS",
                                                       "kvm32",
                                                       "kvm64",
-                                                      "qemu32",
-                                                      "qemu64",
-                                                      "phenom",
-                                                      "Conroe",
-                                                      "Penryn",
+                                                      "max",
                                                       "Nehalem",
-                                                      "Westmere",
-                                                      "SandyBridge",
-                                                      "IvyBridge",
-                                                      "Haswell",
-                                                      "Haswell-noTSX",
-                                                      "Broadwell",
-                                                      "Broadwell-noTSX",
+                                                      "Nehalem-IBRS",
                                                       "Opteron_G1",
                                                       "Opteron_G2",
                                                       "Opteron_G3",
                                                       "Opteron_G4",
                                                       "Opteron_G5",
-                                                      "host"
+                                                      "Penryn",
+                                                      "pentium",
+                                                      "pentium2",
+                                                      "pentium3",
+                                                      "phenom",
+                                                      "qemu32",
+                                                      "qemu64",
+                                                      "SandyBridge",
+                                                      "SandyBridge-IBRS",
+                                                      "Skylake-Client",
+                                                      "Skylake-Client-IBRS",
+                                                      "Skylake-Server",
+                                                      "Skylake-Server-IBRS",
+                                                      "Westmere",
+                                                      "Westmere-IBRS"
                                                    ],
-                                                   "format_description" : "cputype",
+                                                   "type" : "string"
+                                                },
+                                                "flags" : {
+                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
+                                                   "format_description" : "+FLAG[;-FLAG...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -5168,63 +7292,86 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
                                           },
                                           "cpulimit" : {
                                              "default" : 0,
-                                             "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit.",
+                                             "description" : "Limit of CPU usage.",
                                              "maximum" : 128,
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "number"
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - 128)",
+                                             "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
                                           },
                                           "cpuunits" : {
-                                             "default" : 1000,
-                                             "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
-                                             "maximum" : 500000,
-                                             "minimum" : 0,
+                                             "default" : 1024,
+                                             "description" : "CPU weight for a VM.",
+                                             "maximum" : 262144,
+                                             "minimum" : 2,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (2 - 262144)",
+                                             "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
                                           },
                                           "delete" : {
                                              "description" : "A list of settings you want to delete.",
                                              "format" : "pve-configid-list",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "description" : {
                                              "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "digest" : {
                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "force" : {
                                              "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
                                              "optional" : 1,
                                              "requires" : "delete",
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "freeze" : {
                                              "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "hostpci[n]" : {
-                                             "description" : "Map host pci devices. HOSTPCIDEVICE syntax is:\n\n'bus:dev.func' (hexadecimal numbers)\n\nYou can us the 'lspci' command to list existing pci devices.\n\nThe 'rombar' option determines whether or not the device's ROM will be visible in the guest's memory map (default is 'on').\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nExperimental: user reported problems with this option.\n",
+                                             "description" : "Map host PCI devices into guest.",
                                              "format" : "pve-qm-hostpci",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
+                                             "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                                           },
                                           "hotplug" : {
                                              "default" : "network,disk,usb",
                                              "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
                                              "format" : "pve-hotplug-features",
                                              "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "hugepages" : {
+                                             "description" : "Enable/disable hugepages memory.",
+                                             "enum" : [
+                                                "any",
+                                                "2",
+                                                "1024"
+                                             ],
+                                             "optional" : 1,
                                              "type" : "string"
                                           },
                                           "ide[n]" : {
@@ -5236,34 +7383,59 @@ var pveapi = [
                                                       "native",
                                                       "threads"
                                                    ],
-                                                   "format_description" : "native|threads",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "backup" : {
                                                    "description" : "Whether the drive should be included when making backups.",
-                                                   "format_description" : "on|off",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "bps" : {
-                                                   "description" : "Maximum r/w speed speed in bytes per second.",
+                                                   "description" : "Maximum r/w speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_rd" : {
-                                                   "description" : "Maximum read speed speed in bytes per second.",
+                                                   "description" : "Maximum read speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_wr" : {
-                                                   "description" : "Maximum write speed speed in bytes per second.",
+                                                   "description" : "Maximum write speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "cache" : {
                                                    "description" : "The drive's cache mode",
                                                    "enum" : [
@@ -5273,13 +7445,11 @@ var pveapi = [
                                                       "unsafe",
                                                       "directsync"
                                                    ],
-                                                   "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "cyls" : {
                                                    "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -5294,7 +7464,6 @@ var pveapi = [
                                                       "ignore",
                                                       "on"
                                                    ],
-                                                   "format_description" : "ignore|on",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -5316,84 +7485,109 @@ var pveapi = [
                                                       "vmdk",
                                                       "cloop"
                                                    ],
-                                                   "format_description" : "drive format",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "heads" : {
                                                    "description" : "Force the drive's physical geometry to have a specific head count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops" : {
-                                                   "description" : "Maximum r/w I/O speed in operations per second.",
+                                                   "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops_max" : {
-                                                   "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_rd" : {
-                                                   "description" : "Maximum read I/O speed in operations per second.",
+                                                   "description" : "Maximum read I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_length" : {
+                                                   "alias" : "iops_rd_max_length"
+                                                },
                                                 "iops_rd_max" : {
-                                                   "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_wr" : {
-                                                   "description" : "Maximum write I/O speed in operations per second.",
+                                                   "description" : "Maximum write I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_length" : {
+                                                   "alias" : "iops_wr_max_length"
+                                                },
                                                 "iops_wr_max" : {
-                                                   "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "mbps" : {
-                                                   "description" : "Maximum r/w speed speed in megabytes per second.",
+                                                   "description" : "Maximum r/w speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_max" : {
-                                                   "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd" : {
-                                                   "description" : "Maximum read speed speed in megabytes per second.",
+                                                   "description" : "Maximum read speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd_max" : {
-                                                   "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled read pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr" : {
-                                                   "description" : "Maximum write speed speed in megabytes per second.",
+                                                   "description" : "Maximum write speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr_max" : {
-                                                   "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled write pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
@@ -5405,7 +7599,6 @@ var pveapi = [
                                                       "cdrom",
                                                       "disk"
                                                    ],
-                                                   "format_description" : "cdrom|disk",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -5417,6 +7610,12 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Whether the drive should considered for replication jobs.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "rerror" : {
                                                    "description" : "Read error action.",
                                                    "enum" : [
@@ -5424,13 +7623,11 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -5442,15 +7639,22 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this locally-managed volume as available on all nodes",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "snapshot" : {
-                                                   "description" : "Whether the drive should be included when making snapshots.",
-                                                   "format_description" : "on|off",
+                                                   "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -5461,7 +7665,6 @@ var pveapi = [
                                                       "lba",
                                                       "auto"
                                                    ],
-                                                   "format_description" : "none|lba|auto",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -5476,17 +7679,24 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "enospc|ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "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>]"
+                                          },
+                                          "ipconfig[n]" : {
+                                             "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
+                                             "format" : "pve-qm-ipconfig",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
                                           },
                                           "keyboard" : {
-                                             "default" : "en-us",
-                                             "description" : "Keybord layout for vnc server. Default is read from the datacenter configuration file.",
+                                             "default" : null,
+                                             "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.",
                                              "enum" : [
                                                 "de",
                                                 "de-ch",
@@ -5521,12 +7731,14 @@ var pveapi = [
                                              "default" : 1,
                                              "description" : "Enable/disable KVM hardware virtualization.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "localtime" : {
                                              "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "lock" : {
                                              "description" : "Lock/unlock the VM.",
@@ -5551,90 +7763,227 @@ var pveapi = [
                                              "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
                                              "minimum" : 16,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (16 - N)"
                                           },
                                           "migrate_downtime" : {
                                              "default" : 0.1,
                                              "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "number"
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - N)"
                                           },
                                           "migrate_speed" : {
                                              "default" : 0,
                                              "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "name" : {
                                              "description" : "Set a name for the VM. Only used on the configuration web interface.",
                                              "format" : "dns-name",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "nameserver" : {
+                                             "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+                                             "format" : "address-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "net[n]" : {
-                                             "description" : "Specify network devices.\n\nMODEL is one of: e1000 e1000-82540em e1000-82544gc e1000-82545em i82551 i82557b i82559er ne2k_isa ne2k_pci pcnet rtl8139 virtio vmxnet3\n\nXX:XX:XX:XX:XX:XX should be an unique MAC address. This is\nautomatically generated if not specified.\n\nThe bridge parameter can be used to automatically add the interface to a bridge device. The Proxmox VE standard bridge is called 'vmbr0'.\n\nOption 'rate' is used to limit traffic bandwidth from and to this interface. It is specified as floating point number, unit is 'Megabytes per second'.\n\nIf you specify no bridge, we create a kvm 'user' (NATed) network device, which provides DHCP and DNS services. The following addresses are used:\n\n10.0.2.2   Gateway\n10.0.2.3   DNS Server\n10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n\n",
-                                             "format" : "pve-qm-net",
+                                             "description" : "Specify network devices.",
+                                             "format" : {
+                                                "bridge" : {
+                                                   "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2   Gateway\n 10.0.2.3   DNS Server\n 10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
+                                                   "format_description" : "bridge",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "e1000" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "e1000-82540em" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "e1000-82544gc" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "e1000-82545em" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "firewall" : {
+                                                   "description" : "Whether this interface should be protected by the firewall.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "i82551" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "i82557b" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "i82559er" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "link_down" : {
+                                                   "description" : "Whether this interface should be disconnected (like pulling the plug).",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "macaddr" : {
+                                                   "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                                   "format_description" : "XX:XX:XX:XX:XX:XX",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
+                                                   "type" : "string"
+                                                },
+                                                "model" : {
+                                                   "default_key" : 1,
+                                                   "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
+                                                   "enum" : [
+                                                      "rtl8139",
+                                                      "ne2k_pci",
+                                                      "e1000",
+                                                      "pcnet",
+                                                      "virtio",
+                                                      "ne2k_isa",
+                                                      "i82551",
+                                                      "i82557b",
+                                                      "i82559er",
+                                                      "vmxnet3",
+                                                      "e1000-82540em",
+                                                      "e1000-82544gc",
+                                                      "e1000-82545em"
+                                                   ],
+                                                   "type" : "string"
+                                                },
+                                                "ne2k_isa" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "ne2k_pci" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "pcnet" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "queues" : {
+                                                   "description" : "Number of packet queues to be used on the device.",
+                                                   "maximum" : 16,
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "rate" : {
+                                                   "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "number"
+                                                },
+                                                "rtl8139" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "tag" : {
+                                                   "description" : "VLAN tag to apply to packets on this interface.",
+                                                   "maximum" : 4094,
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "trunks" : {
+                                                   "description" : "VLAN trunks to pass through this interface.",
+                                                   "format_description" : "vlanid[;vlanid...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
+                                                   "type" : "string"
+                                                },
+                                                "virtio" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "vmxnet3" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "numa" : {
                                              "default" : 0,
                                              "description" : "Enable/disable NUMA.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "numa[n]" : {
-                                             "description" : "numa topology",
+                                             "description" : "NUMA topology.",
                                              "format" : {
                                                 "cpus" : {
-                                                   "description" : "CPUs accessing this numa node.",
+                                                   "description" : "CPUs accessing this NUMA node.",
                                                    "format_description" : "id[-id];...",
                                                    "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
                                                    "type" : "string"
                                                 },
                                                 "hostnodes" : {
-                                                   "description" : "host numa nodes to use",
+                                                   "description" : "Host NUMA nodes to use.",
                                                    "format_description" : "id[-id];...",
                                                    "optional" : 1,
                                                    "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
                                                    "type" : "string"
                                                 },
                                                 "memory" : {
-                                                   "description" : "Amount of memory this numa node provides.",
-                                                   "format_description" : "mb",
+                                                   "description" : "Amount of memory this NUMA node provides.",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "policy" : {
-                                                   "description" : "numa allocation policy.",
+                                                   "description" : "NUMA allocation policy.",
                                                    "enum" : [
                                                       "preferred",
                                                       "bind",
                                                       "interleave"
                                                    ],
-                                                   "format_description" : "preferred|bind|interleave",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
                                           },
                                           "onboot" : {
                                              "default" : 0,
                                              "description" : "Specifies whether a VM will be started during system bootup.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "ostype" : {
-                                             "description" : "Used to enable special optimization/features for specific\noperating systems:\n\nother  => unspecified OS\nwxp    => Microsoft Windows XP\nw2k    => Microsoft Windows 2000\nw2k3   => Microsoft Windows 2003\nw2k8   => Microsoft Windows 2008\nwvista => Microsoft Windows Vista\nwin7   => Microsoft Windows 7\nwin8   => Microsoft Windows 8/2012\nl24    => Linux 2.4 Kernel\nl26    => Linux 2.6/3.X Kernel\nsolaris => solaris/opensolaris/openindiania kernel\n\nother|l24|l26|solaris                       ... no special behaviour\nwxp|w2k|w2k3|w2k8|wvista|win7|win8  ... use --localtime switch\n",
+                                             "description" : "Specify guest operating system.",
                                              "enum" : [
                                                 "other",
                                                 "wxp",
@@ -5644,36 +7993,42 @@ var pveapi = [
                                                 "wvista",
                                                 "win7",
                                                 "win8",
+                                                "win10",
                                                 "l24",
                                                 "l26",
                                                 "solaris"
                                              ],
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
-                                             "description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nExperimental: user reported problems with this option.\n",
+                                             "description" : "Map host parallel devices (n is 0 to 2).",
                                              "optional" : 1,
                                              "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                                           },
                                           "protection" : {
                                              "default" : 0,
-                                             "description" : "Sets the protection flag of the VM. This will prevent the remove operation.",
+                                             "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "reboot" : {
                                              "default" : 1,
                                              "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "revert" : {
                                              "description" : "Revert a pending change.",
                                              "format" : "pve-configid-list",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "sata[n]" : {
                                              "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
@@ -5684,31 +8039,56 @@ var pveapi = [
                                                       "native",
                                                       "threads"
                                                    ],
-                                                   "format_description" : "native|threads",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "backup" : {
                                                    "description" : "Whether the drive should be included when making backups.",
-                                                   "format_description" : "on|off",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "bps" : {
-                                                   "description" : "Maximum r/w speed speed in bytes per second.",
+                                                   "description" : "Maximum r/w speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_rd" : {
-                                                   "description" : "Maximum read speed speed in bytes per second.",
+                                                   "description" : "Maximum read speed in bytes per second.",
+                                                   "format_description" : "bps",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "bps_wr" : {
+                                                   "description" : "Maximum write speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
-                                                "bps_wr" : {
-                                                   "description" : "Maximum write speed speed in bytes per second.",
-                                                   "format_description" : "bps",
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -5721,13 +8101,11 @@ var pveapi = [
                                                       "unsafe",
                                                       "directsync"
                                                    ],
-                                                   "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "cyls" : {
                                                    "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -5742,7 +8120,6 @@ var pveapi = [
                                                       "ignore",
                                                       "on"
                                                    ],
-                                                   "format_description" : "ignore|on",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -5764,84 +8141,109 @@ var pveapi = [
                                                       "vmdk",
                                                       "cloop"
                                                    ],
-                                                   "format_description" : "drive format",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "heads" : {
                                                    "description" : "Force the drive's physical geometry to have a specific head count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops" : {
-                                                   "description" : "Maximum r/w I/O speed in operations per second.",
+                                                   "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops_max" : {
-                                                   "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_rd" : {
-                                                   "description" : "Maximum read I/O speed in operations per second.",
+                                                   "description" : "Maximum read I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_length" : {
+                                                   "alias" : "iops_rd_max_length"
+                                                },
                                                 "iops_rd_max" : {
-                                                   "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_wr" : {
-                                                   "description" : "Maximum write I/O speed in operations per second.",
+                                                   "description" : "Maximum write I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_length" : {
+                                                   "alias" : "iops_wr_max_length"
+                                                },
                                                 "iops_wr_max" : {
-                                                   "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "mbps" : {
-                                                   "description" : "Maximum r/w speed speed in megabytes per second.",
+                                                   "description" : "Maximum r/w speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_max" : {
-                                                   "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd" : {
-                                                   "description" : "Maximum read speed speed in megabytes per second.",
+                                                   "description" : "Maximum read speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd_max" : {
-                                                   "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled read pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr" : {
-                                                   "description" : "Maximum write speed speed in megabytes per second.",
+                                                   "description" : "Maximum write speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr_max" : {
-                                                   "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled write pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
@@ -5853,10 +8255,15 @@ var pveapi = [
                                                       "cdrom",
                                                       "disk"
                                                    ],
-                                                   "format_description" : "cdrom|disk",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Whether the drive should considered for replication jobs.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "rerror" : {
                                                    "description" : "Read error action.",
                                                    "enum" : [
@@ -5864,13 +8271,11 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -5882,15 +8287,22 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this locally-managed volume as available on all nodes",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "snapshot" : {
-                                                   "description" : "Whether the drive should be included when making snapshots.",
-                                                   "format_description" : "on|off",
+                                                   "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -5901,7 +8313,6 @@ var pveapi = [
                                                       "lba",
                                                       "auto"
                                                    ],
-                                                   "format_description" : "none|lba|auto",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -5916,13 +8327,13 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "enospc|ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "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>]"
                                           },
                                           "scsi[n]" : {
                                              "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -5933,34 +8344,59 @@ var pveapi = [
                                                       "native",
                                                       "threads"
                                                    ],
-                                                   "format_description" : "native|threads",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "backup" : {
                                                    "description" : "Whether the drive should be included when making backups.",
-                                                   "format_description" : "on|off",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "bps" : {
-                                                   "description" : "Maximum r/w speed speed in bytes per second.",
+                                                   "description" : "Maximum r/w speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_rd" : {
-                                                   "description" : "Maximum read speed speed in bytes per second.",
+                                                   "description" : "Maximum read speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_wr" : {
-                                                   "description" : "Maximum write speed speed in bytes per second.",
+                                                   "description" : "Maximum write speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "cache" : {
                                                    "description" : "The drive's cache mode",
                                                    "enum" : [
@@ -5970,13 +8406,11 @@ var pveapi = [
                                                       "unsafe",
                                                       "directsync"
                                                    ],
-                                                   "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "cyls" : {
                                                    "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -5991,7 +8425,6 @@ var pveapi = [
                                                       "ignore",
                                                       "on"
                                                    ],
-                                                   "format_description" : "ignore|on",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -6013,90 +8446,114 @@ var pveapi = [
                                                       "vmdk",
                                                       "cloop"
                                                    ],
-                                                   "format_description" : "drive format",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "heads" : {
                                                    "description" : "Force the drive's physical geometry to have a specific head count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops" : {
-                                                   "description" : "Maximum r/w I/O speed in operations per second.",
+                                                   "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops_max" : {
-                                                   "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_rd" : {
-                                                   "description" : "Maximum read I/O speed in operations per second.",
+                                                   "description" : "Maximum read I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_length" : {
+                                                   "alias" : "iops_rd_max_length"
+                                                },
                                                 "iops_rd_max" : {
-                                                   "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_wr" : {
-                                                   "description" : "Maximum write I/O speed in operations per second.",
+                                                   "description" : "Maximum write I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_length" : {
+                                                   "alias" : "iops_wr_max_length"
+                                                },
                                                 "iops_wr_max" : {
-                                                   "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iothread" : {
                                                    "description" : "Whether to use iothreads for this drive",
-                                                   "format_description" : "off|on",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "mbps" : {
-                                                   "description" : "Maximum r/w speed speed in megabytes per second.",
+                                                   "description" : "Maximum r/w speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_max" : {
-                                                   "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd" : {
-                                                   "description" : "Maximum read speed speed in megabytes per second.",
+                                                   "description" : "Maximum read speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd_max" : {
-                                                   "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled read pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr" : {
-                                                   "description" : "Maximum write speed speed in megabytes per second.",
+                                                   "description" : "Maximum write speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr_max" : {
-                                                   "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled write pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
@@ -6108,20 +8565,39 @@ var pveapi = [
                                                       "cdrom",
                                                       "disk"
                                                    ],
-                                                   "format_description" : "cdrom|disk",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "queues" : {
                                                    "description" : "Number of queues.",
-                                                   "format_description" : "nbqueues",
                                                    "minimum" : 2,
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Whether the drive should considered for replication jobs.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "rerror" : {
+                                                   "description" : "Read error action.",
+                                                   "enum" : [
+                                                      "ignore",
+                                                      "report",
+                                                      "stop"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "scsiblock" : {
+                                                   "default" : 0,
+                                                   "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -6133,15 +8609,22 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this locally-managed volume as available on all nodes",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "snapshot" : {
-                                                   "description" : "Whether the drive should be included when making snapshots.",
-                                                   "format_description" : "on|off",
+                                                   "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -6152,7 +8635,6 @@ var pveapi = [
                                                       "lba",
                                                       "auto"
                                                    ],
-                                                   "format_description" : "none|lba|auto",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -6167,17 +8649,17 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "enospc|ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "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>]"
                                           },
                                           "scsihw" : {
                                              "default" : "lsi",
-                                             "description" : "scsi controller model",
+                                             "description" : "SCSI controller model",
                                              "enum" : [
                                                 "lsi",
                                                 "lsi53c810",
@@ -6189,11 +8671,18 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "string"
                                           },
+                                          "searchdomain" : {
+                                             "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "serial[n]" : {
-                                             "description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a host serial device (i.e. /dev/ttyS0), or create a unix socket on the host side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nExperimental: user reported problems with this option.\n",
+                                             "description" : "Create a serial device inside the VM (n is 0 to 3)",
                                              "optional" : 1,
                                              "pattern" : "(/dev/.+|socket)",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                                           },
                                           "shares" : {
                                              "default" : 1000,
@@ -6201,33 +8690,45 @@ var pveapi = [
                                              "maximum" : 50000,
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - 50000)"
                                           },
                                           "skiplock" : {
                                              "description" : "Ignore locks - only root is allowed to use this option.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "smbios1" : {
                                              "description" : "Specify SMBIOS type 1 fields.",
                                              "format" : "pve-qm-smbios1",
                                              "maxLength" : 256,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
                                           },
                                           "smp" : {
                                              "default" : 1,
                                              "description" : "The number of CPUs. Please use option -sockets instead.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "sockets" : {
                                              "default" : 1,
                                              "description" : "The number of CPU sockets.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          },
+                                          "sshkeys" : {
+                                             "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
+                                             "format" : "urlencoded",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "startdate" : {
                                              "default" : "now",
@@ -6246,57 +8747,64 @@ var pveapi = [
                                           },
                                           "tablet" : {
                                              "default" : 1,
-                                             "description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl).",
+                                             "description" : "Enable/disable the USB tablet device.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>",
+                                             "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
                                           },
                                           "tdf" : {
                                              "default" : 0,
                                              "description" : "Enable/disable time drift fix.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "template" : {
                                              "default" : 0,
                                              "description" : "Enable/disable Template.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "unused[n]" : {
-                                             "description" : "Reference to unused volumes.",
+                                             "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
                                              "format" : "pve-volume-id",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "usb[n]" : {
-                                             "description" : "Configure an USB device (n is 0 to 4). This can be used to\npass-through usb devices to the guest. HOSTUSBDEVICE syntax is:\n\n'bus-port(.port)*' (decimal numbers) or\n'vendor_id:product_id' (hexadeciaml numbers) or\n'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n\nThe 'usb3' option determines whether the device is a USB3 device or not (this does currently not work reliably with spice redirection and is then ignored).\n\n",
+                                             "description" : "Configure an USB device (n is 0 to 4).",
                                              "format" : {
                                                 "host" : {
                                                    "default_key" : 1,
-                                                   "description" : "The Host USB device or port or the value spice",
+                                                   "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
                                                    "format" : "pve-qm-usb-device",
                                                    "format_description" : "HOSTUSBDEVICE|spice",
                                                    "type" : "string"
                                                 },
                                                 "usb3" : {
-                                                   "description" : "Specifies whether if given host option is a USB3 device or port",
-                                                   "format_description" : "yes|no",
+                                                   "default" : 0,
+                                                   "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
                                           },
                                           "vcpus" : {
                                              "default" : 0,
                                              "description" : "Number of hotplugged vcpus.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "vga" : {
-                                             "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.",
+                                             "description" : "Select the VGA type.",
                                              "enum" : [
                                                 "std",
                                                 "cirrus",
@@ -6311,7 +8819,8 @@ var pveapi = [
                                                 "qxl4"
                                              ],
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "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."
                                           },
                                           "virtio[n]" : {
                                              "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
@@ -6322,34 +8831,59 @@ var pveapi = [
                                                       "native",
                                                       "threads"
                                                    ],
-                                                   "format_description" : "native|threads",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "backup" : {
                                                    "description" : "Whether the drive should be included when making backups.",
-                                                   "format_description" : "on|off",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "bps" : {
-                                                   "description" : "Maximum r/w speed speed in bytes per second.",
+                                                   "description" : "Maximum r/w speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_rd" : {
-                                                   "description" : "Maximum read speed speed in bytes per second.",
+                                                   "description" : "Maximum read speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_wr" : {
-                                                   "description" : "Maximum write speed speed in bytes per second.",
+                                                   "description" : "Maximum write speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "cache" : {
                                                    "description" : "The drive's cache mode",
                                                    "enum" : [
@@ -6359,13 +8893,11 @@ var pveapi = [
                                                       "unsafe",
                                                       "directsync"
                                                    ],
-                                                   "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "cyls" : {
                                                    "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -6380,7 +8912,6 @@ var pveapi = [
                                                       "ignore",
                                                       "on"
                                                    ],
-                                                   "format_description" : "ignore|on",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -6402,90 +8933,114 @@ var pveapi = [
                                                       "vmdk",
                                                       "cloop"
                                                    ],
-                                                   "format_description" : "drive format",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "heads" : {
                                                    "description" : "Force the drive's physical geometry to have a specific head count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops" : {
-                                                   "description" : "Maximum r/w I/O speed in operations per second.",
+                                                   "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops_max" : {
-                                                   "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_rd" : {
-                                                   "description" : "Maximum read I/O speed in operations per second.",
+                                                   "description" : "Maximum read I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_length" : {
+                                                   "alias" : "iops_rd_max_length"
+                                                },
                                                 "iops_rd_max" : {
-                                                   "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_wr" : {
-                                                   "description" : "Maximum write I/O speed in operations per second.",
+                                                   "description" : "Maximum write I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_length" : {
+                                                   "alias" : "iops_wr_max_length"
+                                                },
                                                 "iops_wr_max" : {
-                                                   "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iothread" : {
                                                    "description" : "Whether to use iothreads for this drive",
-                                                   "format_description" : "off|on",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "mbps" : {
-                                                   "description" : "Maximum r/w speed speed in megabytes per second.",
+                                                   "description" : "Maximum r/w speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_max" : {
-                                                   "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd" : {
-                                                   "description" : "Maximum read speed speed in megabytes per second.",
+                                                   "description" : "Maximum read speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd_max" : {
-                                                   "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled read pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr" : {
-                                                   "description" : "Maximum write speed speed in megabytes per second.",
+                                                   "description" : "Maximum write speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr_max" : {
-                                                   "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled write pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
@@ -6497,10 +9052,15 @@ var pveapi = [
                                                       "cdrom",
                                                       "disk"
                                                    ],
-                                                   "format_description" : "cdrom|disk",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Whether the drive should considered for replication jobs.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "rerror" : {
                                                    "description" : "Read error action.",
                                                    "enum" : [
@@ -6508,13 +9068,11 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -6526,15 +9084,22 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this locally-managed volume as available on all nodes",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "snapshot" : {
-                                                   "description" : "Whether the drive should be included when making snapshots.",
-                                                   "format_description" : "on|off",
+                                                   "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -6545,7 +9110,6 @@ var pveapi = [
                                                       "lba",
                                                       "auto"
                                                    ],
-                                                   "format_description" : "none|lba|auto",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -6560,25 +9124,35 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "enospc|ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          },
+                                          "vmstatestorage" : {
+                                             "description" : "Default storage for VM state volumes/files.",
+                                             "format" : "pve-storage-id",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "watchdog" : {
-                                             "description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)",
+                                             "description" : "Create a virtual hardware watchdog device.",
                                              "format" : "pve-qm-watchdog",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
+                                             "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
                                           }
                                        }
                                     },
@@ -6617,30 +9191,36 @@ var pveapi = [
                                              "default" : 1,
                                              "description" : "Enable/disable ACPI.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "agent" : {
                                              "default" : 0,
                                              "description" : "Enable/disable Qemu GuestAgent.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "args" : {
-                                             "description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n",
+                                             "description" : "Arbitrary arguments passed to kvm.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>",
+                                             "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
                                           },
                                           "autostart" : {
                                              "default" : 0,
                                              "description" : "Automatic restart after crash (currently ignored).",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "balloon" : {
                                              "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "bios" : {
                                              "default" : "seabios",
@@ -6668,17 +9248,39 @@ var pveapi = [
                                           },
                                           "cdrom" : {
                                              "description" : "This is an alias for option -ide2",
-                                             "format" : "pve-qm-drive",
+                                             "format" : "pve-qm-ide",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<volume>"
+                                          },
+                                          "cipassword" : {
+                                             "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "citype" : {
+                                             "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
+                                             "enum" : [
+                                                "configdrive2",
+                                                "nocloud"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "ciuser" : {
+                                             "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "volume"
+                                             "typetext" : "<string>"
                                           },
                                           "cores" : {
                                              "default" : 1,
                                              "description" : "The number of cores per socket.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "cpu" : {
                                              "description" : "Emulated CPU type.",
@@ -6690,34 +9292,55 @@ var pveapi = [
                                                    "enum" : [
                                                       "486",
                                                       "athlon",
-                                                      "pentium",
-                                                      "pentium2",
-                                                      "pentium3",
-                                                      "coreduo",
+                                                      "Broadwell",
+                                                      "Broadwell-IBRS",
+                                                      "Broadwell-noTSX",
+                                                      "Broadwell-noTSX-IBRS",
+                                                      "Conroe",
                                                       "core2duo",
+                                                      "coreduo",
+                                                      "EPYC",
+                                                      "EPYC-IBPB",
+                                                      "Haswell",
+                                                      "Haswell-IBRS",
+                                                      "Haswell-noTSX",
+                                                      "Haswell-noTSX-IBRS",
+                                                      "host",
+                                                      "IvyBridge",
+                                                      "IvyBridge-IBRS",
                                                       "kvm32",
                                                       "kvm64",
-                                                      "qemu32",
-                                                      "qemu64",
-                                                      "phenom",
-                                                      "Conroe",
-                                                      "Penryn",
+                                                      "max",
                                                       "Nehalem",
-                                                      "Westmere",
-                                                      "SandyBridge",
-                                                      "IvyBridge",
-                                                      "Haswell",
-                                                      "Haswell-noTSX",
-                                                      "Broadwell",
-                                                      "Broadwell-noTSX",
+                                                      "Nehalem-IBRS",
                                                       "Opteron_G1",
                                                       "Opteron_G2",
                                                       "Opteron_G3",
                                                       "Opteron_G4",
                                                       "Opteron_G5",
-                                                      "host"
+                                                      "Penryn",
+                                                      "pentium",
+                                                      "pentium2",
+                                                      "pentium3",
+                                                      "phenom",
+                                                      "qemu32",
+                                                      "qemu64",
+                                                      "SandyBridge",
+                                                      "SandyBridge-IBRS",
+                                                      "Skylake-Client",
+                                                      "Skylake-Client-IBRS",
+                                                      "Skylake-Server",
+                                                      "Skylake-Server-IBRS",
+                                                      "Westmere",
+                                                      "Westmere-IBRS"
                                                    ],
-                                                   "format_description" : "cputype",
+                                                   "type" : "string"
+                                                },
+                                                "flags" : {
+                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
+                                                   "format_description" : "+FLAG[;-FLAG...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -6728,63 +9351,86 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
                                           },
                                           "cpulimit" : {
                                              "default" : 0,
-                                             "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit.",
+                                             "description" : "Limit of CPU usage.",
                                              "maximum" : 128,
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "number"
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - 128)",
+                                             "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
                                           },
                                           "cpuunits" : {
-                                             "default" : 1000,
-                                             "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
-                                             "maximum" : 500000,
-                                             "minimum" : 0,
+                                             "default" : 1024,
+                                             "description" : "CPU weight for a VM.",
+                                             "maximum" : 262144,
+                                             "minimum" : 2,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (2 - 262144)",
+                                             "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
                                           },
                                           "delete" : {
                                              "description" : "A list of settings you want to delete.",
                                              "format" : "pve-configid-list",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "description" : {
                                              "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "digest" : {
                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "force" : {
                                              "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
                                              "optional" : 1,
                                              "requires" : "delete",
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "freeze" : {
                                              "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "hostpci[n]" : {
-                                             "description" : "Map host pci devices. HOSTPCIDEVICE syntax is:\n\n'bus:dev.func' (hexadecimal numbers)\n\nYou can us the 'lspci' command to list existing pci devices.\n\nThe 'rombar' option determines whether or not the device's ROM will be visible in the guest's memory map (default is 'on').\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nExperimental: user reported problems with this option.\n",
+                                             "description" : "Map host PCI devices into guest.",
                                              "format" : "pve-qm-hostpci",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
+                                             "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                                           },
                                           "hotplug" : {
                                              "default" : "network,disk,usb",
                                              "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
                                              "format" : "pve-hotplug-features",
                                              "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "hugepages" : {
+                                             "description" : "Enable/disable hugepages memory.",
+                                             "enum" : [
+                                                "any",
+                                                "2",
+                                                "1024"
+                                             ],
+                                             "optional" : 1,
                                              "type" : "string"
                                           },
                                           "ide[n]" : {
@@ -6796,34 +9442,59 @@ var pveapi = [
                                                       "native",
                                                       "threads"
                                                    ],
-                                                   "format_description" : "native|threads",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "backup" : {
                                                    "description" : "Whether the drive should be included when making backups.",
-                                                   "format_description" : "on|off",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "bps" : {
-                                                   "description" : "Maximum r/w speed speed in bytes per second.",
+                                                   "description" : "Maximum r/w speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_rd" : {
-                                                   "description" : "Maximum read speed speed in bytes per second.",
+                                                   "description" : "Maximum read speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_wr" : {
-                                                   "description" : "Maximum write speed speed in bytes per second.",
+                                                   "description" : "Maximum write speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "cache" : {
                                                    "description" : "The drive's cache mode",
                                                    "enum" : [
@@ -6833,13 +9504,11 @@ var pveapi = [
                                                       "unsafe",
                                                       "directsync"
                                                    ],
-                                                   "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "cyls" : {
                                                    "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -6854,7 +9523,6 @@ var pveapi = [
                                                       "ignore",
                                                       "on"
                                                    ],
-                                                   "format_description" : "ignore|on",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -6876,84 +9544,109 @@ var pveapi = [
                                                       "vmdk",
                                                       "cloop"
                                                    ],
-                                                   "format_description" : "drive format",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "heads" : {
                                                    "description" : "Force the drive's physical geometry to have a specific head count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops" : {
-                                                   "description" : "Maximum r/w I/O speed in operations per second.",
+                                                   "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops_max" : {
-                                                   "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_rd" : {
-                                                   "description" : "Maximum read I/O speed in operations per second.",
+                                                   "description" : "Maximum read I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_length" : {
+                                                   "alias" : "iops_rd_max_length"
+                                                },
                                                 "iops_rd_max" : {
-                                                   "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_wr" : {
-                                                   "description" : "Maximum write I/O speed in operations per second.",
+                                                   "description" : "Maximum write I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_length" : {
+                                                   "alias" : "iops_wr_max_length"
+                                                },
                                                 "iops_wr_max" : {
-                                                   "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "mbps" : {
-                                                   "description" : "Maximum r/w speed speed in megabytes per second.",
+                                                   "description" : "Maximum r/w speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_max" : {
-                                                   "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd" : {
-                                                   "description" : "Maximum read speed speed in megabytes per second.",
+                                                   "description" : "Maximum read speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd_max" : {
-                                                   "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled read pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr" : {
-                                                   "description" : "Maximum write speed speed in megabytes per second.",
+                                                   "description" : "Maximum write speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr_max" : {
-                                                   "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled write pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
@@ -6965,7 +9658,6 @@ var pveapi = [
                                                       "cdrom",
                                                       "disk"
                                                    ],
-                                                   "format_description" : "cdrom|disk",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -6977,6 +9669,12 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Whether the drive should considered for replication jobs.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "rerror" : {
                                                    "description" : "Read error action.",
                                                    "enum" : [
@@ -6984,13 +9682,11 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -7002,15 +9698,22 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this locally-managed volume as available on all nodes",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "snapshot" : {
-                                                   "description" : "Whether the drive should be included when making snapshots.",
-                                                   "format_description" : "on|off",
+                                                   "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -7021,7 +9724,6 @@ var pveapi = [
                                                       "lba",
                                                       "auto"
                                                    ],
-                                                   "format_description" : "none|lba|auto",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -7036,17 +9738,24 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "enospc|ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "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>]"
+                                          },
+                                          "ipconfig[n]" : {
+                                             "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
+                                             "format" : "pve-qm-ipconfig",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
                                           },
                                           "keyboard" : {
-                                             "default" : "en-us",
-                                             "description" : "Keybord layout for vnc server. Default is read from the datacenter configuration file.",
+                                             "default" : null,
+                                             "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.",
                                              "enum" : [
                                                 "de",
                                                 "de-ch",
@@ -7081,12 +9790,14 @@ var pveapi = [
                                              "default" : 1,
                                              "description" : "Enable/disable KVM hardware virtualization.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "localtime" : {
                                              "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "lock" : {
                                              "description" : "Lock/unlock the VM.",
@@ -7111,90 +9822,227 @@ var pveapi = [
                                              "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
                                              "minimum" : 16,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (16 - N)"
                                           },
                                           "migrate_downtime" : {
                                              "default" : 0.1,
                                              "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "number"
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - N)"
                                           },
                                           "migrate_speed" : {
                                              "default" : 0,
                                              "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "name" : {
                                              "description" : "Set a name for the VM. Only used on the configuration web interface.",
                                              "format" : "dns-name",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "nameserver" : {
+                                             "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+                                             "format" : "address-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "net[n]" : {
-                                             "description" : "Specify network devices.\n\nMODEL is one of: e1000 e1000-82540em e1000-82544gc e1000-82545em i82551 i82557b i82559er ne2k_isa ne2k_pci pcnet rtl8139 virtio vmxnet3\n\nXX:XX:XX:XX:XX:XX should be an unique MAC address. This is\nautomatically generated if not specified.\n\nThe bridge parameter can be used to automatically add the interface to a bridge device. The Proxmox VE standard bridge is called 'vmbr0'.\n\nOption 'rate' is used to limit traffic bandwidth from and to this interface. It is specified as floating point number, unit is 'Megabytes per second'.\n\nIf you specify no bridge, we create a kvm 'user' (NATed) network device, which provides DHCP and DNS services. The following addresses are used:\n\n10.0.2.2   Gateway\n10.0.2.3   DNS Server\n10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n\n",
-                                             "format" : "pve-qm-net",
+                                             "description" : "Specify network devices.",
+                                             "format" : {
+                                                "bridge" : {
+                                                   "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2   Gateway\n 10.0.2.3   DNS Server\n 10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
+                                                   "format_description" : "bridge",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "e1000" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "e1000-82540em" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "e1000-82544gc" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "e1000-82545em" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "firewall" : {
+                                                   "description" : "Whether this interface should be protected by the firewall.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "i82551" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "i82557b" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "i82559er" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "link_down" : {
+                                                   "description" : "Whether this interface should be disconnected (like pulling the plug).",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "macaddr" : {
+                                                   "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                                   "format_description" : "XX:XX:XX:XX:XX:XX",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
+                                                   "type" : "string"
+                                                },
+                                                "model" : {
+                                                   "default_key" : 1,
+                                                   "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
+                                                   "enum" : [
+                                                      "rtl8139",
+                                                      "ne2k_pci",
+                                                      "e1000",
+                                                      "pcnet",
+                                                      "virtio",
+                                                      "ne2k_isa",
+                                                      "i82551",
+                                                      "i82557b",
+                                                      "i82559er",
+                                                      "vmxnet3",
+                                                      "e1000-82540em",
+                                                      "e1000-82544gc",
+                                                      "e1000-82545em"
+                                                   ],
+                                                   "type" : "string"
+                                                },
+                                                "ne2k_isa" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "ne2k_pci" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "pcnet" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "queues" : {
+                                                   "description" : "Number of packet queues to be used on the device.",
+                                                   "maximum" : 16,
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "rate" : {
+                                                   "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "number"
+                                                },
+                                                "rtl8139" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "tag" : {
+                                                   "description" : "VLAN tag to apply to packets on this interface.",
+                                                   "maximum" : 4094,
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "trunks" : {
+                                                   "description" : "VLAN trunks to pass through this interface.",
+                                                   "format_description" : "vlanid[;vlanid...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
+                                                   "type" : "string"
+                                                },
+                                                "virtio" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
+                                                "vmxnet3" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                }
+                                             },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "numa" : {
                                              "default" : 0,
                                              "description" : "Enable/disable NUMA.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "numa[n]" : {
-                                             "description" : "numa topology",
+                                             "description" : "NUMA topology.",
                                              "format" : {
                                                 "cpus" : {
-                                                   "description" : "CPUs accessing this numa node.",
+                                                   "description" : "CPUs accessing this NUMA node.",
                                                    "format_description" : "id[-id];...",
                                                    "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
                                                    "type" : "string"
                                                 },
                                                 "hostnodes" : {
-                                                   "description" : "host numa nodes to use",
+                                                   "description" : "Host NUMA nodes to use.",
                                                    "format_description" : "id[-id];...",
                                                    "optional" : 1,
                                                    "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
                                                    "type" : "string"
                                                 },
                                                 "memory" : {
-                                                   "description" : "Amount of memory this numa node provides.",
-                                                   "format_description" : "mb",
+                                                   "description" : "Amount of memory this NUMA node provides.",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "policy" : {
-                                                   "description" : "numa allocation policy.",
+                                                   "description" : "NUMA allocation policy.",
                                                    "enum" : [
                                                       "preferred",
                                                       "bind",
                                                       "interleave"
                                                    ],
-                                                   "format_description" : "preferred|bind|interleave",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
                                           },
                                           "onboot" : {
                                              "default" : 0,
                                              "description" : "Specifies whether a VM will be started during system bootup.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "ostype" : {
-                                             "description" : "Used to enable special optimization/features for specific\noperating systems:\n\nother  => unspecified OS\nwxp    => Microsoft Windows XP\nw2k    => Microsoft Windows 2000\nw2k3   => Microsoft Windows 2003\nw2k8   => Microsoft Windows 2008\nwvista => Microsoft Windows Vista\nwin7   => Microsoft Windows 7\nwin8   => Microsoft Windows 8/2012\nl24    => Linux 2.4 Kernel\nl26    => Linux 2.6/3.X Kernel\nsolaris => solaris/opensolaris/openindiania kernel\n\nother|l24|l26|solaris                       ... no special behaviour\nwxp|w2k|w2k3|w2k8|wvista|win7|win8  ... use --localtime switch\n",
+                                             "description" : "Specify guest operating system.",
                                              "enum" : [
                                                 "other",
                                                 "wxp",
@@ -7204,36 +10052,42 @@ var pveapi = [
                                                 "wvista",
                                                 "win7",
                                                 "win8",
+                                                "win10",
                                                 "l24",
                                                 "l26",
                                                 "solaris"
                                              ],
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
-                                             "description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nExperimental: user reported problems with this option.\n",
+                                             "description" : "Map host parallel devices (n is 0 to 2).",
                                              "optional" : 1,
                                              "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                                           },
                                           "protection" : {
                                              "default" : 0,
-                                             "description" : "Sets the protection flag of the VM. This will prevent the remove operation.",
+                                             "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "reboot" : {
                                              "default" : 1,
                                              "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "revert" : {
                                              "description" : "Revert a pending change.",
                                              "format" : "pve-configid-list",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "sata[n]" : {
                                              "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
@@ -7244,34 +10098,59 @@ var pveapi = [
                                                       "native",
                                                       "threads"
                                                    ],
-                                                   "format_description" : "native|threads",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "backup" : {
                                                    "description" : "Whether the drive should be included when making backups.",
-                                                   "format_description" : "on|off",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "bps" : {
-                                                   "description" : "Maximum r/w speed speed in bytes per second.",
+                                                   "description" : "Maximum r/w speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_rd" : {
-                                                   "description" : "Maximum read speed speed in bytes per second.",
+                                                   "description" : "Maximum read speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_wr" : {
-                                                   "description" : "Maximum write speed speed in bytes per second.",
+                                                   "description" : "Maximum write speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "cache" : {
                                                    "description" : "The drive's cache mode",
                                                    "enum" : [
@@ -7281,13 +10160,11 @@ var pveapi = [
                                                       "unsafe",
                                                       "directsync"
                                                    ],
-                                                   "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "cyls" : {
                                                    "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -7302,7 +10179,6 @@ var pveapi = [
                                                       "ignore",
                                                       "on"
                                                    ],
-                                                   "format_description" : "ignore|on",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -7324,84 +10200,109 @@ var pveapi = [
                                                       "vmdk",
                                                       "cloop"
                                                    ],
-                                                   "format_description" : "drive format",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "heads" : {
                                                    "description" : "Force the drive's physical geometry to have a specific head count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops" : {
-                                                   "description" : "Maximum r/w I/O speed in operations per second.",
+                                                   "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops_max" : {
-                                                   "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_rd" : {
-                                                   "description" : "Maximum read I/O speed in operations per second.",
+                                                   "description" : "Maximum read I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_length" : {
+                                                   "alias" : "iops_rd_max_length"
+                                                },
                                                 "iops_rd_max" : {
-                                                   "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_wr" : {
-                                                   "description" : "Maximum write I/O speed in operations per second.",
+                                                   "description" : "Maximum write I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_length" : {
+                                                   "alias" : "iops_wr_max_length"
+                                                },
                                                 "iops_wr_max" : {
-                                                   "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "mbps" : {
-                                                   "description" : "Maximum r/w speed speed in megabytes per second.",
+                                                   "description" : "Maximum r/w speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_max" : {
-                                                   "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd" : {
-                                                   "description" : "Maximum read speed speed in megabytes per second.",
+                                                   "description" : "Maximum read speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd_max" : {
-                                                   "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled read pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr" : {
-                                                   "description" : "Maximum write speed speed in megabytes per second.",
+                                                   "description" : "Maximum write speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr_max" : {
-                                                   "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled write pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
@@ -7413,10 +10314,15 @@ var pveapi = [
                                                       "cdrom",
                                                       "disk"
                                                    ],
-                                                   "format_description" : "cdrom|disk",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Whether the drive should considered for replication jobs.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "rerror" : {
                                                    "description" : "Read error action.",
                                                    "enum" : [
@@ -7424,13 +10330,11 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -7442,15 +10346,22 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this locally-managed volume as available on all nodes",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "snapshot" : {
-                                                   "description" : "Whether the drive should be included when making snapshots.",
-                                                   "format_description" : "on|off",
+                                                   "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -7461,7 +10372,6 @@ var pveapi = [
                                                       "lba",
                                                       "auto"
                                                    ],
-                                                   "format_description" : "none|lba|auto",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -7476,13 +10386,13 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "enospc|ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "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>]"
                                           },
                                           "scsi[n]" : {
                                              "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -7493,34 +10403,59 @@ var pveapi = [
                                                       "native",
                                                       "threads"
                                                    ],
-                                                   "format_description" : "native|threads",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "backup" : {
                                                    "description" : "Whether the drive should be included when making backups.",
-                                                   "format_description" : "on|off",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "bps" : {
-                                                   "description" : "Maximum r/w speed speed in bytes per second.",
+                                                   "description" : "Maximum r/w speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_rd" : {
-                                                   "description" : "Maximum read speed speed in bytes per second.",
+                                                   "description" : "Maximum read speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_wr" : {
-                                                   "description" : "Maximum write speed speed in bytes per second.",
+                                                   "description" : "Maximum write speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "cache" : {
                                                    "description" : "The drive's cache mode",
                                                    "enum" : [
@@ -7530,13 +10465,11 @@ var pveapi = [
                                                       "unsafe",
                                                       "directsync"
                                                    ],
-                                                   "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "cyls" : {
                                                    "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -7551,7 +10484,6 @@ var pveapi = [
                                                       "ignore",
                                                       "on"
                                                    ],
-                                                   "format_description" : "ignore|on",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -7573,90 +10505,114 @@ var pveapi = [
                                                       "vmdk",
                                                       "cloop"
                                                    ],
-                                                   "format_description" : "drive format",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "heads" : {
                                                    "description" : "Force the drive's physical geometry to have a specific head count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops" : {
-                                                   "description" : "Maximum r/w I/O speed in operations per second.",
+                                                   "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops_max" : {
-                                                   "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_rd" : {
-                                                   "description" : "Maximum read I/O speed in operations per second.",
+                                                   "description" : "Maximum read I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_length" : {
+                                                   "alias" : "iops_rd_max_length"
+                                                },
                                                 "iops_rd_max" : {
-                                                   "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_wr" : {
-                                                   "description" : "Maximum write I/O speed in operations per second.",
+                                                   "description" : "Maximum write I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_length" : {
+                                                   "alias" : "iops_wr_max_length"
+                                                },
                                                 "iops_wr_max" : {
-                                                   "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iothread" : {
                                                    "description" : "Whether to use iothreads for this drive",
-                                                   "format_description" : "off|on",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "mbps" : {
-                                                   "description" : "Maximum r/w speed speed in megabytes per second.",
+                                                   "description" : "Maximum r/w speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_max" : {
-                                                   "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd" : {
-                                                   "description" : "Maximum read speed speed in megabytes per second.",
+                                                   "description" : "Maximum read speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd_max" : {
-                                                   "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled read pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr" : {
-                                                   "description" : "Maximum write speed speed in megabytes per second.",
+                                                   "description" : "Maximum write speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr_max" : {
-                                                   "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled write pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
@@ -7668,20 +10624,39 @@ var pveapi = [
                                                       "cdrom",
                                                       "disk"
                                                    ],
-                                                   "format_description" : "cdrom|disk",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "queues" : {
                                                    "description" : "Number of queues.",
-                                                   "format_description" : "nbqueues",
                                                    "minimum" : 2,
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Whether the drive should considered for replication jobs.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "rerror" : {
+                                                   "description" : "Read error action.",
+                                                   "enum" : [
+                                                      "ignore",
+                                                      "report",
+                                                      "stop"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "scsiblock" : {
+                                                   "default" : 0,
+                                                   "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -7693,15 +10668,22 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this locally-managed volume as available on all nodes",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "snapshot" : {
-                                                   "description" : "Whether the drive should be included when making snapshots.",
-                                                   "format_description" : "on|off",
+                                                   "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -7712,7 +10694,6 @@ var pveapi = [
                                                       "lba",
                                                       "auto"
                                                    ],
-                                                   "format_description" : "none|lba|auto",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -7727,17 +10708,17 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "enospc|ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "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>]"
                                           },
                                           "scsihw" : {
                                              "default" : "lsi",
-                                             "description" : "scsi controller model",
+                                             "description" : "SCSI controller model",
                                              "enum" : [
                                                 "lsi",
                                                 "lsi53c810",
@@ -7749,11 +10730,18 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "string"
                                           },
+                                          "searchdomain" : {
+                                             "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "serial[n]" : {
-                                             "description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a host serial device (i.e. /dev/ttyS0), or create a unix socket on the host side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nExperimental: user reported problems with this option.\n",
+                                             "description" : "Create a serial device inside the VM (n is 0 to 3)",
                                              "optional" : 1,
                                              "pattern" : "(/dev/.+|socket)",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                                           },
                                           "shares" : {
                                              "default" : 1000,
@@ -7761,33 +10749,45 @@ var pveapi = [
                                              "maximum" : 50000,
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - 50000)"
                                           },
                                           "skiplock" : {
                                              "description" : "Ignore locks - only root is allowed to use this option.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "smbios1" : {
                                              "description" : "Specify SMBIOS type 1 fields.",
                                              "format" : "pve-qm-smbios1",
                                              "maxLength" : 256,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
                                           },
                                           "smp" : {
                                              "default" : 1,
                                              "description" : "The number of CPUs. Please use option -sockets instead.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "sockets" : {
                                              "default" : 1,
                                              "description" : "The number of CPU sockets.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          },
+                                          "sshkeys" : {
+                                             "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
+                                             "format" : "urlencoded",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "startdate" : {
                                              "default" : "now",
@@ -7806,57 +10806,64 @@ var pveapi = [
                                           },
                                           "tablet" : {
                                              "default" : 1,
-                                             "description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl).",
+                                             "description" : "Enable/disable the USB tablet device.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>",
+                                             "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
                                           },
                                           "tdf" : {
                                              "default" : 0,
                                              "description" : "Enable/disable time drift fix.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "template" : {
                                              "default" : 0,
                                              "description" : "Enable/disable Template.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "unused[n]" : {
-                                             "description" : "Reference to unused volumes.",
+                                             "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
                                              "format" : "pve-volume-id",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "usb[n]" : {
-                                             "description" : "Configure an USB device (n is 0 to 4). This can be used to\npass-through usb devices to the guest. HOSTUSBDEVICE syntax is:\n\n'bus-port(.port)*' (decimal numbers) or\n'vendor_id:product_id' (hexadeciaml numbers) or\n'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n\nThe 'usb3' option determines whether the device is a USB3 device or not (this does currently not work reliably with spice redirection and is then ignored).\n\n",
+                                             "description" : "Configure an USB device (n is 0 to 4).",
                                              "format" : {
                                                 "host" : {
                                                    "default_key" : 1,
-                                                   "description" : "The Host USB device or port or the value spice",
+                                                   "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
                                                    "format" : "pve-qm-usb-device",
                                                    "format_description" : "HOSTUSBDEVICE|spice",
                                                    "type" : "string"
                                                 },
                                                 "usb3" : {
-                                                   "description" : "Specifies whether if given host option is a USB3 device or port",
-                                                   "format_description" : "yes|no",
+                                                   "default" : 0,
+                                                   "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
                                           },
                                           "vcpus" : {
                                              "default" : 0,
                                              "description" : "Number of hotplugged vcpus.",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "vga" : {
-                                             "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.",
+                                             "description" : "Select the VGA type.",
                                              "enum" : [
                                                 "std",
                                                 "cirrus",
@@ -7871,7 +10878,8 @@ var pveapi = [
                                                 "qxl4"
                                              ],
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "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."
                                           },
                                           "virtio[n]" : {
                                              "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
@@ -7882,34 +10890,59 @@ var pveapi = [
                                                       "native",
                                                       "threads"
                                                    ],
-                                                   "format_description" : "native|threads",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "backup" : {
                                                    "description" : "Whether the drive should be included when making backups.",
-                                                   "format_description" : "on|off",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "bps" : {
-                                                   "description" : "Maximum r/w speed speed in bytes per second.",
+                                                   "description" : "Maximum r/w speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_rd" : {
-                                                   "description" : "Maximum read speed speed in bytes per second.",
+                                                   "description" : "Maximum read speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "bps_wr" : {
-                                                   "description" : "Maximum write speed speed in bytes per second.",
+                                                   "description" : "Maximum write speed in bytes per second.",
                                                    "format_description" : "bps",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "cache" : {
                                                    "description" : "The drive's cache mode",
                                                    "enum" : [
@@ -7919,13 +10952,11 @@ var pveapi = [
                                                       "unsafe",
                                                       "directsync"
                                                    ],
-                                                   "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "cyls" : {
                                                    "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -7940,7 +10971,6 @@ var pveapi = [
                                                       "ignore",
                                                       "on"
                                                    ],
-                                                   "format_description" : "ignore|on",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -7962,90 +10992,114 @@ var pveapi = [
                                                       "vmdk",
                                                       "cloop"
                                                    ],
-                                                   "format_description" : "drive format",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "heads" : {
                                                    "description" : "Force the drive's physical geometry to have a specific head count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops" : {
-                                                   "description" : "Maximum r/w I/O speed in operations per second.",
+                                                   "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "iops_max" : {
-                                                   "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_rd" : {
-                                                   "description" : "Maximum read I/O speed in operations per second.",
+                                                   "description" : "Maximum read I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_length" : {
+                                                   "alias" : "iops_rd_max_length"
+                                                },
                                                 "iops_rd_max" : {
-                                                   "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iops_wr" : {
-                                                   "description" : "Maximum write I/O speed in operations per second.",
+                                                   "description" : "Maximum write I/O in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_length" : {
+                                                   "alias" : "iops_wr_max_length"
+                                                },
                                                 "iops_wr_max" : {
-                                                   "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                                   "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                                    "format_description" : "iops",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "iops_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
                                                 "iothread" : {
                                                    "description" : "Whether to use iothreads for this drive",
-                                                   "format_description" : "off|on",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "mbps" : {
-                                                   "description" : "Maximum r/w speed speed in megabytes per second.",
+                                                   "description" : "Maximum r/w speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_max" : {
-                                                   "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd" : {
-                                                   "description" : "Maximum read speed speed in megabytes per second.",
+                                                   "description" : "Maximum read speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_rd_max" : {
-                                                   "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled read pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr" : {
-                                                   "description" : "Maximum write speed speed in megabytes per second.",
+                                                   "description" : "Maximum write speed in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
                                                 },
                                                 "mbps_wr_max" : {
-                                                   "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                                   "description" : "Maximum unthrottled write pool in megabytes per second.",
                                                    "format_description" : "mbps",
                                                    "optional" : 1,
                                                    "type" : "number"
@@ -8057,10 +11111,15 @@ var pveapi = [
                                                       "cdrom",
                                                       "disk"
                                                    ],
-                                                   "format_description" : "cdrom|disk",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Whether the drive should considered for replication jobs.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "rerror" : {
                                                    "description" : "Read error action.",
                                                    "enum" : [
@@ -8068,13 +11127,11 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                                   "format_description" : "count",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -8086,15 +11143,22 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this locally-managed volume as available on all nodes",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "snapshot" : {
-                                                   "description" : "Whether the drive should be included when making snapshots.",
-                                                   "format_description" : "on|off",
+                                                   "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -8105,7 +11169,6 @@ var pveapi = [
                                                       "lba",
                                                       "auto"
                                                    ],
-                                                   "format_description" : "none|lba|auto",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -8120,25 +11183,35 @@ var pveapi = [
                                                       "report",
                                                       "stop"
                                                    ],
-                                                   "format_description" : "enospc|ignore|report|stop",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          },
+                                          "vmstatestorage" : {
+                                             "description" : "Default storage for VM state volumes/files.",
+                                             "format" : "pve-storage-id",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "watchdog" : {
-                                             "description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)",
+                                             "description" : "Create a virtual hardware watchdog device.",
                                              "format" : "pve-qm-watchdog",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
+                                             "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
                                           }
                                        }
                                     },
@@ -8182,13 +11255,15 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -8249,23 +11324,27 @@ var pveapi = [
                                           "force" : {
                                              "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "idlist" : {
                                              "description" : "A list of disk IDs you want to delete.",
                                              "format" : "pve-configid-list",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -8301,18 +11380,21 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "websocket" : {
                                              "description" : "starts websockify instead of vncproxy",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           }
                                        }
                                     },
@@ -8352,6 +11434,74 @@ var pveapi = [
                               "path" : "/nodes/{node}/qemu/{vmid}/vncproxy",
                               "text" : "vncproxy"
                            },
+                           {
+                              "info" : {
+                                 "POST" : {
+                                    "description" : "Creates a TCP proxy connections.",
+                                    "method" : "POST",
+                                    "name" : "termproxy",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "serial" : {
+                                             "description" : "opens a serial terminal (defaults to display)",
+                                             "enum" : [
+                                                "serial0",
+                                                "serial1",
+                                                "serial2",
+                                                "serial3"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Console"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "port" : {
+                                             "type" : "integer"
+                                          },
+                                          "ticket" : {
+                                             "type" : "string"
+                                          },
+                                          "upid" : {
+                                             "type" : "string"
+                                          },
+                                          "user" : {
+                                             "type" : "string"
+                                          }
+                                       }
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/qemu/{vmid}/termproxy",
+                              "text" : "termproxy"
+                           },
                            {
                               "info" : {
                                  "GET" : {
@@ -8364,24 +11514,28 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "port" : {
                                              "description" : "Port number returned by previous vncproxy call.",
                                              "maximum" : 5999,
                                              "minimum" : 5900,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (5900 - 5999)"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "vncticket" : {
                                              "description" : "Ticket from previous call to vncproxy.",
                                              "maxLength" : 512,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
@@ -8421,19 +11575,22 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "proxy" : {
                                              "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
                                              "format" : "address",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -8489,13 +11646,15 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -8539,29 +11698,56 @@ var pveapi = [
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
                                                    "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "migration_network" : {
+                                                   "description" : "CIDR of the (sub) network that is used for migration.",
+                                                   "format" : "CIDR",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "migration_type" : {
+                                                   "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
+                                                   "enum" : [
+                                                      "secure",
+                                                      "insecure"
+                                                   ],
+                                                   "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "stateuri" : {
                                                    "description" : "Some command save/restore state from this location.",
                                                    "maxLength" : 128,
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "targetstorage" : {
+                                                   "description" : "Target storage for the migration. (Can be '1' to use the same storage id as on the source node.)",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -8596,37 +11782,43 @@ var pveapi = [
                                              "properties" : {
                                                 "keepActive" : {
                                                    "default" : 0,
-                                                   "description" : "Do not decativate storage volumes.",
+                                                   "description" : "Do not deactivate storage volumes.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "migratedfrom" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "timeout" : {
                                                    "description" : "Wait maximal timeout seconds.",
                                                    "minimum" : 0,
                                                    "optional" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -8662,18 +11854,21 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -8710,35 +11905,41 @@ var pveapi = [
                                                    "default" : 0,
                                                    "description" : "Make sure the VM stops.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "keepActive" : {
                                                    "default" : 0,
-                                                   "description" : "Do not decativate storage volumes.",
+                                                   "description" : "Do not deactivate storage volumes.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "timeout" : {
                                                    "description" : "Wait maximal timeout seconds.",
                                                    "minimum" : 0,
                                                    "optional" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -8774,18 +11975,21 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -8820,23 +12024,27 @@ var pveapi = [
                                              "properties" : {
                                                 "nocheck" : {
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -8872,13 +12080,15 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -8920,23 +12130,27 @@ var pveapi = [
                                        "properties" : {
                                           "key" : {
                                              "description" : "The key (qemu monitor encoding).",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "skiplock" : {
                                              "description" : "Ignore locks - only root is allowed to use this option.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -8981,20 +12195,23 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "snapname" : {
                                              "description" : "The name of the snapshot.",
                                              "format" : "pve-configid",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -9041,73 +12258,80 @@ var pveapi = [
                                           "description" : {
                                              "description" : "Description for the new VM.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "format" : {
-                                             "description" : "Target format for file storage.",
+                                             "description" : "Target format for file storage. Only valid for full clone.",
                                              "enum" : [
                                                 "raw",
                                                 "qcow2",
                                                 "vmdk"
                                              ],
                                              "optional" : 1,
-                                             "requires" : "full",
                                              "type" : "string"
                                           },
                                           "full" : {
-                                             "default" : 0,
-                                             "description" : "Create a full copy of all disk. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.",
+                                             "description" : "Create a full copy of all disks. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "name" : {
                                              "description" : "Set a name for the new VM.",
                                              "format" : "dns-name",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "newid" : {
                                              "description" : "VMID for the clone.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "pool" : {
                                              "description" : "Add the new VM to the specified pool.",
                                              "format" : "pve-poolid",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "snapname" : {
                                              "description" : "The name of the snapshot.",
                                              "format" : "pve-configid",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "storage" : {
                                              "description" : "Target storage for full clone.",
                                              "format" : "pve-storage-id",
                                              "optional" : 1,
-                                             "requires" : "full",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "target" : {
                                              "description" : "Target node. Only allowed if the original VM is on shared storage.",
                                              "format" : "pve-node",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -9167,13 +12391,15 @@ var pveapi = [
                                              "default" : 0,
                                              "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "digest" : {
                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "disk" : {
                                              "description" : "The disk you want to move.",
@@ -9217,7 +12443,8 @@ var pveapi = [
                                                 "sata2",
                                                 "sata3",
                                                 "sata4",
-                                                "sata5"
+                                                "sata5",
+                                                "efidisk0"
                                              ],
                                              "type" : "string"
                                           },
@@ -9234,18 +12461,21 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "storage" : {
                                              "description" : "Target storage.",
                                              "format" : "pve-storage-id",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -9293,28 +12523,62 @@ var pveapi = [
                                           "force" : {
                                              "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "migration_network" : {
+                                             "description" : "CIDR of the (sub) network that is used for migration.",
+                                             "format" : "CIDR",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "migration_type" : {
+                                             "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
+                                             "enum" : [
+                                                "secure",
+                                                "insecure"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "online" : {
                                              "description" : "Use online/live migration.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "target" : {
                                              "description" : "Target node.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "targetstorage" : {
+                                             "description" : "Default target storage.",
+                                             "format" : "pve-storage-id",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          },
+                                          "with-local-disks" : {
+                                             "description" : "Enable live storage migration for local disk",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           }
                                        }
                                     },
@@ -9350,18 +12614,21 @@ var pveapi = [
                                        "properties" : {
                                           "command" : {
                                              "description" : "The monitor command.",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -9372,7 +12639,8 @@ var pveapi = [
                                           [
                                              "VM.Monitor"
                                           ]
-                                       ]
+                                       ],
+                                       "description" : "Sys.Modify is required for (sub)commands which are not read-only ('info *' and 'help')"
                                     },
                                     "protected" : 1,
                                     "proxyto" : "node",
@@ -9398,7 +12666,8 @@ var pveapi = [
                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "disk" : {
                                              "description" : "The disk you want to resize.",
@@ -9442,30 +12711,34 @@ var pveapi = [
                                                 "sata2",
                                                 "sata3",
                                                 "sata4",
-                                                "sata5"
+                                                "sata5",
+                                                "efidisk0"
                                              ],
                                              "type" : "string"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "size" : {
-                                             "description" : "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
+                                             "description" : "The new size. With the `+` sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
                                              "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
                                              "type" : "string"
                                           },
                                           "skiplock" : {
                                              "description" : "Ignore locks - only root is allowed to use this option.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -9505,19 +12778,22 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "snapname" : {
                                                          "description" : "The name of the snapshot.",
                                                          "format" : "pve-configid",
                                                          "maxLength" : 40,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -9526,8 +12802,11 @@ var pveapi = [
                                                       "perm",
                                                       "/vms/{vmid}",
                                                       [
-                                                         "VM.Snapshot"
-                                                      ]
+                                                         "VM.Snapshot",
+                                                         "VM.Snapshot.Rollback"
+                                                      ],
+                                                      "any",
+                                                      1
                                                    ]
                                                 },
                                                 "proxyto" : "node",
@@ -9545,24 +12824,28 @@ var pveapi = [
                                                       "description" : {
                                                          "description" : "A textual description or comment.",
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "snapname" : {
                                                          "description" : "The name of the snapshot.",
                                                          "format" : "pve-configid",
                                                          "maxLength" : 40,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -9598,19 +12881,22 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "snapname" : {
                                                          "description" : "The name of the snapshot.",
                                                          "format" : "pve-configid",
                                                          "maxLength" : 40,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -9619,8 +12905,11 @@ var pveapi = [
                                                       "perm",
                                                       "/vms/{vmid}",
                                                       [
-                                                         "VM.Snapshot"
-                                                      ]
+                                                         "VM.Snapshot",
+                                                         "VM.Snapshot.Rollback"
+                                                      ],
+                                                      "any",
+                                                      1
                                                    ]
                                                 },
                                                 "protected" : 1,
@@ -9647,24 +12936,28 @@ var pveapi = [
                                                 "force" : {
                                                    "description" : "For removal from config file, even if removing disk snapshots fails.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "snapname" : {
                                                    "description" : "The name of the snapshot.",
                                                    "format" : "pve-configid",
                                                    "maxLength" : 40,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -9694,19 +12987,22 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "snapname" : {
                                                    "description" : "The name of the snapshot.",
                                                    "format" : "pve-configid",
                                                    "maxLength" : 40,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -9744,13 +13040,15 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -9789,29 +13087,34 @@ var pveapi = [
                                           "description" : {
                                              "description" : "A textual description or comment.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "snapname" : {
                                              "description" : "The name of the snapshot.",
                                              "format" : "pve-configid",
                                              "maxLength" : 40,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "vmstate" : {
                                              "description" : "Save the vmstate",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           }
                                        }
                                     },
@@ -9887,7 +13190,8 @@ var pveapi = [
                                                 "sata2",
                                                 "sata3",
                                                 "sata4",
-                                                "sata5"
+                                                "sata5",
+                                                "efidisk0"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -9895,13 +13199,15 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -9938,18 +13244,21 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "skiplock" : {
                                        "description" : "Ignore locks - only root is allowed to use this option.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "vmid" : {
                                        "description" : "The (unique) ID of the VM.",
                                        "format" : "pve-vmid",
                                        "minimum" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - N)"
                                     }
                                  }
                               },
@@ -9978,13 +13287,15 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "vmid" : {
                                        "description" : "The (unique) ID of the VM.",
                                        "format" : "pve-vmid",
                                        "minimum" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - N)"
                                     }
                                  }
                               },
@@ -10027,12 +13338,14 @@ var pveapi = [
                               "full" : {
                                  "description" : "Determine the full status of active VMs.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -10067,36 +13380,43 @@ var pveapi = [
                                  "default" : 1,
                                  "description" : "Enable/disable ACPI.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "agent" : {
                                  "default" : 0,
                                  "description" : "Enable/disable Qemu GuestAgent.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "archive" : {
                                  "description" : "The backup file.",
                                  "maxLength" : 255,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "args" : {
-                                 "description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n",
+                                 "description" : "Arbitrary arguments passed to kvm.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>",
+                                 "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
                               },
                               "autostart" : {
                                  "default" : 0,
                                  "description" : "Automatic restart after crash (currently ignored).",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "balloon" : {
                                  "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "bios" : {
                                  "default" : "seabios",
@@ -10112,29 +13432,58 @@ var pveapi = [
                                  "default" : "cdn",
                                  "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
                                  "optional" : 1,
-                                 "pattern" : "[acdn]{1,4}",
-                                 "type" : "string"
+                                 "pattern" : "[acdn]{1,4}",
+                                 "type" : "string"
+                              },
+                              "bootdisk" : {
+                                 "description" : "Enable booting from specified disk.",
+                                 "format" : "pve-qm-bootdisk",
+                                 "optional" : 1,
+                                 "pattern" : "(ide|sata|scsi|virtio)\\d+",
+                                 "type" : "string"
+                              },
+                              "bwlimit" : {
+                                 "description" : "Override i/o bandwidth limit (in KiB/s).",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
+                              },
+                              "cdrom" : {
+                                 "description" : "This is an alias for option -ide2",
+                                 "format" : "pve-qm-ide",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<volume>"
+                              },
+                              "cipassword" : {
+                                 "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
-                              "bootdisk" : {
-                                 "description" : "Enable booting from specified disk.",
-                                 "format" : "pve-qm-bootdisk",
+                              "citype" : {
+                                 "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
+                                 "enum" : [
+                                    "configdrive2",
+                                    "nocloud"
+                                 ],
                                  "optional" : 1,
-                                 "pattern" : "(ide|sata|scsi|virtio)\\d+",
                                  "type" : "string"
                               },
-                              "cdrom" : {
-                                 "description" : "This is an alias for option -ide2",
-                                 "format" : "pve-qm-drive",
+                              "ciuser" : {
+                                 "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "volume"
+                                 "typetext" : "<string>"
                               },
                               "cores" : {
                                  "default" : 1,
                                  "description" : "The number of cores per socket.",
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
                               },
                               "cpu" : {
                                  "description" : "Emulated CPU type.",
@@ -10146,34 +13495,55 @@ var pveapi = [
                                        "enum" : [
                                           "486",
                                           "athlon",
-                                          "pentium",
-                                          "pentium2",
-                                          "pentium3",
-                                          "coreduo",
+                                          "Broadwell",
+                                          "Broadwell-IBRS",
+                                          "Broadwell-noTSX",
+                                          "Broadwell-noTSX-IBRS",
+                                          "Conroe",
                                           "core2duo",
+                                          "coreduo",
+                                          "EPYC",
+                                          "EPYC-IBPB",
+                                          "Haswell",
+                                          "Haswell-IBRS",
+                                          "Haswell-noTSX",
+                                          "Haswell-noTSX-IBRS",
+                                          "host",
+                                          "IvyBridge",
+                                          "IvyBridge-IBRS",
                                           "kvm32",
                                           "kvm64",
-                                          "qemu32",
-                                          "qemu64",
-                                          "phenom",
-                                          "Conroe",
-                                          "Penryn",
+                                          "max",
                                           "Nehalem",
-                                          "Westmere",
-                                          "SandyBridge",
-                                          "IvyBridge",
-                                          "Haswell",
-                                          "Haswell-noTSX",
-                                          "Broadwell",
-                                          "Broadwell-noTSX",
+                                          "Nehalem-IBRS",
                                           "Opteron_G1",
                                           "Opteron_G2",
                                           "Opteron_G3",
                                           "Opteron_G4",
                                           "Opteron_G5",
-                                          "host"
+                                          "Penryn",
+                                          "pentium",
+                                          "pentium2",
+                                          "pentium3",
+                                          "phenom",
+                                          "qemu32",
+                                          "qemu64",
+                                          "SandyBridge",
+                                          "SandyBridge-IBRS",
+                                          "Skylake-Client",
+                                          "Skylake-Client-IBRS",
+                                          "Skylake-Server",
+                                          "Skylake-Server-IBRS",
+                                          "Westmere",
+                                          "Westmere-IBRS"
                                        ],
-                                       "format_description" : "cputype",
+                                       "type" : "string"
+                                    },
+                                    "flags" : {
+                                       "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl'.",
+                                       "format_description" : "+FLAG[;-FLAG...]",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl))(;(?^:[+-](pcid|spec-ctrl)))*)",
                                        "type" : "string"
                                     },
                                     "hidden" : {
@@ -10184,51 +13554,72 @@ var pveapi = [
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[cputype=]<enum> [,flags=<+FLAG[;-FLAG...]>] [,hidden=<1|0>]"
                               },
                               "cpulimit" : {
                                  "default" : 0,
-                                 "description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit.",
+                                 "description" : "Limit of CPU usage.",
                                  "maximum" : 128,
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "number"
+                                 "type" : "number",
+                                 "typetext" : "<number> (0 - 128)",
+                                 "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
                               },
                               "cpuunits" : {
-                                 "default" : 1000,
-                                 "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
-                                 "maximum" : 500000,
-                                 "minimum" : 0,
+                                 "default" : 1024,
+                                 "description" : "CPU weight for a VM.",
+                                 "maximum" : 262144,
+                                 "minimum" : 2,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (2 - 262144)",
+                                 "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
                               },
                               "description" : {
                                  "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "force" : {
                                  "description" : "Allow to overwrite existing VM.",
                                  "optional" : 1,
                                  "requires" : "archive",
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "freeze" : {
                                  "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "hostpci[n]" : {
-                                 "description" : "Map host pci devices. HOSTPCIDEVICE syntax is:\n\n'bus:dev.func' (hexadecimal numbers)\n\nYou can us the 'lspci' command to list existing pci devices.\n\nThe 'rombar' option determines whether or not the device's ROM will be visible in the guest's memory map (default is 'on').\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nExperimental: user reported problems with this option.\n",
+                                 "description" : "Map host PCI devices into guest.",
                                  "format" : "pve-qm-hostpci",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
+                                 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                               },
                               "hotplug" : {
                                  "default" : "network,disk,usb",
                                  "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
                                  "format" : "pve-hotplug-features",
                                  "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "hugepages" : {
+                                 "description" : "Enable/disable hugepages memory.",
+                                 "enum" : [
+                                    "any",
+                                    "2",
+                                    "1024"
+                                 ],
+                                 "optional" : 1,
                                  "type" : "string"
                               },
                               "ide[n]" : {
@@ -10240,34 +13631,59 @@ var pveapi = [
                                           "native",
                                           "threads"
                                        ],
-                                       "format_description" : "native|threads",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "backup" : {
                                        "description" : "Whether the drive should be included when making backups.",
-                                       "format_description" : "on|off",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "bps" : {
-                                       "description" : "Maximum r/w speed speed in bytes per second.",
+                                       "description" : "Maximum r/w speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "bps_rd" : {
-                                       "description" : "Maximum read speed speed in bytes per second.",
+                                       "description" : "Maximum read speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_rd_length" : {
+                                       "alias" : "bps_rd_max_length"
+                                    },
+                                    "bps_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "bps_wr" : {
-                                       "description" : "Maximum write speed speed in bytes per second.",
+                                       "description" : "Maximum write speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_wr_length" : {
+                                       "alias" : "bps_wr_max_length"
+                                    },
+                                    "bps_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "cache" : {
                                        "description" : "The drive's cache mode",
                                        "enum" : [
@@ -10277,13 +13693,11 @@ var pveapi = [
                                           "unsafe",
                                           "directsync"
                                        ],
-                                       "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "cyls" : {
                                        "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -10298,7 +13712,6 @@ var pveapi = [
                                           "ignore",
                                           "on"
                                        ],
-                                       "format_description" : "ignore|on",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -10320,84 +13733,109 @@ var pveapi = [
                                           "vmdk",
                                           "cloop"
                                        ],
-                                       "format_description" : "drive format",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "heads" : {
                                        "description" : "Force the drive's physical geometry to have a specific head count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "iops" : {
-                                       "description" : "Maximum r/w I/O speed in operations per second.",
+                                       "description" : "Maximum r/w I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "iops_max" : {
-                                       "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "iops_rd" : {
-                                       "description" : "Maximum read I/O speed in operations per second.",
+                                       "description" : "Maximum read I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_rd_length" : {
+                                       "alias" : "iops_rd_max_length"
+                                    },
                                     "iops_rd_max" : {
-                                       "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "iops_wr" : {
-                                       "description" : "Maximum write I/O speed in operations per second.",
+                                       "description" : "Maximum write I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_wr_length" : {
+                                       "alias" : "iops_wr_max_length"
+                                    },
                                     "iops_wr_max" : {
-                                       "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "mbps" : {
-                                       "description" : "Maximum r/w speed speed in megabytes per second.",
+                                       "description" : "Maximum r/w speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_max" : {
-                                       "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_rd" : {
-                                       "description" : "Maximum read speed speed in megabytes per second.",
+                                       "description" : "Maximum read speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_rd_max" : {
-                                       "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled read pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_wr" : {
-                                       "description" : "Maximum write speed speed in megabytes per second.",
+                                       "description" : "Maximum write speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_wr_max" : {
-                                       "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled write pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
@@ -10409,7 +13847,6 @@ var pveapi = [
                                           "cdrom",
                                           "disk"
                                        ],
-                                       "format_description" : "cdrom|disk",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -10421,6 +13858,12 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "replicate" : {
+                                       "default" : 1,
+                                       "description" : "Whether the drive should considered for replication jobs.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "rerror" : {
                                        "description" : "Read error action.",
                                        "enum" : [
@@ -10428,13 +13871,11 @@ var pveapi = [
                                           "report",
                                           "stop"
                                        ],
-                                       "format_description" : "ignore|report|stop",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "secs" : {
                                        "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -10446,15 +13887,22 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "shared" : {
+                                       "default" : 0,
+                                       "description" : "Mark this locally-managed volume as available on all nodes",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                    },
                                     "size" : {
                                        "description" : "Disk size. This is purely informational and has no effect.",
                                        "format" : "disk-size",
+                                       "format_description" : "DiskSize",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "snapshot" : {
-                                       "description" : "Whether the drive should be included when making snapshots.",
-                                       "format_description" : "on|off",
+                                       "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
@@ -10465,7 +13913,6 @@ var pveapi = [
                                           "lba",
                                           "auto"
                                        ],
-                                       "format_description" : "none|lba|auto",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -10480,17 +13927,24 @@ var pveapi = [
                                           "report",
                                           "stop"
                                        ],
-                                       "format_description" : "enospc|ignore|report|stop",
                                        "optional" : 1,
                                        "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "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>]"
+                              },
+                              "ipconfig[n]" : {
+                                 "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
+                                 "format" : "pve-qm-ipconfig",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
                               },
                               "keyboard" : {
-                                 "default" : "en-us",
-                                 "description" : "Keybord layout for vnc server. Default is read from the datacenter configuration file.",
+                                 "default" : null,
+                                 "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.It should not be necessary to set it.",
                                  "enum" : [
                                     "de",
                                     "de-ch",
@@ -10525,12 +13979,14 @@ var pveapi = [
                                  "default" : 1,
                                  "description" : "Enable/disable KVM hardware virtualization.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "localtime" : {
                                  "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "lock" : {
                                  "description" : "Lock/unlock the VM.",
@@ -10555,90 +14011,227 @@ var pveapi = [
                                  "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
                                  "minimum" : 16,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (16 - N)"
                               },
                               "migrate_downtime" : {
                                  "default" : 0.1,
                                  "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "number"
+                                 "type" : "number",
+                                 "typetext" : "<number> (0 - N)"
                               },
                               "migrate_speed" : {
                                  "default" : 0,
                                  "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "name" : {
                                  "description" : "Set a name for the VM. Only used on the configuration web interface.",
                                  "format" : "dns-name",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "nameserver" : {
+                                 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+                                 "format" : "address-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "net[n]" : {
-                                 "description" : "Specify network devices.\n\nMODEL is one of: e1000 e1000-82540em e1000-82544gc e1000-82545em i82551 i82557b i82559er ne2k_isa ne2k_pci pcnet rtl8139 virtio vmxnet3\n\nXX:XX:XX:XX:XX:XX should be an unique MAC address. This is\nautomatically generated if not specified.\n\nThe bridge parameter can be used to automatically add the interface to a bridge device. The Proxmox VE standard bridge is called 'vmbr0'.\n\nOption 'rate' is used to limit traffic bandwidth from and to this interface. It is specified as floating point number, unit is 'Megabytes per second'.\n\nIf you specify no bridge, we create a kvm 'user' (NATed) network device, which provides DHCP and DNS services. The following addresses are used:\n\n10.0.2.2   Gateway\n10.0.2.3   DNS Server\n10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n\n",
-                                 "format" : "pve-qm-net",
+                                 "description" : "Specify network devices.",
+                                 "format" : {
+                                    "bridge" : {
+                                       "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2   Gateway\n 10.0.2.3   DNS Server\n 10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
+                                       "format_description" : "bridge",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "e1000" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "e1000-82540em" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "e1000-82544gc" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "e1000-82545em" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "firewall" : {
+                                       "description" : "Whether this interface should be protected by the firewall.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "i82551" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "i82557b" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "i82559er" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "link_down" : {
+                                       "description" : "Whether this interface should be disconnected (like pulling the plug).",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "macaddr" : {
+                                       "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                       "format_description" : "XX:XX:XX:XX:XX:XX",
+                                       "optional" : 1,
+                                       "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
+                                       "type" : "string"
+                                    },
+                                    "model" : {
+                                       "default_key" : 1,
+                                       "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
+                                       "enum" : [
+                                          "rtl8139",
+                                          "ne2k_pci",
+                                          "e1000",
+                                          "pcnet",
+                                          "virtio",
+                                          "ne2k_isa",
+                                          "i82551",
+                                          "i82557b",
+                                          "i82559er",
+                                          "vmxnet3",
+                                          "e1000-82540em",
+                                          "e1000-82544gc",
+                                          "e1000-82545em"
+                                       ],
+                                       "type" : "string"
+                                    },
+                                    "ne2k_isa" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "ne2k_pci" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "pcnet" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "queues" : {
+                                       "description" : "Number of packet queues to be used on the device.",
+                                       "maximum" : 16,
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "rate" : {
+                                       "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "number"
+                                    },
+                                    "rtl8139" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "tag" : {
+                                       "description" : "VLAN tag to apply to packets on this interface.",
+                                       "maximum" : 4094,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "trunks" : {
+                                       "description" : "VLAN trunks to pass through this interface.",
+                                       "format_description" : "vlanid[;vlanid...]",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
+                                       "type" : "string"
+                                    },
+                                    "virtio" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
+                                    "vmxnet3" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    }
+                                 },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[model=]<enum> [,bridge=<bridge>] [,firewall=<1|0>] [,link_down=<1|0>] [,macaddr=<XX:XX:XX:XX:XX:XX>] [,queues=<integer>] [,rate=<number>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,<model>=<macaddr>]"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "numa" : {
                                  "default" : 0,
                                  "description" : "Enable/disable NUMA.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "numa[n]" : {
-                                 "description" : "numa topology",
+                                 "description" : "NUMA topology.",
                                  "format" : {
                                     "cpus" : {
-                                       "description" : "CPUs accessing this numa node.",
+                                       "description" : "CPUs accessing this NUMA node.",
                                        "format_description" : "id[-id];...",
                                        "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
                                        "type" : "string"
                                     },
                                     "hostnodes" : {
-                                       "description" : "host numa nodes to use",
+                                       "description" : "Host NUMA nodes to use.",
                                        "format_description" : "id[-id];...",
                                        "optional" : 1,
                                        "pattern" : "(?^:\\d+(?:-\\d+)?(?:;\\d+(?:-\\d+)?)*)",
                                        "type" : "string"
                                     },
                                     "memory" : {
-                                       "description" : "Amount of memory this numa node provides.",
-                                       "format_description" : "mb",
+                                       "description" : "Amount of memory this NUMA node provides.",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "policy" : {
-                                       "description" : "numa allocation policy.",
+                                       "description" : "NUMA allocation policy.",
                                        "enum" : [
                                           "preferred",
                                           "bind",
                                           "interleave"
                                        ],
-                                       "format_description" : "preferred|bind|interleave",
                                        "optional" : 1,
                                        "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "cpus=<id[-id];...> [,hostnodes=<id[-id];...>] [,memory=<number>] [,policy=<preferred|bind|interleave>]"
                               },
                               "onboot" : {
                                  "default" : 0,
                                  "description" : "Specifies whether a VM will be started during system bootup.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "ostype" : {
-                                 "description" : "Used to enable special optimization/features for specific\noperating systems:\n\nother  => unspecified OS\nwxp    => Microsoft Windows XP\nw2k    => Microsoft Windows 2000\nw2k3   => Microsoft Windows 2003\nw2k8   => Microsoft Windows 2008\nwvista => Microsoft Windows Vista\nwin7   => Microsoft Windows 7\nwin8   => Microsoft Windows 8/2012\nl24    => Linux 2.4 Kernel\nl26    => Linux 2.6/3.X Kernel\nsolaris => solaris/opensolaris/openindiania kernel\n\nother|l24|l26|solaris                       ... no special behaviour\nwxp|w2k|w2k3|w2k8|wvista|win7|win8  ... use --localtime switch\n",
+                                 "description" : "Specify guest operating system.",
                                  "enum" : [
                                     "other",
                                     "wxp",
@@ -10648,36 +14241,42 @@ var pveapi = [
                                     "wvista",
                                     "win7",
                                     "win8",
+                                    "win10",
                                     "l24",
                                     "l26",
                                     "solaris"
                                  ],
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                               },
                               "parallel[n]" : {
-                                 "description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nExperimental: user reported problems with this option.\n",
+                                 "description" : "Map host parallel devices (n is 0 to 2).",
                                  "optional" : 1,
                                  "pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                               },
                               "pool" : {
                                  "description" : "Add the VM to the specified pool.",
                                  "format" : "pve-poolid",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "protection" : {
                                  "default" : 0,
-                                 "description" : "Sets the protection flag of the VM. This will prevent the remove operation.",
+                                 "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "reboot" : {
                                  "default" : 1,
                                  "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "sata[n]" : {
                                  "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
@@ -10688,34 +14287,59 @@ var pveapi = [
                                           "native",
                                           "threads"
                                        ],
-                                       "format_description" : "native|threads",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "backup" : {
                                        "description" : "Whether the drive should be included when making backups.",
-                                       "format_description" : "on|off",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "bps" : {
-                                       "description" : "Maximum r/w speed speed in bytes per second.",
+                                       "description" : "Maximum r/w speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "bps_rd" : {
-                                       "description" : "Maximum read speed speed in bytes per second.",
+                                       "description" : "Maximum read speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_rd_length" : {
+                                       "alias" : "bps_rd_max_length"
+                                    },
+                                    "bps_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "bps_wr" : {
-                                       "description" : "Maximum write speed speed in bytes per second.",
+                                       "description" : "Maximum write speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_wr_length" : {
+                                       "alias" : "bps_wr_max_length"
+                                    },
+                                    "bps_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "cache" : {
                                        "description" : "The drive's cache mode",
                                        "enum" : [
@@ -10725,13 +14349,11 @@ var pveapi = [
                                           "unsafe",
                                           "directsync"
                                        ],
-                                       "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "cyls" : {
                                        "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -10746,7 +14368,6 @@ var pveapi = [
                                           "ignore",
                                           "on"
                                        ],
-                                       "format_description" : "ignore|on",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -10768,84 +14389,109 @@ var pveapi = [
                                           "vmdk",
                                           "cloop"
                                        ],
-                                       "format_description" : "drive format",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "heads" : {
                                        "description" : "Force the drive's physical geometry to have a specific head count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "iops" : {
-                                       "description" : "Maximum r/w I/O speed in operations per second.",
+                                       "description" : "Maximum r/w I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "iops_max" : {
-                                       "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "iops_rd" : {
-                                       "description" : "Maximum read I/O speed in operations per second.",
+                                       "description" : "Maximum read I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_rd_length" : {
+                                       "alias" : "iops_rd_max_length"
+                                    },
                                     "iops_rd_max" : {
-                                       "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "iops_wr" : {
-                                       "description" : "Maximum write I/O speed in operations per second.",
+                                       "description" : "Maximum write I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_wr_length" : {
+                                       "alias" : "iops_wr_max_length"
+                                    },
                                     "iops_wr_max" : {
-                                       "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "mbps" : {
-                                       "description" : "Maximum r/w speed speed in megabytes per second.",
+                                       "description" : "Maximum r/w speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_max" : {
-                                       "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_rd" : {
-                                       "description" : "Maximum read speed speed in megabytes per second.",
+                                       "description" : "Maximum read speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_rd_max" : {
-                                       "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled read pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_wr" : {
-                                       "description" : "Maximum write speed speed in megabytes per second.",
+                                       "description" : "Maximum write speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_wr_max" : {
-                                       "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled write pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
@@ -10857,10 +14503,15 @@ var pveapi = [
                                           "cdrom",
                                           "disk"
                                        ],
-                                       "format_description" : "cdrom|disk",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "replicate" : {
+                                       "default" : 1,
+                                       "description" : "Whether the drive should considered for replication jobs.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "rerror" : {
                                        "description" : "Read error action.",
                                        "enum" : [
@@ -10868,13 +14519,11 @@ var pveapi = [
                                           "report",
                                           "stop"
                                        ],
-                                       "format_description" : "ignore|report|stop",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "secs" : {
                                        "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -10886,15 +14535,22 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "shared" : {
+                                       "default" : 0,
+                                       "description" : "Mark this locally-managed volume as available on all nodes",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                    },
                                     "size" : {
                                        "description" : "Disk size. This is purely informational and has no effect.",
                                        "format" : "disk-size",
+                                       "format_description" : "DiskSize",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "snapshot" : {
-                                       "description" : "Whether the drive should be included when making snapshots.",
-                                       "format_description" : "on|off",
+                                       "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
@@ -10905,7 +14561,6 @@ var pveapi = [
                                           "lba",
                                           "auto"
                                        ],
-                                       "format_description" : "none|lba|auto",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -10920,13 +14575,13 @@ var pveapi = [
                                           "report",
                                           "stop"
                                        ],
-                                       "format_description" : "enospc|ignore|report|stop",
                                        "optional" : 1,
                                        "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "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>]"
                               },
                               "scsi[n]" : {
                                  "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -10937,34 +14592,59 @@ var pveapi = [
                                           "native",
                                           "threads"
                                        ],
-                                       "format_description" : "native|threads",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "backup" : {
                                        "description" : "Whether the drive should be included when making backups.",
-                                       "format_description" : "on|off",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "bps" : {
-                                       "description" : "Maximum r/w speed speed in bytes per second.",
+                                       "description" : "Maximum r/w speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "bps_rd" : {
-                                       "description" : "Maximum read speed speed in bytes per second.",
+                                       "description" : "Maximum read speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_rd_length" : {
+                                       "alias" : "bps_rd_max_length"
+                                    },
+                                    "bps_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "bps_wr" : {
-                                       "description" : "Maximum write speed speed in bytes per second.",
+                                       "description" : "Maximum write speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_wr_length" : {
+                                       "alias" : "bps_wr_max_length"
+                                    },
+                                    "bps_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "cache" : {
                                        "description" : "The drive's cache mode",
                                        "enum" : [
@@ -10974,13 +14654,11 @@ var pveapi = [
                                           "unsafe",
                                           "directsync"
                                        ],
-                                       "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "cyls" : {
                                        "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -10995,7 +14673,6 @@ var pveapi = [
                                           "ignore",
                                           "on"
                                        ],
-                                       "format_description" : "ignore|on",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -11017,90 +14694,114 @@ var pveapi = [
                                           "vmdk",
                                           "cloop"
                                        ],
-                                       "format_description" : "drive format",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "heads" : {
                                        "description" : "Force the drive's physical geometry to have a specific head count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "iops" : {
-                                       "description" : "Maximum r/w I/O speed in operations per second.",
+                                       "description" : "Maximum r/w I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "iops_max" : {
-                                       "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "iops_rd" : {
-                                       "description" : "Maximum read I/O speed in operations per second.",
+                                       "description" : "Maximum read I/O in operations per second.",
+                                       "format_description" : "iops",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iops_rd_length" : {
+                                       "alias" : "iops_rd_max_length"
+                                    },
+                                    "iops_rd_max" : {
+                                       "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
-                                    "iops_rd_max" : {
-                                       "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
-                                       "format_description" : "iops",
+                                    "iops_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "iops_wr" : {
-                                       "description" : "Maximum write I/O speed in operations per second.",
+                                       "description" : "Maximum write I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_wr_length" : {
+                                       "alias" : "iops_wr_max_length"
+                                    },
                                     "iops_wr_max" : {
-                                       "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "iothread" : {
                                        "description" : "Whether to use iothreads for this drive",
-                                       "format_description" : "off|on",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "mbps" : {
-                                       "description" : "Maximum r/w speed speed in megabytes per second.",
+                                       "description" : "Maximum r/w speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_max" : {
-                                       "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_rd" : {
-                                       "description" : "Maximum read speed speed in megabytes per second.",
+                                       "description" : "Maximum read speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_rd_max" : {
-                                       "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled read pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_wr" : {
-                                       "description" : "Maximum write speed speed in megabytes per second.",
+                                       "description" : "Maximum write speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_wr_max" : {
-                                       "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled write pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
@@ -11112,20 +14813,39 @@ var pveapi = [
                                           "cdrom",
                                           "disk"
                                        ],
-                                       "format_description" : "cdrom|disk",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "queues" : {
                                        "description" : "Number of queues.",
-                                       "format_description" : "nbqueues",
                                        "minimum" : 2,
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "replicate" : {
+                                       "default" : 1,
+                                       "description" : "Whether the drive should considered for replication jobs.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "rerror" : {
+                                       "description" : "Read error action.",
+                                       "enum" : [
+                                          "ignore",
+                                          "report",
+                                          "stop"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "scsiblock" : {
+                                       "default" : 0,
+                                       "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "secs" : {
                                        "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -11137,15 +14857,22 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "shared" : {
+                                       "default" : 0,
+                                       "description" : "Mark this locally-managed volume as available on all nodes",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                    },
                                     "size" : {
                                        "description" : "Disk size. This is purely informational and has no effect.",
                                        "format" : "disk-size",
+                                       "format_description" : "DiskSize",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "snapshot" : {
-                                       "description" : "Whether the drive should be included when making snapshots.",
-                                       "format_description" : "on|off",
+                                       "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
@@ -11156,7 +14883,6 @@ var pveapi = [
                                           "lba",
                                           "auto"
                                        ],
-                                       "format_description" : "none|lba|auto",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -11171,17 +14897,17 @@ var pveapi = [
                                           "report",
                                           "stop"
                                        ],
-                                       "format_description" : "enospc|ignore|report|stop",
                                        "optional" : 1,
                                        "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "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>]"
                               },
                               "scsihw" : {
                                  "default" : "lsi",
-                                 "description" : "scsi controller model",
+                                 "description" : "SCSI controller model",
                                  "enum" : [
                                     "lsi",
                                     "lsi53c810",
@@ -11193,11 +14919,18 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "string"
                               },
+                              "searchdomain" : {
+                                 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "serial[n]" : {
-                                 "description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a host serial device (i.e. /dev/ttyS0), or create a unix socket on the host side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nExperimental: user reported problems with this option.\n",
+                                 "description" : "Create a serial device inside the VM (n is 0 to 3)",
                                  "optional" : 1,
                                  "pattern" : "(/dev/.+|socket)",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                               },
                               "shares" : {
                                  "default" : 1000,
@@ -11205,28 +14938,39 @@ var pveapi = [
                                  "maximum" : 50000,
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - 50000)"
                               },
                               "smbios1" : {
                                  "description" : "Specify SMBIOS type 1 fields.",
                                  "format" : "pve-qm-smbios1",
                                  "maxLength" : 256,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
                               },
                               "smp" : {
                                  "default" : 1,
                                  "description" : "The number of CPUs. Please use option -sockets instead.",
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
                               },
                               "sockets" : {
                                  "default" : 1,
                                  "description" : "The number of CPU sockets.",
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
+                              },
+                              "sshkeys" : {
+                                 "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
+                                 "format" : "urlencoded",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "startdate" : {
                                  "default" : "now",
@@ -11247,67 +14991,76 @@ var pveapi = [
                                  "description" : "Default storage.",
                                  "format" : "pve-storage-id",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "tablet" : {
                                  "default" : 1,
-                                 "description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl).",
+                                 "description" : "Enable/disable the USB tablet device.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>",
+                                 "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
                               },
                               "tdf" : {
                                  "default" : 0,
                                  "description" : "Enable/disable time drift fix.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "template" : {
                                  "default" : 0,
                                  "description" : "Enable/disable Template.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "unique" : {
                                  "description" : "Assign a unique random ethernet address.",
                                  "optional" : 1,
                                  "requires" : "archive",
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "unused[n]" : {
-                                 "description" : "Reference to unused volumes.",
+                                 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
                                  "format" : "pve-volume-id",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "usb[n]" : {
-                                 "description" : "Configure an USB device (n is 0 to 4). This can be used to\npass-through usb devices to the guest. HOSTUSBDEVICE syntax is:\n\n'bus-port(.port)*' (decimal numbers) or\n'vendor_id:product_id' (hexadeciaml numbers) or\n'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n\nThe 'usb3' option determines whether the device is a USB3 device or not (this does currently not work reliably with spice redirection and is then ignored).\n\n",
+                                 "description" : "Configure an USB device (n is 0 to 4).",
                                  "format" : {
                                     "host" : {
                                        "default_key" : 1,
-                                       "description" : "The Host USB device or port or the value spice",
+                                       "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
                                        "format" : "pve-qm-usb-device",
                                        "format_description" : "HOSTUSBDEVICE|spice",
                                        "type" : "string"
                                     },
                                     "usb3" : {
-                                       "description" : "Specifies whether if given host option is a USB3 device or port",
-                                       "format_description" : "yes|no",
+                                       "default" : 0,
+                                       "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[host=]<HOSTUSBDEVICE|spice> [,usb3=<1|0>]"
                               },
                               "vcpus" : {
                                  "default" : 0,
                                  "description" : "Number of hotplugged vcpus.",
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
                               },
                               "vga" : {
-                                 "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.",
+                                 "description" : "Select the VGA type.",
                                  "enum" : [
                                     "std",
                                     "cirrus",
@@ -11322,7 +15075,8 @@ var pveapi = [
                                     "qxl4"
                                  ],
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "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."
                               },
                               "virtio[n]" : {
                                  "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
@@ -11333,34 +15087,59 @@ var pveapi = [
                                           "native",
                                           "threads"
                                        ],
-                                       "format_description" : "native|threads",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "backup" : {
                                        "description" : "Whether the drive should be included when making backups.",
-                                       "format_description" : "on|off",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "bps" : {
-                                       "description" : "Maximum r/w speed speed in bytes per second.",
+                                       "description" : "Maximum r/w speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "bps_rd" : {
-                                       "description" : "Maximum read speed speed in bytes per second.",
+                                       "description" : "Maximum read speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_rd_length" : {
+                                       "alias" : "bps_rd_max_length"
+                                    },
+                                    "bps_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "bps_wr" : {
-                                       "description" : "Maximum write speed speed in bytes per second.",
+                                       "description" : "Maximum write speed in bytes per second.",
                                        "format_description" : "bps",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "bps_wr_length" : {
+                                       "alias" : "bps_wr_max_length"
+                                    },
+                                    "bps_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "cache" : {
                                        "description" : "The drive's cache mode",
                                        "enum" : [
@@ -11370,13 +15149,11 @@ var pveapi = [
                                           "unsafe",
                                           "directsync"
                                        ],
-                                       "format_description" : "none|writethrough|writeback|unsafe|directsync",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "cyls" : {
                                        "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -11391,7 +15168,6 @@ var pveapi = [
                                           "ignore",
                                           "on"
                                        ],
-                                       "format_description" : "ignore|on",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -11413,90 +15189,114 @@ var pveapi = [
                                           "vmdk",
                                           "cloop"
                                        ],
-                                       "format_description" : "drive format",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "heads" : {
                                        "description" : "Force the drive's physical geometry to have a specific head count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "iops" : {
-                                       "description" : "Maximum r/w I/O speed in operations per second.",
+                                       "description" : "Maximum r/w I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "iops_max" : {
-                                       "description" : "Maximum unthrottled r/w I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "iops_rd" : {
-                                       "description" : "Maximum read I/O speed in operations per second.",
+                                       "description" : "Maximum read I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_rd_length" : {
+                                       "alias" : "iops_rd_max_length"
+                                    },
                                     "iops_rd_max" : {
-                                       "description" : "Maximum unthrottled read I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled read I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "iops_wr" : {
-                                       "description" : "Maximum write I/O speed in operations per second.",
+                                       "description" : "Maximum write I/O in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_wr_length" : {
+                                       "alias" : "iops_wr_max_length"
+                                    },
                                     "iops_wr_max" : {
-                                       "description" : "Maximum unthrottled write I/O pool speed in operations per second.",
+                                       "description" : "Maximum unthrottled write I/O pool in operations per second.",
                                        "format_description" : "iops",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "iops_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "iothread" : {
                                        "description" : "Whether to use iothreads for this drive",
-                                       "format_description" : "off|on",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "mbps" : {
-                                       "description" : "Maximum r/w speed speed in megabytes per second.",
+                                       "description" : "Maximum r/w speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_max" : {
-                                       "description" : "Maximum unthrottled r/w pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled r/w pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_rd" : {
-                                       "description" : "Maximum read speed speed in megabytes per second.",
+                                       "description" : "Maximum read speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_rd_max" : {
-                                       "description" : "Maximum unthrottled read pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled read pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_wr" : {
-                                       "description" : "Maximum write speed speed in megabytes per second.",
+                                       "description" : "Maximum write speed in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
                                     },
                                     "mbps_wr_max" : {
-                                       "description" : "Maximum unthrottled write pool speed in megabytes per second.",
+                                       "description" : "Maximum unthrottled write pool in megabytes per second.",
                                        "format_description" : "mbps",
                                        "optional" : 1,
                                        "type" : "number"
@@ -11508,10 +15308,15 @@ var pveapi = [
                                           "cdrom",
                                           "disk"
                                        ],
-                                       "format_description" : "cdrom|disk",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "replicate" : {
+                                       "default" : 1,
+                                       "description" : "Whether the drive should considered for replication jobs.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "rerror" : {
                                        "description" : "Read error action.",
                                        "enum" : [
@@ -11519,13 +15324,11 @@ var pveapi = [
                                           "report",
                                           "stop"
                                        ],
-                                       "format_description" : "ignore|report|stop",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "secs" : {
                                        "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                       "format_description" : "count",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -11537,15 +15340,22 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "shared" : {
+                                       "default" : 0,
+                                       "description" : "Mark this locally-managed volume as available on all nodes",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                    },
                                     "size" : {
                                        "description" : "Disk size. This is purely informational and has no effect.",
                                        "format" : "disk-size",
+                                       "format_description" : "DiskSize",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "snapshot" : {
-                                       "description" : "Whether the drive should be included when making snapshots.",
-                                       "format_description" : "on|off",
+                                       "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
@@ -11556,7 +15366,6 @@ var pveapi = [
                                           "lba",
                                           "auto"
                                        ],
-                                       "format_description" : "none|lba|auto",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
@@ -11571,25 +15380,35 @@ var pveapi = [
                                           "report",
                                           "stop"
                                        ],
-                                       "format_description" : "enospc|ignore|report|stop",
                                        "optional" : 1,
                                        "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
                               },
                               "vmid" : {
                                  "description" : "The (unique) ID of the VM.",
                                  "format" : "pve-vmid",
                                  "minimum" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
+                              },
+                              "vmstatestorage" : {
+                                 "description" : "Default storage for VM state volumes/files.",
+                                 "format" : "pve-storage-id",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "watchdog" : {
-                                 "description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)",
+                                 "description" : "Create a virtual hardware watchdog device.",
                                  "format" : "pve-qm-watchdog",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[[model=]<i6300esb|ib700>] [,action=<enum>]",
+                                 "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
                               }
                            }
                         },
@@ -11624,13 +15443,15 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -11686,7 +15507,16 @@ var pveapi = [
                                              "default" : 1,
                                              "description" : "Attach a console device (/dev/console) to the container.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "cores" : {
+                                             "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
+                                             "maximum" : 128,
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - 128)"
                                           },
                                           "cpulimit" : {
                                              "default" : 0,
@@ -11694,7 +15524,8 @@ var pveapi = [
                                              "maximum" : 128,
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "number"
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - 128)"
                                           },
                                           "cpuunits" : {
                                              "default" : 1024,
@@ -11702,31 +15533,36 @@ var pveapi = [
                                              "maximum" : 500000,
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - 500000)"
                                           },
                                           "delete" : {
                                              "description" : "A list of settings you want to delete.",
                                              "format" : "pve-configid-list",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "description" : {
                                              "description" : "Container description. Only used on the configuration web interface.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "digest" : {
                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "hostname" : {
                                              "description" : "Set a host name for the container.",
                                              "format" : "dns-name",
                                              "maxLength" : 255,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "lock" : {
                                              "description" : "Lock/unlock the VM.",
@@ -11744,41 +15580,53 @@ var pveapi = [
                                              "description" : "Amount of RAM for the VM in MB.",
                                              "minimum" : 16,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (16 - N)"
                                           },
                                           "mp[n]" : {
-                                             "description" : "Use volume as container mount point (experimental feature).",
+                                             "description" : "Use volume as container mount point.",
                                              "format" : {
                                                 "acl" : {
                                                    "description" : "Explicitly enable or disable ACL support.",
-                                                   "format_description" : "acl",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "backup" : {
-                                                   "description" : "Whether to include the mountpoint in backups.",
-                                                   "format_description" : "[1|0]",
+                                                   "description" : "Whether to include the mount point in backups.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
                                                 },
                                                 "mp" : {
-                                                   "description" : "Path to the mountpoint as seen from inside the container.",
+                                                   "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
                                                    "format" : "pve-lxc-mp-string",
                                                    "format_description" : "Path",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
                                                 },
                                                 "quota" : {
                                                    "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
-                                                   "format_description" : "[0|1]",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Will include this volume to a storage replica job.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "ro" : {
-                                                   "description" : "Read-only mountpoint (not supported with bind mounts)",
-                                                   "format_description" : "ro",
+                                                   "description" : "Read-only mount point",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Volume size (read only value).",
                                                    "format" : "disk-size",
@@ -11795,27 +15643,28 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
                                           },
                                           "nameserver" : {
                                              "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
                                              "format" : "address-list",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "net[n]" : {
                                              "description" : "Specifies network interfaces for the container.",
                                              "format" : {
                                                 "bridge" : {
                                                    "description" : "Bridge to attach the network device to.",
-                                                   "format_description" : "vmbr<Number>",
+                                                   "format_description" : "bridge",
                                                    "optional" : 1,
                                                    "pattern" : "[-_.\\w\\d]+",
                                                    "type" : "string"
                                                 },
                                                 "firewall" : {
                                                    "description" : "Controls whether this interface's firewall rules should be used.",
-                                                   "format_description" : "[1|0]",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -11834,8 +15683,8 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "hwaddr" : {
-                                                   "description" : "Bridge to attach the network device to. (lxc.network.hwaddr)",
-                                                   "format_description" : "MAC",
+                                                   "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_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
                                                    "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
                                                    "type" : "string"
@@ -11843,27 +15692,26 @@ var pveapi = [
                                                 "ip" : {
                                                    "description" : "IPv4 address in CIDR format.",
                                                    "format" : "pve-ipv4-config",
-                                                   "format_description" : "IPv4Format/CIDR",
+                                                   "format_description" : "(IPv4/CIDR|dhcp|manual)",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "ip6" : {
                                                    "description" : "IPv6 address in CIDR format.",
                                                    "format" : "pve-ipv6-config",
-                                                   "format_description" : "IPv6Format/CIDR",
+                                                   "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
                                                 "mtu" : {
                                                    "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
-                                                   "format_description" : "Number",
                                                    "minimum" : 64,
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
                                                 "name" : {
                                                    "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
-                                                   "format_description" : "String",
+                                                   "format_description" : "string",
                                                    "pattern" : "[-_.\\w\\d]+",
                                                    "type" : "string"
                                                 },
@@ -11875,9 +15723,8 @@ var pveapi = [
                                                 },
                                                 "tag" : {
                                                    "description" : "VLAN tag for this interface.",
-                                                   "format_description" : "VlanNo",
-                                                   "maximum" : "4094",
-                                                   "minimum" : "2",
+                                                   "maximum" : 4094,
+                                                   "minimum" : 1,
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -11898,18 +15745,21 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "onboot" : {
                                              "default" : 0,
                                              "description" : "Specifies whether a VM will be started during system bootup.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "ostype" : {
                                              "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
@@ -11921,6 +15771,7 @@ var pveapi = [
                                                 "opensuse",
                                                 "archlinux",
                                                 "alpine",
+                                                "gentoo",
                                                 "unmanaged"
                                              ],
                                              "optional" : 1,
@@ -11930,35 +15781,40 @@ var pveapi = [
                                              "default" : 0,
                                              "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "rootfs" : {
                                              "description" : "Use volume as container root.",
                                              "format" : {
                                                 "acl" : {
                                                    "description" : "Explicitly enable or disable ACL support.",
-                                                   "format_description" : "acl",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
-                                                "backup" : {
-                                                   "description" : "Whether to include the mountpoint in backups.",
-                                                   "format_description" : "[1|0]",
+                                                "quota" : {
+                                                   "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
-                                                "quota" : {
-                                                   "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
-                                                   "format_description" : "[0|1]",
+                                                "replicate" : {
+                                                   "default" : 1,
+                                                   "description" : "Will include this volume to a storage replica job.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "ro" : {
-                                                   "description" : "Read-only mountpoint (not supported with bind mounts)",
-                                                   "format_description" : "ro",
+                                                   "description" : "Read-only mount point",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "shared" : {
+                                                   "default" : 0,
+                                                   "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
+                                                },
                                                 "size" : {
                                                    "description" : "Volume size (read only value).",
                                                    "format" : "disk-size",
@@ -11975,13 +15831,15 @@ var pveapi = [
                                                 }
                                              },
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
                                           },
                                           "searchdomain" : {
                                              "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
                                              "format" : "dns-name-list",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "startup" : {
                                              "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
@@ -11995,13 +15853,15 @@ var pveapi = [
                                              "description" : "Amount of SWAP for the VM in MB.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "template" : {
                                              "default" : 0,
                                              "description" : "Enable/disable Template.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "tty" : {
                                              "default" : 2,
@@ -12009,25 +15869,29 @@ var pveapi = [
                                              "maximum" : 6,
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - 6)"
                                           },
                                           "unprivileged" : {
                                              "default" : 0,
                                              "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "unused[n]" : {
-                                             "description" : "Reference to unused volumes.",
+                                             "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
                                              "format" : "pve-volume-id",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -12044,7 +15908,8 @@ var pveapi = [
                                           ],
                                           "any",
                                           1
-                                       ]
+                                       ],
+                                       "description" : "non-volume mount points in rootfs and mp[n] are restricted to root@pam"
                                     },
                                     "protected" : 1,
                                     "proxyto" : "node",
@@ -12071,13 +15936,15 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -12113,18 +15980,21 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -12160,18 +16030,21 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "skiplock" : {
                                                    "description" : "Ignore locks - only root is allowed to use this option.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -12208,25 +16081,29 @@ var pveapi = [
                                                    "default" : 0,
                                                    "description" : "Make sure the Container stops.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "timeout" : {
                                                    "default" : 60,
                                                    "description" : "Wait maximal timeout seconds.",
                                                    "minimum" : 0,
                                                    "optional" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -12262,13 +16139,15 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -12304,13 +16183,15 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -12346,13 +16227,15 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -12399,19 +16282,22 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "snapname" : {
                                                          "description" : "The name of the snapshot.",
                                                          "format" : "pve-configid",
                                                          "maxLength" : 40,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -12420,8 +16306,11 @@ var pveapi = [
                                                       "perm",
                                                       "/vms/{vmid}",
                                                       [
-                                                         "VM.Snapshot"
-                                                      ]
+                                                         "VM.Snapshot",
+                                                         "VM.Snapshot.Rollback"
+                                                      ],
+                                                      "any",
+                                                      1
                                                    ]
                                                 },
                                                 "protected" : 1,
@@ -12448,19 +16337,22 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "snapname" : {
                                                          "description" : "The name of the snapshot.",
                                                          "format" : "pve-configid",
                                                          "maxLength" : 40,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -12469,8 +16361,11 @@ var pveapi = [
                                                       "perm",
                                                       "/vms/{vmid}",
                                                       [
-                                                         "VM.Snapshot"
-                                                      ]
+                                                         "VM.Snapshot",
+                                                         "VM.Snapshot.Rollback"
+                                                      ],
+                                                      "any",
+                                                      1
                                                    ]
                                                 },
                                                 "proxyto" : "node",
@@ -12488,24 +16383,28 @@ var pveapi = [
                                                       "description" : {
                                                          "description" : "A textual description or comment.",
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "snapname" : {
                                                          "description" : "The name of the snapshot.",
                                                          "format" : "pve-configid",
                                                          "maxLength" : 40,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -12541,24 +16440,28 @@ var pveapi = [
                                                 "force" : {
                                                    "description" : "For removal from config file, even if removing disk snapshots fails.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "snapname" : {
                                                    "description" : "The name of the snapshot.",
                                                    "format" : "pve-configid",
                                                    "maxLength" : 40,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -12588,19 +16491,22 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "snapname" : {
                                                    "description" : "The name of the snapshot.",
                                                    "format" : "pve-configid",
                                                    "maxLength" : 40,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -12638,13 +16544,15 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -12683,24 +16591,28 @@ var pveapi = [
                                           "description" : {
                                              "description" : "A textual description or comment.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "snapname" : {
                                              "description" : "The name of the snapshot.",
                                              "format" : "pve-configid",
                                              "maxLength" : 40,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -12742,24 +16654,28 @@ var pveapi = [
                                                          "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                          "maxLength" : 40,
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "pos" : {
                                                          "description" : "Update rule at position <pos>.",
                                                          "minimum" : 0,
                                                          "optional" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -12788,19 +16704,22 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "pos" : {
                                                          "description" : "Update rule at position <pos>.",
                                                          "minimum" : 0,
                                                          "optional" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -12839,37 +16758,45 @@ var pveapi = [
                                                          "type" : "string"
                                                       },
                                                       "comment" : {
+                                                         "description" : "Descriptive comment.",
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "delete" : {
                                                          "description" : "A list of settings you want to delete.",
                                                          "format" : "pve-configid-list",
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "dest" : {
                                                          "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                          "format" : "pve-fw-addr-spec",
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "digest" : {
                                                          "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                          "maxLength" : 40,
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "dport" : {
                                                          "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
                                                          "format" : "pve-fw-dport-spec",
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "enable" : {
+                                                         "description" : "Flag to enable/disable a rule.",
                                                          "minimum" : 0,
                                                          "optional" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
                                                       },
                                                       "iface" : {
                                                          "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
@@ -12877,49 +16804,59 @@ var pveapi = [
                                                          "maxLength" : 20,
                                                          "minLength" : 2,
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "macro" : {
+                                                         "description" : "Use predefined standard macro.",
                                                          "maxLength" : 128,
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "moveto" : {
                                                          "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
                                                          "minimum" : 0,
                                                          "optional" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
                                                       },
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "pos" : {
                                                          "description" : "Update rule at position <pos>.",
                                                          "minimum" : 0,
                                                          "optional" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (0 - N)"
                                                       },
                                                       "proto" : {
                                                          "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
                                                          "format" : "pve-fw-protocol-spec",
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "source" : {
                                                          "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                          "format" : "pve-fw-addr-spec",
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "sport" : {
                                                          "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
                                                          "format" : "pve-fw-sport-spec",
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "type" : {
+                                                         "description" : "Rule type.",
                                                          "enum" : [
                                                             "in",
                                                             "out",
@@ -12932,7 +16869,8 @@ var pveapi = [
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -12968,13 +16906,15 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -13022,31 +16962,38 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "comment" : {
+                                                   "description" : "Descriptive comment.",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "dest" : {
                                                    "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                    "format" : "pve-fw-addr-spec",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "digest" : {
                                                    "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                    "maxLength" : 40,
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "dport" : {
                                                    "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
                                                    "format" : "pve-fw-dport-spec",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "enable" : {
+                                                   "description" : "Flag to enable/disable a rule.",
                                                    "minimum" : 0,
                                                    "optional" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
                                                 },
                                                 "iface" : {
                                                    "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
@@ -13054,43 +17001,52 @@ var pveapi = [
                                                    "maxLength" : 20,
                                                    "minLength" : 2,
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "macro" : {
+                                                   "description" : "Use predefined standard macro.",
                                                    "maxLength" : 128,
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "pos" : {
                                                    "description" : "Update rule at position <pos>.",
                                                    "minimum" : 0,
                                                    "optional" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
                                                 },
                                                 "proto" : {
                                                    "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
                                                    "format" : "pve-fw-protocol-spec",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "source" : {
                                                    "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                    "format" : "pve-fw-addr-spec",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "sport" : {
                                                    "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
                                                    "format" : "pve-fw-sport-spec",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "type" : {
+                                                   "description" : "Rule type.",
                                                    "enum" : [
                                                       "in",
                                                       "out",
@@ -13103,7 +17059,8 @@ var pveapi = [
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -13142,7 +17099,8 @@ var pveapi = [
                                                          "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                          "maxLength" : 40,
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "name" : {
                                                          "description" : "Alias name.",
@@ -13154,13 +17112,15 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -13195,13 +17155,15 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -13228,17 +17190,20 @@ var pveapi = [
                                                       "cidr" : {
                                                          "description" : "Network/IP specification in CIDR format.",
                                                          "format" : "IPorCIDR",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "comment" : {
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "digest" : {
                                                          "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                          "maxLength" : 40,
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "name" : {
                                                          "description" : "Alias name.",
@@ -13250,7 +17215,8 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "rename" : {
                                                          "description" : "Rename an existing alias.",
@@ -13264,7 +17230,8 @@ var pveapi = [
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -13299,13 +17266,15 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -13359,11 +17328,13 @@ var pveapi = [
                                                 "cidr" : {
                                                    "description" : "Network/IP specification in CIDR format.",
                                                    "format" : "IPorCIDR",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "comment" : {
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "name" : {
                                                    "description" : "Alias name.",
@@ -13375,13 +17346,15 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -13420,13 +17393,15 @@ var pveapi = [
                                                             "cidr" : {
                                                                "description" : "Network/IP specification in CIDR format.",
                                                                "format" : "IPorCIDRorAlias",
-                                                               "type" : "string"
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
                                                             },
                                                             "digest" : {
                                                                "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                                "maxLength" : 40,
                                                                "optional" : 1,
-                                                               "type" : "string"
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
                                                             },
                                                             "name" : {
                                                                "description" : "IP set name.",
@@ -13438,13 +17413,15 @@ var pveapi = [
                                                             "node" : {
                                                                "description" : "The cluster node name.",
                                                                "format" : "pve-node",
-                                                               "type" : "string"
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
                                                             },
                                                             "vmid" : {
                                                                "description" : "The (unique) ID of the VM.",
                                                                "format" : "pve-vmid",
                                                                "minimum" : 1,
-                                                               "type" : "integer"
+                                                               "type" : "integer",
+                                                               "typetext" : "<integer> (1 - N)"
                                                             }
                                                          }
                                                       },
@@ -13472,7 +17449,8 @@ var pveapi = [
                                                             "cidr" : {
                                                                "description" : "Network/IP specification in CIDR format.",
                                                                "format" : "IPorCIDRorAlias",
-                                                               "type" : "string"
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
                                                             },
                                                             "name" : {
                                                                "description" : "IP set name.",
@@ -13484,13 +17462,15 @@ var pveapi = [
                                                             "node" : {
                                                                "description" : "The cluster node name.",
                                                                "format" : "pve-node",
-                                                               "type" : "string"
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
                                                             },
                                                             "vmid" : {
                                                                "description" : "The (unique) ID of the VM.",
                                                                "format" : "pve-vmid",
                                                                "minimum" : 1,
-                                                               "type" : "integer"
+                                                               "type" : "integer",
+                                                               "typetext" : "<integer> (1 - N)"
                                                             }
                                                          }
                                                       },
@@ -13518,17 +17498,20 @@ var pveapi = [
                                                             "cidr" : {
                                                                "description" : "Network/IP specification in CIDR format.",
                                                                "format" : "IPorCIDRorAlias",
-                                                               "type" : "string"
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
                                                             },
                                                             "comment" : {
                                                                "optional" : 1,
-                                                               "type" : "string"
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
                                                             },
                                                             "digest" : {
                                                                "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                                "maxLength" : 40,
                                                                "optional" : 1,
-                                                               "type" : "string"
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
                                                             },
                                                             "name" : {
                                                                "description" : "IP set name.",
@@ -13540,17 +17523,20 @@ var pveapi = [
                                                             "node" : {
                                                                "description" : "The cluster node name.",
                                                                "format" : "pve-node",
-                                                               "type" : "string"
+                                                               "type" : "string",
+                                                               "typetext" : "<string>"
                                                             },
                                                             "nomatch" : {
                                                                "optional" : 1,
-                                                               "type" : "boolean"
+                                                               "type" : "boolean",
+                                                               "typetext" : "<boolean>"
                                                             },
                                                             "vmid" : {
                                                                "description" : "The (unique) ID of the VM.",
                                                                "format" : "pve-vmid",
                                                                "minimum" : 1,
-                                                               "type" : "integer"
+                                                               "type" : "integer",
+                                                               "typetext" : "<integer> (1 - N)"
                                                             }
                                                          }
                                                       },
@@ -13592,13 +17578,15 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -13633,13 +17621,15 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -13694,11 +17684,13 @@ var pveapi = [
                                                       "cidr" : {
                                                          "description" : "Network/IP specification in CIDR format.",
                                                          "format" : "IPorCIDRorAlias",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "comment" : {
                                                          "optional" : 1,
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "name" : {
                                                          "description" : "IP set name.",
@@ -13710,17 +17702,20 @@ var pveapi = [
                                                       "node" : {
                                                          "description" : "The cluster node name.",
                                                          "format" : "pve-node",
-                                                         "type" : "string"
+                                                         "type" : "string",
+                                                         "typetext" : "<string>"
                                                       },
                                                       "nomatch" : {
                                                          "optional" : 1,
-                                                         "type" : "boolean"
+                                                         "type" : "boolean",
+                                                         "typetext" : "<boolean>"
                                                       },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
                                                          "minimum" : 1,
-                                                         "type" : "integer"
+                                                         "type" : "integer",
+                                                         "typetext" : "<integer> (1 - N)"
                                                       }
                                                    }
                                                 },
@@ -13755,13 +17750,15 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -13815,13 +17812,15 @@ var pveapi = [
                                              "properties" : {
                                                 "comment" : {
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "digest" : {
                                                    "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                    "maxLength" : 40,
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "name" : {
                                                    "description" : "IP set name.",
@@ -13833,7 +17832,8 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "rename" : {
                                                    "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
@@ -13847,7 +17847,8 @@ var pveapi = [
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -13882,13 +17883,15 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -14001,28 +18004,33 @@ var pveapi = [
                                                    "description" : "A list of settings you want to delete.",
                                                    "format" : "pve-configid-list",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "dhcp" : {
                                                    "description" : "Enable DHCP.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "digest" : {
                                                    "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                                    "maxLength" : 40,
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "enable" : {
                                                    "description" : "Enable/disable firewall rules.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "ipfilter" : {
                                                    "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "log_level_in" : {
                                                    "description" : "Log level for incoming traffic.",
@@ -14059,17 +18067,20 @@ var pveapi = [
                                                 "macfilter" : {
                                                    "description" : "Enable/disable MAC address filter.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "ndp" : {
                                                    "description" : "Enable NDP.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "policy_in" : {
                                                    "description" : "Input policy.",
@@ -14094,13 +18105,15 @@ var pveapi = [
                                                 "radv" : {
                                                    "description" : "Allow sending Router Advertisement.",
                                                    "optional" : 1,
-                                                   "type" : "boolean"
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -14136,23 +18149,27 @@ var pveapi = [
                                                 "limit" : {
                                                    "minimum" : 0,
                                                    "optional" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
                                                 },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "start" : {
                                                    "minimum" : 0,
                                                    "optional" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
                                                 },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -14201,7 +18218,8 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "type" : {
                                                    "description" : "Only list references of specified type.",
@@ -14216,7 +18234,8 @@ var pveapi = [
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
                                                    "minimum" : 1,
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
                                                 }
                                              }
                                           },
@@ -14269,13 +18288,15 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -14322,12 +18343,14 @@ var pveapi = [
                                           "ds" : {
                                              "description" : "The list of datasources you want to display.",
                                              "format" : "pve-configid-list",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "timeframe" : {
                                              "description" : "Specify the time frame you are interested in.",
@@ -14344,7 +18367,8 @@ var pveapi = [
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -14393,7 +18417,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "timeframe" : {
                                              "description" : "Specify the time frame you are interested in.",
@@ -14410,7 +18435,8 @@ var pveapi = [
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -14446,21 +18472,40 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "height" : {
+                                             "description" : "sets the height of the console in pixels.",
+                                             "maximum" : 2160,
+                                             "minimum" : 16,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (16 - 2160)"
+                                          },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "websocket" : {
                                              "description" : "use websocket instead of standard VNC.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "width" : {
+                                             "description" : "sets the width of the console in pixels.",
+                                             "maximum" : 4096,
+                                             "minimum" : 16,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (16 - 4096)"
                                           }
                                        }
                                     },
@@ -14500,6 +18545,63 @@ var pveapi = [
                               "path" : "/nodes/{node}/lxc/{vmid}/vncproxy",
                               "text" : "vncproxy"
                            },
+                           {
+                              "info" : {
+                                 "POST" : {
+                                    "description" : "Creates a TCP proxy connection.",
+                                    "method" : "POST",
+                                    "name" : "termproxy",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Console"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "port" : {
+                                             "type" : "integer"
+                                          },
+                                          "ticket" : {
+                                             "type" : "string"
+                                          },
+                                          "upid" : {
+                                             "type" : "string"
+                                          },
+                                          "user" : {
+                                             "type" : "string"
+                                          }
+                                       }
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/lxc/{vmid}/termproxy",
+                              "text" : "termproxy"
+                           },
                            {
                               "info" : {
                                  "GET" : {
@@ -14512,24 +18614,28 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "port" : {
                                              "description" : "Port number returned by previous vncproxy call.",
                                              "maximum" : 5999,
                                              "minimum" : 5900,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (5900 - 5999)"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "vncticket" : {
                                              "description" : "Ticket from previous call to vncproxy.",
                                              "maxLength" : 512,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
@@ -14569,19 +18675,22 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "proxy" : {
                                              "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
                                              "format" : "address",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -14633,30 +18742,48 @@ var pveapi = [
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "force" : {
-                                             "description" : "Force migration despite local bind / device mounts. WARNING: identical bind / device mounts need to  be available on the target node.",
+                                             "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "online" : {
                                              "description" : "Use online/live migration.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "restart" : {
+                                             "description" : "Use restart migration",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "target" : {
                                              "description" : "Target node.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "timeout" : {
+                                             "default" : 180,
+                                             "description" : "Timeout in seconds for shutdown for restart migration",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -14693,27 +18820,32 @@ var pveapi = [
                                           "feature" : {
                                              "description" : "Feature to check.",
                                              "enum" : [
-                                                "snapshot"
+                                                "snapshot",
+                                                "clone",
+                                                "copy"
                                              ],
                                              "type" : "string"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "snapname" : {
                                              "description" : "The name of the snapshot.",
                                              "format" : "pve-configid",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -14751,21 +18883,18 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
-                                          "experimental" : {
-                                             "default" : 0,
-                                             "description" : "The template feature is experimental, set this flag if you know what you are doing.",
-                                             "type" : "boolean"
-                                          },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -14802,61 +18931,70 @@ var pveapi = [
                                           "description" : {
                                              "description" : "Description for the new CT.",
                                              "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "experimental" : {
-                                             "default" : 0,
-                                             "description" : "The clone feature is experimental, set this flag if you know what you are doing.",
-                                             "type" : "boolean"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "full" : {
-                                             "default" : 0,
-                                             "description" : "Create a full copy of all disk. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.",
+                                             "description" : "Create a full copy of all disks. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "hostname" : {
                                              "description" : "Set a hostname for the new CT.",
                                              "format" : "dns-name",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "newid" : {
                                              "description" : "VMID for the clone.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "pool" : {
                                              "description" : "Add the new CT to the specified pool.",
                                              "format" : "pve-poolid",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "snapname" : {
                                              "description" : "The name of the snapshot.",
                                              "format" : "pve-configid",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "storage" : {
                                              "description" : "Target storage for full clone.",
                                              "format" : "pve-storage-id",
                                              "optional" : 1,
-                                             "requires" : "full",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "target" : {
+                                             "description" : "Target node. Only allowed if the original VM is on shared storage.",
+                                             "format" : "pve-node",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -14905,21 +19043,124 @@ var pveapi = [
                            },
                            {
                               "info" : {
-                                 "PUT" : {
-                                    "description" : "Resize a container mountpoint.",
-                                    "method" : "PUT",
-                                    "name" : "resize_vm",
+                                 "PUT" : {
+                                    "description" : "Resize a container mount point.",
+                                    "method" : "PUT",
+                                    "name" : "resize_vm",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "digest" : {
+                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "disk" : {
+                                             "description" : "The disk you want to resize.",
+                                             "enum" : [
+                                                "rootfs",
+                                                "mp0",
+                                                "mp1",
+                                                "mp2",
+                                                "mp3",
+                                                "mp4",
+                                                "mp5",
+                                                "mp6",
+                                                "mp7",
+                                                "mp8",
+                                                "mp9"
+                                             ],
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "size" : {
+                                             "description" : "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
+                                             "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
+                                             "type" : "string"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Config.Disk"
+                                          ],
+                                          "any",
+                                          1
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "description" : "the task ID.",
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/lxc/{vmid}/resize",
+                              "text" : "resize"
+                           },
+                           {
+                              "info" : {
+                                 "POST" : {
+                                    "description" : "Move a rootfs-/mp-volume to a different storage",
+                                    "method" : "POST",
+                                    "name" : "move_volume",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "delete" : {
+                                             "default" : 0,
+                                             "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
                                           "digest" : {
                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
-                                          "disk" : {
-                                             "description" : "The disk you want to resize.",
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "storage" : {
+                                             "description" : "Target Storage.",
+                                             "format" : "pve-storage-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          },
+                                          "volume" : {
+                                             "description" : "Volume which will be moved.",
                                              "enum" : [
                                                 "rootfs",
                                                 "mp0",
@@ -14934,47 +19175,39 @@ var pveapi = [
                                                 "mp9"
                                              ],
                                              "type" : "string"
-                                          },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string"
-                                          },
-                                          "size" : {
-                                             "description" : "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
-                                             "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
-                                             "type" : "string"
-                                          },
-                                          "vmid" : {
-                                             "description" : "The (unique) ID of the VM.",
-                                             "format" : "pve-vmid",
-                                             "minimum" : 1,
-                                             "type" : "integer"
                                           }
                                        }
                                     },
                                     "permissions" : {
                                        "check" : [
-                                          "perm",
-                                          "/vms/{vmid}",
+                                          "and",
                                           [
-                                             "VM.Config.Disk"
+                                             "perm",
+                                             "/vms/{vmid}",
+                                             [
+                                                "VM.Config.Disk"
+                                             ]
                                           ],
-                                          "any",
-                                          1
-                                       ]
+                                          [
+                                             "perm",
+                                             "/storage/{storage}",
+                                             [
+                                                "Datastore.AllocateSpace"
+                                             ]
+                                          ]
+                                       ],
+                                       "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
                                     },
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
-                                       "description" : "the task ID.",
                                        "type" : "string"
                                     }
                                  }
                               },
                               "leaf" : 1,
-                              "path" : "/nodes/{node}/lxc/{vmid}/resize",
-                              "text" : "resize"
+                              "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
+                              "text" : "move_volume"
                            }
                         ],
                         "info" : {
@@ -14988,13 +19221,15 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "vmid" : {
                                        "description" : "The (unique) ID of the VM.",
                                        "format" : "pve-vmid",
                                        "minimum" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - N)"
                                     }
                                  }
                               },
@@ -15023,13 +19258,15 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "vmid" : {
                                        "description" : "The (unique) ID of the VM.",
                                        "format" : "pve-vmid",
                                        "minimum" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - N)"
                                     }
                                  }
                               },
@@ -15072,7 +19309,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -15113,6 +19351,13 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "string"
                               },
+                              "bwlimit" : {
+                                 "description" : "Override i/o bandwidth limit (in KiB/s).",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "number",
+                                 "typetext" : "<number> (0 - N)"
+                              },
                               "cmode" : {
                                  "default" : "tty",
                                  "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).",
@@ -15128,7 +19373,16 @@ var pveapi = [
                                  "default" : 1,
                                  "description" : "Attach a console device (/dev/console) to the container.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "cores" : {
+                                 "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
+                                 "maximum" : 128,
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - 128)"
                               },
                               "cpulimit" : {
                                  "default" : 0,
@@ -15136,7 +19390,8 @@ var pveapi = [
                                  "maximum" : 128,
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "number"
+                                 "type" : "number",
+                                 "typetext" : "<number> (0 - 128)"
                               },
                               "cpuunits" : {
                                  "default" : 1024,
@@ -15144,29 +19399,34 @@ var pveapi = [
                                  "maximum" : 500000,
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - 500000)"
                               },
                               "description" : {
                                  "description" : "Container description. Only used on the configuration web interface.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "force" : {
                                  "description" : "Allow to overwrite existing container.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "hostname" : {
                                  "description" : "Set a host name for the container.",
                                  "format" : "dns-name",
                                  "maxLength" : 255,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ignore-unpack-errors" : {
                                  "description" : "Ignore errors when extracting the template.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "lock" : {
                                  "description" : "Lock/unlock the VM.",
@@ -15184,41 +19444,53 @@ var pveapi = [
                                  "description" : "Amount of RAM for the VM in MB.",
                                  "minimum" : 16,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (16 - N)"
                               },
                               "mp[n]" : {
-                                 "description" : "Use volume as container mount point (experimental feature).",
+                                 "description" : "Use volume as container mount point.",
                                  "format" : {
                                     "acl" : {
                                        "description" : "Explicitly enable or disable ACL support.",
-                                       "format_description" : "acl",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "backup" : {
-                                       "description" : "Whether to include the mountpoint in backups.",
-                                       "format_description" : "[1|0]",
+                                       "description" : "Whether to include the mount point in backups.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
                                     },
                                     "mp" : {
-                                       "description" : "Path to the mountpoint as seen from inside the container.",
+                                       "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
                                        "format" : "pve-lxc-mp-string",
                                        "format_description" : "Path",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
                                     },
                                     "quota" : {
                                        "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
-                                       "format_description" : "[0|1]",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "replicate" : {
+                                       "default" : 1,
+                                       "description" : "Will include this volume to a storage replica job.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "ro" : {
-                                       "description" : "Read-only mountpoint (not supported with bind mounts)",
-                                       "format_description" : "ro",
+                                       "description" : "Read-only mount point",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "shared" : {
+                                       "default" : 0,
+                                       "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
+                                    },
                                     "size" : {
                                        "description" : "Volume size (read only value).",
                                        "format" : "disk-size",
@@ -15235,27 +19507,28 @@ var pveapi = [
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
                               },
                               "nameserver" : {
                                  "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
                                  "format" : "address-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "net[n]" : {
                                  "description" : "Specifies network interfaces for the container.",
                                  "format" : {
                                     "bridge" : {
                                        "description" : "Bridge to attach the network device to.",
-                                       "format_description" : "vmbr<Number>",
+                                       "format_description" : "bridge",
                                        "optional" : 1,
                                        "pattern" : "[-_.\\w\\d]+",
                                        "type" : "string"
                                     },
                                     "firewall" : {
                                        "description" : "Controls whether this interface's firewall rules should be used.",
-                                       "format_description" : "[1|0]",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
@@ -15274,8 +19547,8 @@ var pveapi = [
                                        "type" : "string"
                                     },
                                     "hwaddr" : {
-                                       "description" : "Bridge to attach the network device to. (lxc.network.hwaddr)",
-                                       "format_description" : "MAC",
+                                       "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_description" : "XX:XX:XX:XX:XX:XX",
                                        "optional" : 1,
                                        "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
                                        "type" : "string"
@@ -15283,27 +19556,26 @@ var pveapi = [
                                     "ip" : {
                                        "description" : "IPv4 address in CIDR format.",
                                        "format" : "pve-ipv4-config",
-                                       "format_description" : "IPv4Format/CIDR",
+                                       "format_description" : "(IPv4/CIDR|dhcp|manual)",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "ip6" : {
                                        "description" : "IPv6 address in CIDR format.",
                                        "format" : "pve-ipv6-config",
-                                       "format_description" : "IPv6Format/CIDR",
+                                       "format_description" : "(IPv6/CIDR|auto|dhcp|manual)",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
                                     "mtu" : {
                                        "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
-                                       "format_description" : "Number",
                                        "minimum" : 64,
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "name" : {
                                        "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
-                                       "format_description" : "String",
+                                       "format_description" : "string",
                                        "pattern" : "[-_.\\w\\d]+",
                                        "type" : "string"
                                     },
@@ -15315,9 +19587,8 @@ var pveapi = [
                                     },
                                     "tag" : {
                                        "description" : "VLAN tag for this interface.",
-                                       "format_description" : "VlanNo",
-                                       "maximum" : "4094",
-                                       "minimum" : "2",
+                                       "maximum" : 4094,
+                                       "minimum" : 1,
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -15338,23 +19609,27 @@ var pveapi = [
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "onboot" : {
                                  "default" : 0,
                                  "description" : "Specifies whether a VM will be started during system bootup.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "ostemplate" : {
                                  "description" : "The OS template or backup file.",
                                  "maxLength" : 255,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ostype" : {
                                  "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
@@ -15366,6 +19641,7 @@ var pveapi = [
                                     "opensuse",
                                     "archlinux",
                                     "alpine",
+                                    "gentoo",
                                     "unmanaged"
                                  ],
                                  "optional" : 1,
@@ -15375,52 +19651,60 @@ var pveapi = [
                                  "description" : "Sets root password inside container.",
                                  "minLength" : 5,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "pool" : {
                                  "description" : "Add the VM to the specified pool.",
                                  "format" : "pve-poolid",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "protection" : {
                                  "default" : 0,
                                  "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "restore" : {
                                  "description" : "Mark this as restore task.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "rootfs" : {
                                  "description" : "Use volume as container root.",
                                  "format" : {
                                     "acl" : {
                                        "description" : "Explicitly enable or disable ACL support.",
-                                       "format_description" : "acl",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
-                                    "backup" : {
-                                       "description" : "Whether to include the mountpoint in backups.",
-                                       "format_description" : "[1|0]",
+                                    "quota" : {
+                                       "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
-                                    "quota" : {
-                                       "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
-                                       "format_description" : "[0|1]",
+                                    "replicate" : {
+                                       "default" : 1,
+                                       "description" : "Will include this volume to a storage replica job.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "ro" : {
-                                       "description" : "Read-only mountpoint (not supported with bind mounts)",
-                                       "format_description" : "ro",
+                                       "description" : "Read-only mount point",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "shared" : {
+                                       "default" : 0,
+                                       "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
+                                    },
                                     "size" : {
                                        "description" : "Volume size (read only value).",
                                        "format" : "disk-size",
@@ -15437,18 +19721,21 @@ var pveapi = [
                                     }
                                  },
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
                               },
                               "searchdomain" : {
                                  "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
                                  "format" : "dns-name-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ssh-public-keys" : {
                                  "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "startup" : {
                                  "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
@@ -15462,20 +19749,23 @@ var pveapi = [
                                  "description" : "Default Storage.",
                                  "format" : "pve-storage-id",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "swap" : {
                                  "default" : 512,
                                  "description" : "Amount of SWAP for the VM in MB.",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "template" : {
                                  "default" : 0,
                                  "description" : "Enable/disable Template.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "tty" : {
                                  "default" : 2,
@@ -15483,25 +19773,29 @@ var pveapi = [
                                  "maximum" : 6,
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - 6)"
                               },
                               "unprivileged" : {
                                  "default" : 0,
                                  "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "unused[n]" : {
-                                 "description" : "Reference to unused volumes.",
+                                 "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
                                  "format" : "pve-volume-id",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "vmid" : {
                                  "description" : "The (unique) ID of the VM.",
                                  "format" : "pve-vmid",
                                  "minimum" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
                               }
                            }
                         },
@@ -15538,11 +19832,13 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "osdid" : {
                                                    "description" : "OSD ID",
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
                                                 }
                                              }
                                           },
@@ -15578,11 +19874,13 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "osdid" : {
                                                    "description" : "OSD ID",
-                                                   "type" : "integer"
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
                                                 }
                                              }
                                           },
@@ -15619,16 +19917,19 @@ var pveapi = [
                                              "default" : 0,
                                              "description" : "If set, we remove partition table entries.",
                                              "optional" : 1,
-                                             "type" : "boolean"
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "osdid" : {
                                              "description" : "OSD ID",
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer>"
                                           }
                                        }
                                     },
@@ -15655,7 +19956,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -15684,13 +19986,21 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "bluestore" : {
+                                       "default" : 1,
+                                       "description" : "Use bluestore instead of filestore. This is the default.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "dev" : {
                                        "description" : "Block device name.",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "fstype" : {
                                        "default" : "xfs",
-                                       "description" : "File system type.",
+                                       "description" : "File system type (filestore only).",
                                        "enum" : [
                                           "xfs",
                                           "ext4",
@@ -15700,14 +20010,22 @@ var pveapi = [
                                        "type" : "string"
                                     },
                                     "journal_dev" : {
-                                       "description" : "Block device name for journal.",
+                                       "description" : "Block device name for journal (filestore) or block.db (bluestore).",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "wal_dev" : {
+                                       "description" : "Block device name for block.wal (bluestore only).",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -15734,7 +20052,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "type" : {
                                        "description" : "Only list specific types of disks.",
@@ -15815,7 +20134,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -15845,20 +20165,29 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
-                                    "description" : "Destroy Ceph monitor.",
+                                    "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",
-                                             "type" : "integer"
+                                             "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"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
@@ -15894,7 +20223,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -15934,16 +20264,37 @@ var pveapi = [
                               }
                            },
                            "POST" : {
-                              "description" : "Create Ceph Monitor",
+                              "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"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -15963,46 +20314,153 @@ var pveapi = [
                               }
                            }
                         },
-                        "leaf" : 0,
-                        "path" : "/nodes/{node}/ceph/mon",
-                        "text" : "mon"
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/mon",
+                        "text" : "mon"
+                     },
+                     {
+                        "info" : {
+                           "POST" : {
+                              "description" : "Create initial ceph default configuration and setup symlinks.",
+                              "method" : "POST",
+                              "name" : "init",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "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!",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "min_size" : {
+                                       "default" : 2,
+                                       "description" : "Minimum number of available replicas per object to allow I/O",
+                                       "maximum" : 7,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 7)"
+                                    },
+                                    "network" : {
+                                       "description" : "Use specific network for all ceph related traffic",
+                                       "format" : "CIDR",
+                                       "maxLength" : 128,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "pg_bits" : {
+                                       "default" : 6,
+                                       "description" : "Placement group bits, used to specify the default number of placement groups.\n\nNOTE: 'osd pool default pg num' does not work for default pools.",
+                                       "maximum" : 14,
+                                       "minimum" : 6,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (6 - 14)"
+                                    },
+                                    "size" : {
+                                       "default" : 3,
+                                       "description" : "Targeted number of replicas per object",
+                                       "maximum" : 7,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 7)"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/ceph/init",
+                        "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 initial ceph default configuration and setup symlinks.",
+                              "description" : "Create Ceph Manager",
                               "method" : "POST",
-                              "name" : "init",
+                              "name" : "createmgr",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "network" : {
-                                       "description" : "Use specific network for all ceph related traffic",
-                                       "format" : "CIDR",
-                                       "maxLength" : 128,
+                                    "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"
-                                    },
-                                    "pg_bits" : {
-                                       "default" : 6,
-                                       "description" : "Placement group bits, used to specify the default number of placement groups.\n\nNOTE: 'osd pool default pg num' does not work for default pools.",
-                                       "maximum" : 14,
-                                       "minimum" : 6,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "size" : {
-                                       "default" : 2,
-                                       "description" : "Number of replicas per object",
-                                       "maximum" : 3,
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -16018,13 +20476,13 @@ var pveapi = [
                               "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
-                                 "type" : "null"
+                                 "type" : "string"
                               }
                            }
                         },
-                        "leaf" : 1,
-                        "path" : "/nodes/{node}/ceph/init",
-                        "text" : "init"
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/mgr",
+                        "text" : "mgr"
                      },
                      {
                         "info" : {
@@ -16038,12 +20496,13 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "service" : {
                                        "description" : "Ceph service name.",
                                        "optional" : 1,
-                                       "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
+                                       "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
                                        "type" : "string"
                                     }
                                  }
@@ -16080,12 +20539,13 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "service" : {
                                        "description" : "Ceph service name.",
                                        "optional" : 1,
-                                       "pattern" : "(mon|mds|osd)\\.[A-Za-z0-9]{1,32}",
+                                       "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
                                        "type" : "string"
                                     }
                                  }
@@ -16122,7 +20582,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -16160,14 +20621,279 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
-                                          "name" : {
-                                             "description" : "The name of the pool. It must be unique.",
+                                          "force" : {
+                                             "default" : 0,
+                                             "description" : "If true, destroys pool even if in use",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "name" : {
+                                             "description" : "The name of the pool. It must be unique.",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "remove_storages" : {
+                                             "default" : 0,
+                                             "description" : "Remove all pveceph-managed storages configured for this pool",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/ceph/pools/{name}",
+                              "text" : "{name}"
+                           }
+                        ],
+                        "info" : {
+                           "GET" : {
+                              "description" : "List all pools.",
+                              "method" : "GET",
+                              "name" : "lspools",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "pool" : {
+                                          "type" : "integer"
+                                       },
+                                       "pool_name" : {
+                                          "type" : "string"
+                                       },
+                                       "size" : {
+                                          "type" : "integer"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{pool_name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
+                              }
+                           },
+                           "POST" : {
+                              "description" : "Create POOL",
+                              "method" : "POST",
+                              "name" : "createpool",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "add_storages" : {
+                                       "description" : "Configure VM and CT storages using the new pool.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "application" : {
+                                       "description" : "The application of the pool, 'rbd' by default.",
+                                       "enum" : [
+                                          "rbd",
+                                          "cephfs",
+                                          "rgw"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "crush_rule" : {
+                                       "description" : "The rule to use for mapping object placement in the cluster.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "min_size" : {
+                                       "default" : 2,
+                                       "description" : "Minimum number of replicas per object",
+                                       "maximum" : 7,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 7)"
+                                    },
+                                    "name" : {
+                                       "description" : "The name of the pool. It must be unique.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "pg_num" : {
+                                       "default" : 64,
+                                       "description" : "Number of placement groups.",
+                                       "maximum" : 32768,
+                                       "minimum" : 8,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (8 - 32768)"
+                                    },
+                                    "size" : {
+                                       "default" : 3,
+                                       "description" : "Number of replicas per object",
+                                       "maximum" : 7,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 7)"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/pools",
+                        "text" : "pools"
+                     },
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "description" : "Unset a ceph flag",
+                                    "method" : "DELETE",
+                                    "name" : "unset_flag",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "flag" : {
+                                             "description" : "The ceph flag to set/unset",
+                                             "enum" : [
+                                                "full",
+                                                "pause",
+                                                "noup",
+                                                "nodown",
+                                                "noout",
+                                                "noin",
+                                                "nobackfill",
+                                                "norebalance",
+                                                "norecover",
+                                                "noscrub",
+                                                "nodeep-scrub",
+                                                "notieragent"
+                                             ],
+                                             "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" : "null"
+                                    }
+                                 },
+                                 "POST" : {
+                                    "description" : "Set a ceph flag",
+                                    "method" : "POST",
+                                    "name" : "set_flag",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "flag" : {
+                                             "description" : "The ceph flag to set/unset",
+                                             "enum" : [
+                                                "full",
+                                                "pause",
+                                                "noup",
+                                                "nodown",
+                                                "noout",
+                                                "noin",
+                                                "nobackfill",
+                                                "norebalance",
+                                                "norecover",
+                                                "noscrub",
+                                                "nodeep-scrub",
+                                                "notieragent"
+                                             ],
                                              "type" : "string"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
@@ -16188,110 +20914,23 @@ var pveapi = [
                                  }
                               },
                               "leaf" : 1,
-                              "path" : "/nodes/{node}/ceph/pools/{name}",
-                              "text" : "{name}"
+                              "path" : "/nodes/{node}/ceph/flags/{flag}",
+                              "text" : "{flag}"
                            }
                         ],
                         "info" : {
                            "GET" : {
-                              "description" : "List all pools.",
+                              "description" : "get all set ceph flags",
                               "method" : "GET",
-                              "name" : "lspools",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "node" : {
-                                       "description" : "The cluster node name.",
-                                       "format" : "pve-node",
-                                       "type" : "string"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Audit",
-                                       "Datastore.Audit"
-                                    ],
-                                    "any",
-                                    1
-                                 ]
-                              },
-                              "protected" : 1,
-                              "proxyto" : "node",
-                              "returns" : {
-                                 "items" : {
-                                    "properties" : {
-                                       "pool" : {
-                                          "type" : "integer"
-                                       },
-                                       "pool_name" : {
-                                          "type" : "string"
-                                       },
-                                       "size" : {
-                                          "type" : "integer"
-                                       }
-                                    },
-                                    "type" : "object"
-                                 },
-                                 "links" : [
-                                    {
-                                       "href" : "{pool_name}",
-                                       "rel" : "child"
-                                    }
-                                 ],
-                                 "type" : "array"
-                              }
-                           },
-                           "POST" : {
-                              "description" : "Create POOL",
-                              "method" : "POST",
-                              "name" : "createpool",
+                              "name" : "get_flags",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "crush_ruleset" : {
-                                       "default" : 0,
-                                       "description" : "The ruleset to use for mapping object placement in the cluster.",
-                                       "maximum" : 32768,
-                                       "minimum" : 0,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "min_size" : {
-                                       "default" : 1,
-                                       "description" : "Minimum number of replicas per object",
-                                       "maximum" : 3,
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "name" : {
-                                       "description" : "The name of the pool. It must be unique.",
-                                       "type" : "string"
-                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
-                                    },
-                                    "pg_num" : {
-                                       "default" : 64,
-                                       "description" : "Number of placement groups.",
-                                       "maximum" : 32768,
-                                       "minimum" : 8,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "size" : {
-                                       "default" : 2,
-                                       "description" : "Number of replicas per object",
-                                       "maximum" : 3,
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -16300,20 +20939,20 @@ var pveapi = [
                                     "perm",
                                     "/",
                                     [
-                                       "Sys.Modify"
+                                       "Sys.Audit"
                                     ]
                                  ]
                               },
                               "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
-                                 "type" : "null"
+                                 "type" : "string"
                               }
                            }
                         },
                         "leaf" : 0,
-                        "path" : "/nodes/{node}/ceph/pools",
-                        "text" : "pools"
+                        "path" : "/nodes/{node}/ceph/flags",
+                        "text" : "flags"
                      },
                      {
                         "info" : {
@@ -16327,7 +20966,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -16366,17 +21006,20 @@ var pveapi = [
                                     "limit" : {
                                        "minimum" : 0,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "start" : {
                                        "minimum" : 0,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     }
                                  }
                               },
@@ -16412,6 +21055,56 @@ var pveapi = [
                         "leaf" : 1,
                         "path" : "/nodes/{node}/ceph/log",
                         "text" : "log"
+                     },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "List ceph rules.",
+                              "method" : "GET",
+                              "name" : "rules",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {},
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/ceph/rules",
+                        "text" : "rules"
                      }
                   ],
                   "info" : {
@@ -16425,7 +21118,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -16461,6 +21155,45 @@ var pveapi = [
                   "text" : "ceph"
                },
                {
+                  "children" : [
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "Extract configuration from vzdump backup archive.",
+                              "method" : "GET",
+                              "name" : "extractconfig",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "volume" : {
+                                       "description" : "Volume identifier",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
+                                 "user" : "all"
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/vzdump/extractconfig",
+                        "text" : "extractconfig"
+                     }
+                  ],
                   "info" : {
                      "POST" : {
                         "description" : "Create backup.",
@@ -16473,14 +21206,16 @@ var pveapi = [
                                  "default" : 0,
                                  "description" : "Backup all known guest systems on this host.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "bwlimit" : {
                                  "default" : 0,
                                  "description" : "Limit I/O bandwidth (KBytes per second).",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "compress" : {
                                  "default" : "0",
@@ -16497,19 +21232,22 @@ var pveapi = [
                               "dumpdir" : {
                                  "description" : "Store resulting files to specified directory.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "exclude" : {
                                  "description" : "Exclude specified guest systems (assumes --all)",
                                  "format" : "pve-vmid-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "exclude-path" : {
                                  "description" : "Exclude certain files/directories (shell globs).",
                                  "format" : "string-alist",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ionice" : {
                                  "default" : 7,
@@ -16517,14 +21255,16 @@ var pveapi = [
                                  "maximum" : 8,
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - 8)"
                               },
                               "lockwait" : {
                                  "default" : 180,
                                  "description" : "Maximal time to wait for the global lock (minutes).",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "mailnotification" : {
                                  "default" : "always",
@@ -16540,14 +21280,16 @@ var pveapi = [
                                  "description" : "Comma-separated list of email addresses that should receive email notifications.",
                                  "format" : "string-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "maxfiles" : {
                                  "default" : 1,
                                  "description" : "Maximal number of backup files per guest system.",
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
                               },
                               "mode" : {
                                  "default" : "snapshot",
@@ -16564,83 +21306,96 @@ var pveapi = [
                                  "description" : "Only run if executed on this node.",
                                  "format" : "pve-node",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "pigz" : {
                                  "default" : 0,
                                  "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
                               },
                               "quiet" : {
                                  "default" : 0,
                                  "description" : "Be quiet.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "remove" : {
                                  "default" : 1,
                                  "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "script" : {
                                  "description" : "Use specified hook script.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "size" : {
                                  "default" : 1024,
                                  "description" : "Unused, will be removed in a future release.",
                                  "minimum" : 500,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (500 - N)"
                               },
                               "stdexcludes" : {
                                  "default" : 1,
                                  "description" : "Exclude temporary files and logs.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "stdout" : {
                                  "description" : "Write tar to stdout, not to a file.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "stop" : {
                                  "default" : 0,
                                  "description" : "Stop runnig backup jobs on this host.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "stopwait" : {
                                  "default" : 10,
                                  "description" : "Maximal time to wait until a guest system is stopped (minutes).",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "storage" : {
                                  "description" : "Store resulting file to this storage.",
                                  "format" : "pve-storage-id",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "tmpdir" : {
                                  "description" : "Store temporary files to specified directory.",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "vmid" : {
                                  "description" : "The ID of the guest system you want to backup.",
                                  "format" : "pve-vmid-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
                         "permissions" : {
-                           "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage.",
+                           "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
                            "user" : "all"
                         },
                         "protected" : 1,
@@ -16650,7 +21405,7 @@ var pveapi = [
                         }
                      }
                   },
-                  "leaf" : 1,
+                  "leaf" : 0,
                   "path" : "/nodes/{node}/vzdump",
                   "text" : "vzdump"
                },
@@ -16670,7 +21425,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "service" : {
                                              "description" : "Service ID",
@@ -16729,7 +21485,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "service" : {
                                              "description" : "Service ID",
@@ -16787,7 +21544,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "service" : {
                                              "description" : "Service ID",
@@ -16845,7 +21603,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "service" : {
                                              "description" : "Service ID",
@@ -16903,7 +21662,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "service" : {
                                              "description" : "Service ID",
@@ -16961,7 +21721,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "service" : {
                                        "description" : "Service ID",
@@ -17031,7 +21792,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -17077,7 +21839,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -17100,15 +21863,26 @@ var pveapi = [
                                  "default" : 0,
                                  "description" : "Always connect to server, even if we have up to date info inside local cache.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/nodes/{node}",
+                              [
+                                 "Sys.Modify"
+                              ]
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "node",
                         "returns" : {
@@ -17124,15 +21898,27 @@ var pveapi = [
                            "properties" : {
                               "key" : {
                                  "description" : "Proxmox VE subscription key",
+                                 "maxLength" : 32,
+                                 "pattern" : "pve([124])([cbsp])-[0-9a-f]{10}",
                                  "type" : "string"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/nodes/{node}",
+                              [
+                                 "Sys.Modify"
+                              ]
+                           ]
+                        },
                         "protected" : 1,
                         "proxyto" : "node",
                         "returns" : {
@@ -17160,12 +21946,14 @@ var pveapi = [
                                        "format" : "pve-iface",
                                        "maxLength" : 20,
                                        "minLength" : 2,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -17196,12 +21984,14 @@ var pveapi = [
                                        "format" : "pve-iface",
                                        "maxLength" : 20,
                                        "minLength" : 2,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -17239,19 +22029,22 @@ var pveapi = [
                                        "format" : "ipv4",
                                        "optional" : 1,
                                        "requires" : "netmask",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "address6" : {
                                        "description" : "IP address.",
                                        "format" : "ipv6",
                                        "optional" : 1,
                                        "requires" : "netmask6",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "autostart" : {
                                        "description" : "Automatically start interface on boot.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "bond_mode" : {
                                        "description" : "Bonding mode.",
@@ -17284,54 +22077,63 @@ var pveapi = [
                                        "description" : "Specify the iterfaces you want to add to your bridge.",
                                        "format" : "pve-iface-list",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "bridge_vlan_aware" : {
                                        "description" : "Enable bridge vlan support.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "comments" : {
                                        "description" : "Comments",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "comments6" : {
                                        "description" : "Comments",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "delete" : {
                                        "description" : "A list of settings you want to delete.",
                                        "format" : "pve-configid-list",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "gateway" : {
                                        "description" : "Default gateway address.",
                                        "format" : "ipv4",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "gateway6" : {
                                        "description" : "Default ipv6 gateway address.",
                                        "format" : "ipv6",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "iface" : {
                                        "description" : "Network interface name.",
                                        "format" : "pve-iface",
                                        "maxLength" : 20,
                                        "minLength" : 2,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "netmask" : {
                                        "description" : "Network mask.",
                                        "format" : "ipv4mask",
                                        "optional" : 1,
                                        "requires" : "address",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "netmask6" : {
                                        "description" : "Network mask.",
@@ -17339,49 +22141,57 @@ var pveapi = [
                                        "minimum" : 0,
                                        "optional" : 1,
                                        "requires" : "address6",
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - 128)"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "ovs_bonds" : {
                                        "description" : "Specify the interfaces used by the bonding device.",
                                        "format" : "pve-iface-list",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "ovs_bridge" : {
                                        "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
                                        "format" : "pve-iface",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "ovs_options" : {
                                        "description" : "OVS interface options.",
                                        "maxLength" : 1024,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "ovs_ports" : {
                                        "description" : "Specify the iterfaces you want to add to your bridge.",
                                        "format" : "pve-iface-list",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "ovs_tag" : {
                                        "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
                                        "maximum" : 4094,
                                        "minimum" : 1,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 4094)"
                                     },
                                     "slaves" : {
                                        "description" : "Specify the interfaces used by the bonding device.",
                                        "format" : "pve-iface-list",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "type" : {
                                        "description" : "Network interface type",
@@ -17433,7 +22243,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -17462,7 +22273,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "type" : {
                                  "description" : "Only list specific interface types.",
@@ -17513,19 +22325,22 @@ var pveapi = [
                                  "format" : "ipv4",
                                  "optional" : 1,
                                  "requires" : "netmask",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "address6" : {
                                  "description" : "IP address.",
                                  "format" : "ipv6",
                                  "optional" : 1,
                                  "requires" : "netmask6",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "autostart" : {
                                  "description" : "Automatically start interface on boot.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "bond_mode" : {
                                  "description" : "Bonding mode.",
@@ -17558,48 +22373,56 @@ var pveapi = [
                                  "description" : "Specify the iterfaces you want to add to your bridge.",
                                  "format" : "pve-iface-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "bridge_vlan_aware" : {
                                  "description" : "Enable bridge vlan support.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "comments" : {
                                  "description" : "Comments",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "comments6" : {
                                  "description" : "Comments",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "gateway" : {
                                  "description" : "Default gateway address.",
                                  "format" : "ipv4",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "gateway6" : {
                                  "description" : "Default ipv6 gateway address.",
                                  "format" : "ipv6",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "iface" : {
                                  "description" : "Network interface name.",
                                  "format" : "pve-iface",
                                  "maxLength" : 20,
                                  "minLength" : 2,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "netmask" : {
                                  "description" : "Network mask.",
                                  "format" : "ipv4mask",
                                  "optional" : 1,
                                  "requires" : "address",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "netmask6" : {
                                  "description" : "Network mask.",
@@ -17607,49 +22430,57 @@ var pveapi = [
                                  "minimum" : 0,
                                  "optional" : 1,
                                  "requires" : "address6",
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - 128)"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ovs_bonds" : {
                                  "description" : "Specify the interfaces used by the bonding device.",
                                  "format" : "pve-iface-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ovs_bridge" : {
                                  "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
                                  "format" : "pve-iface",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ovs_options" : {
                                  "description" : "OVS interface options.",
                                  "maxLength" : 1024,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ovs_ports" : {
                                  "description" : "Specify the iterfaces you want to add to your bridge.",
                                  "format" : "pve-iface-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "ovs_tag" : {
                                  "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
                                  "maximum" : 4094,
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - 4094)"
                               },
                               "slaves" : {
                                  "description" : "Specify the interfaces used by the bonding device.",
                                  "format" : "pve-iface-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "type" : {
                                  "description" : "Network interface type",
@@ -17705,20 +22536,24 @@ var pveapi = [
                                           "limit" : {
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "start" : {
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "upid" : {
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
@@ -17762,10 +22597,12 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "upid" : {
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
@@ -17808,10 +22645,12 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "upid" : {
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -17835,10 +22674,12 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "upid" : {
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -17875,33 +22716,39 @@ var pveapi = [
                            "properties" : {
                               "errors" : {
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "limit" : {
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "start" : {
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "userfilter" : {
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "vmid" : {
                                  "description" : "Only list tasks for this VM.",
                                  "format" : "pve-vmid",
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
                               }
                            }
                         },
@@ -17947,7 +22794,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -17991,11 +22839,13 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "server" : {
                                        "format" : "pve-storage-server",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -18030,6 +22880,74 @@ var pveapi = [
                         "path" : "/nodes/{node}/scan/nfs",
                         "text" : "nfs"
                      },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "Scan remote CIFS server.",
+                              "method" : "GET",
+                              "name" : "cifsscan",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "domain" : {
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "password" : {
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "server" : {
+                                       "format" : "pve-storage-server",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "username" : {
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/storage",
+                                    [
+                                       "Datastore.Allocate"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "description" : {
+                                          "type" : "string"
+                                       },
+                                       "share" : {
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/scan/cifs",
+                        "text" : "cifs"
+                     },
                      {
                         "info" : {
                            "GET" : {
@@ -18042,11 +22960,13 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "server" : {
                                        "format" : "pve-storage-server",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -18090,11 +23010,13 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "portal" : {
                                        "format" : "pve-storage-portal-dns",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -18141,7 +23063,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -18185,7 +23108,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "vg" : {
                                        "maxLength" : 100,
@@ -18234,7 +23158,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -18315,7 +23240,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -18363,17 +23289,20 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "volume" : {
                                                    "description" : "Volume identifier",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 }
                                              }
                                           },
@@ -18397,17 +23326,20 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "volume" : {
                                                    "description" : "Volume identifier",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 }
                                              }
                                           },
@@ -18431,27 +23363,32 @@ var pveapi = [
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "target" : {
                                                    "description" : "Target volume identifier",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "target_node" : {
                                                    "description" : "Target node. Default is local node.",
                                                    "format" : "pve-node",
                                                    "optional" : 1,
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 },
                                                 "volume" : {
                                                    "description" : "Source volume identifier",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
                                                 }
                                              }
                                           },
@@ -18479,24 +23416,28 @@ var pveapi = [
                                              "description" : "Only list content of this type.",
                                              "format" : "pve-storage-content",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "Only list images for this VM",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -18541,7 +23482,8 @@ var pveapi = [
                                        "properties" : {
                                           "filename" : {
                                              "description" : "The name of the file to create.",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "format" : {
                                              "enum" : [
@@ -18556,7 +23498,8 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "size" : {
                                              "description" : "Size in kilobyte (1024 bytes). Optional suffixes 'M' (megabyte, 1024K) and 'G' (gigabyte, 1024M)",
@@ -18566,13 +23509,15 @@ var pveapi = [
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "vmid" : {
                                              "description" : "Specify owner VM",
                                              "format" : "pve-vmid",
                                              "minimum" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
@@ -18609,12 +23554,14 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
@@ -18663,17 +23610,20 @@ var pveapi = [
                                           "ds" : {
                                              "description" : "The list of datasources you want to display.",
                                              "format" : "pve-configid-list",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "timeframe" : {
                                              "description" : "Specify the time frame you are interested in.",
@@ -18737,12 +23687,14 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "timeframe" : {
                                              "description" : "Specify the time frame you are interested in.",
@@ -18796,26 +23748,31 @@ var pveapi = [
                                           "content" : {
                                              "description" : "Content type.",
                                              "format" : "pve-storage-content",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "filename" : {
                                              "description" : "The name of the file to create.",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "storage" : {
                                              "description" : "The storage identifier.",
                                              "format" : "pve-storage-id",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "tmpfilename" : {
                                              "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trustet port on localhost.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           }
                                        }
                                     },
@@ -18850,12 +23807,14 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "storage" : {
                                        "description" : "The storage identifier.",
                                        "format" : "pve-storage-id",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -18907,30 +23866,42 @@ var pveapi = [
                                  "description" : "Only list stores which support this content type.",
                                  "format" : "pve-storage-content-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "enabled" : {
                                  "default" : 0,
                                  "description" : "Only list stores which are enabled (not disabled in config).",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "format" : {
+                                 "default" : 0,
+                                 "description" : "Include information about formats",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "storage" : {
                                  "description" : "Only list status for  specified storage",
                                  "format" : "pve-storage-id",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "target" : {
                                  "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
                                  "format" : "pve-node",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -18963,6 +23934,247 @@ var pveapi = [
                   "path" : "/nodes/{node}/storage",
                   "text" : "storage"
                },
+               {
+                  "children" : [
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "List local disks.",
+                              "method" : "GET",
+                              "name" : "list",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "devpath" : {
+                                          "description" : "The device path",
+                                          "type" : "string"
+                                       },
+                                       "gpt" : {
+                                          "type" : "boolean"
+                                       },
+                                       "health" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "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"
+                                       },
+                                       "wwn" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/disks/list",
+                        "text" : "list"
+                     },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "Get SMART Health of a disk.",
+                              "method" : "GET",
+                              "name" : "smart",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "disk" : {
+                                       "description" : "Block device name",
+                                       "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
+                                       "type" : "string"
+                                    },
+                                    "healthonly" : {
+                                       "description" : "If true returns only the health status",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "properties" : {
+                                    "attributes" : {
+                                       "optional" : 1,
+                                       "type" : "array"
+                                    },
+                                    "health" : {
+                                       "type" : "string"
+                                    },
+                                    "text" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "type" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/disks/smart",
+                        "text" : "smart"
+                     },
+                     {
+                        "info" : {
+                           "POST" : {
+                              "description" : "Initialize Disk with GPT",
+                              "method" : "POST",
+                              "name" : "initgpt",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "disk" : {
+                                       "description" : "Block device name",
+                                       "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
+                                       "type" : "string"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "uuid" : {
+                                       "description" : "UUID for the GPT table",
+                                       "maxLength" : 36,
+                                       "optional" : 1,
+                                       "pattern" : "[a-fA-F0-9\\-]+",
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/disks/initgpt",
+                        "text" : "initgpt"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "description" : "Node index.",
+                        "method" : "GET",
+                        "name" : "index",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "user" : "all"
+                        },
+                        "proxyto" : "node",
+                        "returns" : {
+                           "items" : {
+                              "properties" : {},
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{name}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/nodes/{node}/disks",
+                  "text" : "disks"
+               },
                {
                   "children" : [
                      {
@@ -18977,7 +24189,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -19010,19 +24223,22 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "notify" : {
                                        "default" : 0,
                                        "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "quiet" : {
                                        "default" : 0,
                                        "description" : "Only produces output suitable for logging, omitting progress indicators.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     }
                                  }
                               },
@@ -19057,17 +24273,20 @@ var pveapi = [
                                  "properties" : {
                                     "name" : {
                                        "description" : "Package name.",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "version" : {
                                        "description" : "Package version.",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -19102,7 +24321,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -19141,7 +24361,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -19188,18 +24409,21 @@ var pveapi = [
                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "pos" : {
                                              "description" : "Update rule at position <pos>.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           }
                                        }
                                     },
@@ -19228,13 +24452,15 @@ var pveapi = [
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "pos" : {
                                              "description" : "Update rule at position <pos>.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           }
                                        }
                                     },
@@ -19273,37 +24499,45 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "comment" : {
+                                             "description" : "Descriptive comment.",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "delete" : {
                                              "description" : "A list of settings you want to delete.",
                                              "format" : "pve-configid-list",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "dest" : {
                                              "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                              "format" : "pve-fw-addr-spec",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "digest" : {
                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "dport" : {
                                              "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
                                              "format" : "pve-fw-dport-spec",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "enable" : {
+                                             "description" : "Flag to enable/disable a rule.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "iface" : {
                                              "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
@@ -19311,49 +24545,59 @@ var pveapi = [
                                              "maxLength" : 20,
                                              "minLength" : 2,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "macro" : {
+                                             "description" : "Use predefined standard macro.",
                                              "maxLength" : 128,
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "moveto" : {
                                              "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "pos" : {
                                              "description" : "Update rule at position <pos>.",
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
                                           },
                                           "proto" : {
                                              "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
                                              "format" : "pve-fw-protocol-spec",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "source" : {
                                              "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                              "format" : "pve-fw-addr-spec",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "sport" : {
                                              "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
                                              "format" : "pve-fw-sport-spec",
                                              "optional" : 1,
-                                             "type" : "string"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "type" : {
+                                             "description" : "Rule type.",
                                              "enum" : [
                                                 "in",
                                                 "out",
@@ -19396,7 +24640,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -19444,31 +24689,38 @@ var pveapi = [
                                        "type" : "string"
                                     },
                                     "comment" : {
+                                       "description" : "Descriptive comment.",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "dest" : {
                                        "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                        "format" : "pve-fw-addr-spec",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "digest" : {
                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                        "maxLength" : 40,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "dport" : {
                                        "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
                                        "format" : "pve-fw-dport-spec",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "enable" : {
+                                       "description" : "Flag to enable/disable a rule.",
                                        "minimum" : 0,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     },
                                     "iface" : {
                                        "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
@@ -19476,43 +24728,52 @@ var pveapi = [
                                        "maxLength" : 20,
                                        "minLength" : 2,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "macro" : {
+                                       "description" : "Use predefined standard macro.",
                                        "maxLength" : 128,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "pos" : {
                                        "description" : "Update rule at position <pos>.",
                                        "minimum" : 0,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     },
                                     "proto" : {
                                        "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
                                        "format" : "pve-fw-protocol-spec",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "source" : {
                                        "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                        "format" : "pve-fw-addr-spec",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "sport" : {
                                        "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
                                        "format" : "pve-fw-sport-spec",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "type" : {
+                                       "description" : "Rule type.",
                                        "enum" : [
                                           "in",
                                           "out",
@@ -19555,7 +24816,8 @@ var pveapi = [
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -19682,18 +24944,21 @@ var pveapi = [
                                        "description" : "A list of settings you want to delete.",
                                        "format" : "pve-configid-list",
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "digest" : {
                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                        "maxLength" : 40,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "enable" : {
                                        "description" : "Enable host firewall rules.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "log_level_in" : {
                                        "description" : "Log level for incoming traffic.",
@@ -19730,29 +24995,34 @@ var pveapi = [
                                     "ndp" : {
                                        "description" : "Enable NDP.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "nf_conntrack_max" : {
                                        "description" : "Maximum number of tracked connections.",
                                        "minimum" : 32768,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (32768 - N)"
                                     },
                                     "nf_conntrack_tcp_timeout_established" : {
                                        "description" : "Conntrack established timeout.",
                                        "minimum" : 7875,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (7875 - N)"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     },
                                     "nosmurfs" : {
                                        "description" : "Enable SMURFS filter.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "smurf_log_level" : {
                                        "description" : "Log level for SMURFS filter.",
@@ -19789,7 +25059,8 @@ var pveapi = [
                                     "tcpflags" : {
                                        "description" : "Filter illegal combinations of TCP flags.",
                                        "optional" : 1,
-                                       "type" : "boolean"
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     }
                                  }
                               },
@@ -19825,80 +25096,332 @@ var pveapi = [
                                     "limit" : {
                                        "minimum" : 0,
                                        "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "start" : {
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/nodes/{node}",
+                                    [
+                                       "Sys.Syslog"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "n" : {
+                                          "description" : "Line number",
+                                          "type" : "integer"
+                                       },
+                                       "t" : {
+                                          "description" : "Line text",
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/firewall/log",
+                        "text" : "log"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "description" : "Directory index.",
+                        "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" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{name}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/nodes/{node}/firewall",
+                  "text" : "firewall"
+               },
+               {
+                  "children" : [
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Get replication job status.",
+                                    "method" : "GET",
+                                    "name" : "job_status",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "id" : {
+                                             "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+                                             "format" : "pve-replication-job-id",
+                                             "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
+                                       "user" : "all"
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "properties" : {},
+                                       "type" : "object"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/replication/{id}/status",
+                              "text" : "status"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "description" : "Read replication job log.",
+                                    "method" : "GET",
+                                    "name" : "read_job_log",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "id" : {
+                                             "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+                                             "format" : "pve-replication-job-id",
+                                             "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+                                             "type" : "string"
+                                          },
+                                          "limit" : {
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "start" : {
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
+                                       "user" : "all"
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {
+                                             "n" : {
+                                                "description" : "Line number",
+                                                "type" : "integer"
+                                             },
+                                             "t" : {
+                                                "description" : "Line text",
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/replication/{id}/log",
+                              "text" : "log"
+                           },
+                           {
+                              "info" : {
+                                 "POST" : {
+                                    "description" : "Schedule replication job to start as soon as possible.",
+                                    "method" : "POST",
+                                    "name" : "schedule_now",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "id" : {
+                                             "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+                                             "format" : "pve-replication-job-id",
+                                             "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/storage",
+                                          [
+                                             "Datastore.Allocate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/replication/{id}/schedule_now",
+                              "text" : "schedule_now"
+                           }
+                        ],
+                        "info" : {
+                           "GET" : {
+                              "description" : "Directory index.",
+                              "method" : "GET",
+                              "name" : "index",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "id" : {
+                                       "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+                                       "format" : "pve-replication-job-id",
+                                       "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+                                       "type" : "string"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
-                                       "type" : "string"
-                                    },
-                                    "start" : {
-                                       "minimum" : 0,
-                                       "optional" : 1,
-                                       "type" : "integer"
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
                               "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/nodes/{node}",
-                                    [
-                                       "Sys.Syslog"
-                                    ]
-                                 ]
+                                 "user" : "all"
                               },
-                              "protected" : 1,
-                              "proxyto" : "node",
                               "returns" : {
                                  "items" : {
-                                    "properties" : {
-                                       "n" : {
-                                          "description" : "Line number",
-                                          "type" : "integer"
-                                       },
-                                       "t" : {
-                                          "description" : "Line text",
-                                          "type" : "string"
-                                       }
-                                    },
+                                    "properties" : {},
                                     "type" : "object"
                                  },
+                                 "links" : [
+                                    {
+                                       "href" : "{name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
                                  "type" : "array"
                               }
                            }
                         },
-                        "leaf" : 1,
-                        "path" : "/nodes/{node}/firewall/log",
-                        "text" : "log"
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/replication/{id}",
+                        "text" : "{id}"
                      }
                   ],
                   "info" : {
                      "GET" : {
-                        "description" : "Directory index.",
+                        "description" : "List status of all replication jobs on this node.",
                         "method" : "GET",
-                        "name" : "index",
+                        "name" : "status",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "guest" : {
+                                 "description" : "Only list replication jobs for this guest.",
+                                 "format" : "pve-vmid",
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
+                              },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
                         "permissions" : {
+                           "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
                            "user" : "all"
                         },
+                        "protected" : 1,
+                        "proxyto" : "node",
                         "returns" : {
                            "items" : {
-                              "properties" : {},
+                              "properties" : {
+                                 "id" : {
+                                    "type" : "string"
+                                 }
+                              },
                               "type" : "object"
                            },
                            "links" : [
                               {
-                                 "href" : "{name}",
+                                 "href" : "{id}",
                                  "rel" : "child"
                               }
                            ],
@@ -19907,8 +25430,8 @@ var pveapi = [
                      }
                   },
                   "leaf" : 0,
-                  "path" : "/nodes/{node}/firewall",
-                  "text" : "firewall"
+                  "path" : "/nodes/{node}/replication",
+                  "text" : "replication"
                },
                {
                   "info" : {
@@ -19922,7 +25445,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -19962,7 +25486,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -19999,7 +25524,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20035,7 +25561,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20073,12 +25600,14 @@ var pveapi = [
                            "properties" : {
                               "commands" : {
                                  "description" : "JSON encoded array of commands.",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20124,12 +25653,14 @@ var pveapi = [
                               "ds" : {
                                  "description" : "The list of datasources you want to display.",
                                  "format" : "pve-configid-list",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "timeframe" : {
                                  "description" : "Specify the time frame you are interested in.",
@@ -20189,7 +25720,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "timeframe" : {
                                  "description" : "Specify the time frame you are interested in.",
@@ -20239,12 +25771,21 @@ var pveapi = [
                               "limit" : {
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "service" : {
+                                 "description" : "Service ID",
+                                 "maxLength" : 128,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "since" : {
                                  "description" : "Display all log since this date-time string.",
@@ -20255,7 +25796,8 @@ var pveapi = [
                               "start" : {
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "until" : {
                                  "description" : "Display all log until this date-time string.",
@@ -20307,21 +25849,40 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "height" : {
+                                 "description" : "sets the height of the console in pixels.",
+                                 "maximum" : 2160,
+                                 "minimum" : 16,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (16 - 2160)"
+                              },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "upgrade" : {
                                  "default" : 0,
                                  "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "websocket" : {
                                  "description" : "use websocket instead of standard vnc.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "width" : {
+                                 "description" : "sets the width of the console in pixels.",
+                                 "maximum" : 4096,
+                                 "minimum" : 16,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (16 - 4096)"
                               }
                            }
                         },
@@ -20362,6 +25923,64 @@ var pveapi = [
                   "path" : "/nodes/{node}/vncshell",
                   "text" : "vncshell"
                },
+               {
+                  "info" : {
+                     "POST" : {
+                        "description" : "Creates a VNC Shell proxy.",
+                        "method" : "POST",
+                        "name" : "termproxy",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "upgrade" : {
+                                 "default" : 0,
+                                 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/nodes/{node}",
+                              [
+                                 "Sys.Console"
+                              ]
+                           ],
+                           "description" : "Restricted to users on realm 'pam'"
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "port" : {
+                                 "type" : "integer"
+                              },
+                              "ticket" : {
+                                 "type" : "string"
+                              },
+                              "upid" : {
+                                 "type" : "string"
+                              },
+                              "user" : {
+                                 "type" : "string"
+                              }
+                           }
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/nodes/{node}/termproxy",
+                  "text" : "termproxy"
+               },
                {
                   "info" : {
                      "GET" : {
@@ -20374,18 +25993,21 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "port" : {
                                  "description" : "Port number returned by previous vncproxy call.",
                                  "maximum" : 5999,
                                  "minimum" : 5900,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (5900 - 5999)"
                               },
                               "vncticket" : {
                                  "description" : "Ticket from previous call to vncproxy.",
                                  "maxLength" : 512,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20425,19 +26047,22 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "proxy" : {
                                  "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
                                  "format" : "address",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "upgrade" : {
                                  "default" : 0,
                                  "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               }
                            }
                         },
@@ -20492,7 +26117,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20544,28 +26170,33 @@ var pveapi = [
                                  "description" : "First name server IP address.",
                                  "format" : "ip",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "dns2" : {
                                  "description" : "Second name server IP address.",
                                  "format" : "ip",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "dns3" : {
                                  "description" : "Third name server IP address.",
                                  "format" : "ip",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "search" : {
                                  "description" : "Search domain for host-name lookup.",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20601,7 +26232,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20646,11 +26278,13 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "timezone" : {
                                  "description" : "Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20686,7 +26320,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20712,17 +26347,20 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "storage" : {
-                                 "description" : "Only list status for  specified storage",
+                                 "description" : "The storage where the template will be stored",
                                  "format" : "pve-storage-id",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "template" : {
                                  "description" : "The template wich will downloaded",
                                  "maxLength" : 255,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20758,7 +26396,8 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20794,12 +26433,21 @@ var pveapi = [
                               "force" : {
                                  "description" : "force if onboot=0.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "vms" : {
+                                 "description" : "Only consider Guests with these IDs.",
+                                 "format" : "pve-vmid-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20835,7 +26483,15 @@ var pveapi = [
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "vms" : {
+                                 "description" : "Only consider Guests with these IDs.",
+                                 "format" : "pve-vmid-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20872,17 +26528,27 @@ var pveapi = [
                                  "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - N)"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "target" : {
                                  "description" : "Target node.",
                                  "format" : "pve-node",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "vms" : {
+                                 "description" : "Only consider Guests with these IDs.",
+                                 "format" : "pve-vmid-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -20918,7 +26584,8 @@ var pveapi = [
                         "node" : {
                            "description" : "The cluster node name.",
                            "format" : "pve-node",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -20989,7 +26656,8 @@ var pveapi = [
                         "storage" : {
                            "description" : "The storage identifier.",
                            "format" : "pve-storage-id",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -21017,7 +26685,8 @@ var pveapi = [
                         "storage" : {
                            "description" : "The storage identifier.",
                            "format" : "pve-storage-id",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -21042,80 +26711,172 @@ var pveapi = [
                         "blocksize" : {
                            "description" : "block size",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "bwlimit" : {
+                           "description" : "Set bandwidth/io limits various operations.",
+                           "format" : {
+                              "clone" : {
+                                 "description" : "bandwidth limit in MiB/s for cloning disks",
+                                 "format_description" : "LIMIT",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "number"
+                              },
+                              "default" : {
+                                 "description" : "default bandwidth limit in MiB/s",
+                                 "format_description" : "LIMIT",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "number"
+                              },
+                              "migration" : {
+                                 "description" : "bandwidth limit in MiB/s for migrating guests",
+                                 "format_description" : "LIMIT",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "number"
+                              },
+                              "move" : {
+                                 "description" : "bandwidth limit in MiB/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",
+                                 "format_description" : "LIMIT",
+                                 "minimum" : "0",
+                                 "optional" : 1,
+                                 "type" : "number"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
                         },
                         "comstar_hg" : {
                            "description" : "host group for comstar views",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "comstar_tg" : {
                            "description" : "target group for comstar views",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "content" : {
                            "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
                            "format" : "pve-storage-content-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "delete" : {
                            "description" : "A list of settings you want to delete.",
                            "format" : "pve-configid-list",
                            "maxLength" : 4096,
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "digest" : {
                            "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                            "maxLength" : 40,
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "disable" : {
                            "description" : "Flag to disable the storage.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "domain" : {
+                           "description" : "CIFS domain.",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "format" : {
                            "description" : "Default image format.",
                            "format" : "pve-storage-format",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "is_mountpoint" : {
+                           "default" : "no",
+                           "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "krbd" : {
                            "description" : "Access rbd through krbd kernel module.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "maxfiles" : {
                            "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
                            "minimum" : 0,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (0 - N)"
+                        },
+                        "mkdir" : {
+                           "default" : "yes",
+                           "description" : "Create the directory if it doesn't exist.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "monhost" : {
+                           "description" : "IP addresses of monitors (for external clusters).",
+                           "format" : "pve-storage-portal-dns-list",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "nodes" : {
                            "description" : "List of cluster node names.",
                            "format" : "pve-node-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "nowritecache" : {
                            "description" : "disable write caching on the target",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "options" : {
                            "description" : "NFS mount options (see 'man nfs')",
                            "format" : "pve-storage-options",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "password" : {
+                           "description" : "Password for CIFS share.",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "pool" : {
                            "description" : "Pool.",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "redundancy" : {
                            "default" : 2,
@@ -21123,45 +26884,65 @@ var pveapi = [
                            "maximum" : 16,
                            "minimum" : 1,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 16)"
                         },
                         "saferemove" : {
                            "description" : "Zero-out data when removing LVs.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "saferemove_throughput" : {
                            "description" : "Wipe throughput (cstream -t parameter value).",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "server" : {
                            "description" : "Server IP or DNS name.",
                            "format" : "pve-storage-server",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "server2" : {
                            "description" : "Backup volfile server IP or DNS name.",
                            "format" : "pve-storage-server",
                            "optional" : 1,
                            "requires" : "server",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "shared" : {
                            "description" : "Mark storage as shared.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "smbversion" : {
+                           "description" : "",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "sparse" : {
                            "description" : "use sparse volumes",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "storage" : {
                            "description" : "The storage identifier.",
                            "format" : "pve-storage-id",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "tagged_only" : {
+                           "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "transport" : {
                            "description" : "Gluster transport: tcp or rdma",
@@ -21176,7 +26957,8 @@ var pveapi = [
                         "username" : {
                            "description" : "RBD Id.",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      },
                      "type" : "object"
@@ -21212,6 +26994,7 @@ var pveapi = [
                   "type" : {
                      "description" : "Only list storage of specific type",
                      "enum" : [
+                        "cifs",
                         "dir",
                         "drbd",
                         "glusterfs",
@@ -21262,106 +27045,197 @@ var pveapi = [
                   "authsupported" : {
                      "description" : "Authsupported.",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "base" : {
                      "description" : "Base volume. This volume is automatically activated.",
                      "format" : "pve-volume-id",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "blocksize" : {
                      "description" : "block size",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "bwlimit" : {
+                     "description" : "Set bandwidth/io limits various operations.",
+                     "format" : {
+                        "clone" : {
+                           "description" : "bandwidth limit in MiB/s for cloning disks",
+                           "format_description" : "LIMIT",
+                           "minimum" : "0",
+                           "optional" : 1,
+                           "type" : "number"
+                        },
+                        "default" : {
+                           "description" : "default bandwidth limit in MiB/s",
+                           "format_description" : "LIMIT",
+                           "minimum" : "0",
+                           "optional" : 1,
+                           "type" : "number"
+                        },
+                        "migration" : {
+                           "description" : "bandwidth limit in MiB/s for migrating guests",
+                           "format_description" : "LIMIT",
+                           "minimum" : "0",
+                           "optional" : 1,
+                           "type" : "number"
+                        },
+                        "move" : {
+                           "description" : "bandwidth limit in MiB/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",
+                           "format_description" : "LIMIT",
+                           "minimum" : "0",
+                           "optional" : 1,
+                           "type" : "number"
+                        }
+                     },
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "[clone=<LIMIT>] [,default=<LIMIT>] [,migration=<LIMIT>] [,move=<LIMIT>] [,restore=<LIMIT>]"
                   },
                   "comstar_hg" : {
                      "description" : "host group for comstar views",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "comstar_tg" : {
                      "description" : "target group for comstar views",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "content" : {
                      "description" : "Allowed content types.\n\nNOTE: the value 'rootdir' is used for Containers, and value 'images' for VMs.\n",
                      "format" : "pve-storage-content-list",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "disable" : {
                      "description" : "Flag to disable the storage.",
                      "optional" : 1,
-                     "type" : "boolean"
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
+                  },
+                  "domain" : {
+                     "description" : "CIFS domain.",
+                     "maxLength" : 256,
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "export" : {
                      "description" : "NFS export path.",
                      "format" : "pve-storage-path",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "format" : {
                      "description" : "Default image format.",
                      "format" : "pve-storage-format",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "is_mountpoint" : {
+                     "default" : "no",
+                     "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "iscsiprovider" : {
                      "description" : "iscsi provider",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "krbd" : {
                      "description" : "Access rbd through krbd kernel module.",
                      "optional" : 1,
-                     "type" : "boolean"
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
                   },
                   "maxfiles" : {
                      "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
                      "minimum" : 0,
                      "optional" : 1,
-                     "type" : "integer"
+                     "type" : "integer",
+                     "typetext" : "<integer> (0 - N)"
+                  },
+                  "mkdir" : {
+                     "default" : "yes",
+                     "description" : "Create the directory if it doesn't exist.",
+                     "optional" : 1,
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
                   },
                   "monhost" : {
-                     "description" : "Monitors daemon ips.",
+                     "description" : "IP addresses of monitors (for external clusters).",
+                     "format" : "pve-storage-portal-dns-list",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "nodes" : {
                      "description" : "List of cluster node names.",
                      "format" : "pve-node-list",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "nowritecache" : {
                      "description" : "disable write caching on the target",
                      "optional" : 1,
-                     "type" : "boolean"
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
                   },
                   "options" : {
                      "description" : "NFS mount options (see 'man nfs')",
                      "format" : "pve-storage-options",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "password" : {
+                     "description" : "Password for CIFS share.",
+                     "maxLength" : 256,
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "path" : {
                      "description" : "File system path.",
                      "format" : "pve-storage-path",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "pool" : {
                      "description" : "Pool.",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "portal" : {
                      "description" : "iSCSI portal (IP or DNS name with optional port).",
                      "format" : "pve-storage-portal-dns",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "redundancy" : {
                      "default" : 2,
@@ -21369,56 +27243,84 @@ var pveapi = [
                      "maximum" : 16,
                      "minimum" : 1,
                      "optional" : 1,
-                     "type" : "integer"
+                     "type" : "integer",
+                     "typetext" : "<integer> (1 - 16)"
                   },
                   "saferemove" : {
                      "description" : "Zero-out data when removing LVs.",
                      "optional" : 1,
-                     "type" : "boolean"
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
                   },
                   "saferemove_throughput" : {
                      "description" : "Wipe throughput (cstream -t parameter value).",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "server" : {
                      "description" : "Server IP or DNS name.",
                      "format" : "pve-storage-server",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "server2" : {
                      "description" : "Backup volfile server IP or DNS name.",
                      "format" : "pve-storage-server",
                      "optional" : 1,
                      "requires" : "server",
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "share" : {
+                     "description" : "CIFS share.",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "shared" : {
                      "description" : "Mark storage as shared.",
                      "optional" : 1,
-                     "type" : "boolean"
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
+                  },
+                  "smbversion" : {
+                     "description" : "",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "sparse" : {
                      "description" : "use sparse volumes",
                      "optional" : 1,
-                     "type" : "boolean"
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
                   },
                   "storage" : {
                      "description" : "The storage identifier.",
                      "format" : "pve-storage-id",
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "tagged_only" : {
+                     "description" : "Only use logical volumes tagged with 'pve-vm-ID'.",
+                     "optional" : 1,
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
                   },
                   "target" : {
                      "description" : "iSCSI target.",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "thinpool" : {
                      "description" : "LVM thin pool LV name.",
                      "format" : "pve-storage-vgname",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "transport" : {
                      "description" : "Gluster transport: tcp or rdma",
@@ -21433,6 +27335,7 @@ var pveapi = [
                   "type" : {
                      "description" : "Storage type.",
                      "enum" : [
+                        "cifs",
                         "dir",
                         "drbd",
                         "glusterfs",
@@ -21451,18 +27354,21 @@ var pveapi = [
                   "username" : {
                      "description" : "RBD Id.",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "vgname" : {
                      "description" : "Volume group name.",
                      "format" : "pve-storage-vgname",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "volume" : {
                      "description" : "Glusterfs Volume.",
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   }
                },
                "type" : "object"
@@ -21503,7 +27409,8 @@ var pveapi = [
                                  "description" : "User ID",
                                  "format" : "pve-userid",
                                  "maxLength" : 64,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -21538,7 +27445,8 @@ var pveapi = [
                                  "description" : "User ID",
                                  "format" : "pve-userid",
                                  "maxLength" : 64,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -21597,51 +27505,61 @@ var pveapi = [
                               "append" : {
                                  "optional" : 1,
                                  "requires" : "groups",
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "comment" : {
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "email" : {
                                  "format" : "email-opt",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "enable" : {
                                  "description" : "Enable/disable the account.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "expire" : {
                                  "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
                                  "minimum" : 0,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
                               },
                               "firstname" : {
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "groups" : {
                                  "format" : "pve-groupid-list",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "keys" : {
                                  "description" : "Keys for two factor auth (yubico).",
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "lastname" : {
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "userid" : {
                                  "description" : "User ID",
                                  "format" : "pve-userid",
                                  "maxLength" : 64,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -21677,7 +27595,8 @@ var pveapi = [
                         "enabled" : {
                            "description" : "Optional filter for enable property.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         }
                      }
                   },
@@ -21712,55 +27631,65 @@ var pveapi = [
                      "properties" : {
                         "comment" : {
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "email" : {
                            "format" : "email-opt",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "enable" : {
                            "default" : 1,
                            "description" : "Enable the account (default). You can set this to '0' to disable the accout",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "expire" : {
                            "description" : "Account expiration date (seconds since epoch). '0' means no expiration date.",
                            "minimum" : 0,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (0 - N)"
                         },
                         "firstname" : {
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "groups" : {
                            "format" : "pve-groupid-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "keys" : {
                            "description" : "Keys for two factor auth (yubico).",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "lastname" : {
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "password" : {
                            "description" : "Initial password.",
                            "maxLength" : 64,
                            "minLength" : 5,
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "userid" : {
                            "description" : "User ID",
                            "format" : "pve-userid",
                            "maxLength" : 64,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -21805,7 +27734,8 @@ var pveapi = [
                            "properties" : {
                               "groupid" : {
                                  "format" : "pve-groupid",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -21832,7 +27762,8 @@ var pveapi = [
                            "properties" : {
                               "groupid" : {
                                  "format" : "pve-groupid",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -21874,11 +27805,13 @@ var pveapi = [
                            "properties" : {
                               "comment" : {
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "groupid" : {
                                  "format" : "pve-groupid",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -21941,11 +27874,13 @@ var pveapi = [
                      "properties" : {
                         "comment" : {
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "groupid" : {
                            "format" : "pve-groupid",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -21981,7 +27916,8 @@ var pveapi = [
                            "properties" : {
                               "roleid" : {
                                  "format" : "pve-roleid",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -22008,7 +27944,8 @@ var pveapi = [
                            "properties" : {
                               "roleid" : {
                                  "format" : "pve-roleid",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -22027,15 +27964,18 @@ var pveapi = [
                               "append" : {
                                  "optional" : 1,
                                  "requires" : "privs",
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "privs" : {
                                  "format" : "pve-priv-list",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "roleid" : {
                                  "format" : "pve-roleid",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -22098,11 +28038,13 @@ var pveapi = [
                         "privs" : {
                            "format" : "pve-priv-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "roleid" : {
                            "format" : "pve-roleid",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -22177,34 +28119,40 @@ var pveapi = [
                         "delete" : {
                            "description" : "Remove permissions (instead of adding it).",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "groups" : {
                            "description" : "List of groups.",
                            "format" : "pve-groupid-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "path" : {
                            "description" : "Access control path",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "propagate" : {
                            "default" : 1,
                            "description" : "Allow to propagate (inherit) permissions.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "roles" : {
                            "description" : "List of roles.",
                            "format" : "pve-roleid-list",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "users" : {
                            "description" : "List of users.",
                            "format" : "pve-userid-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -22239,7 +28187,8 @@ var pveapi = [
                                  "description" : "Authentication domain ID",
                                  "format" : "pve-realm",
                                  "maxLength" : 32,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -22268,7 +28217,8 @@ var pveapi = [
                                  "description" : "Authentication domain ID",
                                  "format" : "pve-realm",
                                  "maxLength" : 32,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -22300,29 +28250,59 @@ var pveapi = [
                                  "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
                                  "type" : "string"
                               },
+                              "bind_dn" : {
+                                 "description" : "LDAP bind domain name",
+                                 "maxLength" : 256,
+                                 "optional" : 1,
+                                 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                                 "type" : "string"
+                              },
+                              "capath" : {
+                                 "default" : "/etc/ssl/certs",
+                                 "description" : "Path to the CA certificate store",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "cert" : {
+                                 "description" : "Path to the client certificate",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "certkey" : {
+                                 "description" : "Path to the client certificate key",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "comment" : {
                                  "description" : "Description.",
                                  "maxLength" : 4096,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "default" : {
                                  "description" : "Use this as default realm",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "delete" : {
                                  "description" : "A list of settings you want to delete.",
                                  "format" : "pve-configid-list",
                                  "maxLength" : 4096,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "digest" : {
                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
                                  "maxLength" : 40,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "domain" : {
                                  "description" : "AD domain name",
@@ -22336,39 +28316,45 @@ var pveapi = [
                                  "maximum" : 65535,
                                  "minimum" : 1,
                                  "optional" : 1,
-                                 "type" : "integer"
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - 65535)"
                               },
                               "realm" : {
                                  "description" : "Authentication domain ID",
                                  "format" : "pve-realm",
                                  "maxLength" : 32,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "secure" : {
                                  "description" : "Use secure LDAPS protocol.",
                                  "optional" : 1,
-                                 "type" : "boolean"
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "server1" : {
                                  "description" : "Server IP address (or DNS name)",
                                  "format" : "address",
                                  "maxLength" : 256,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "server2" : {
                                  "description" : "Fallback Server IP address (or DNS name)",
                                  "format" : "address",
                                  "maxLength" : 256,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "tfa" : {
                                  "description" : "Use Two-factor authentication.",
                                  "format" : "pve-tfa-config",
                                  "maxLength" : 128,
                                  "optional" : 1,
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "user_attr" : {
                                  "description" : "LDAP user attribute name",
@@ -22376,6 +28362,13 @@ var pveapi = [
                                  "optional" : 1,
                                  "pattern" : "\\S{2,}",
                                  "type" : "string"
+                              },
+                              "verify" : {
+                                 "default" : 0,
+                                 "description" : "Verify the server's SSL certificate",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               }
                            },
                            "type" : "object"
@@ -22416,6 +28409,7 @@ var pveapi = [
                      "items" : {
                         "properties" : {
                            "comment" : {
+                              "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
                               "optional" : 1,
                               "type" : "string"
                            },
@@ -22457,16 +28451,44 @@ var pveapi = [
                            "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
                            "type" : "string"
                         },
+                        "bind_dn" : {
+                           "description" : "LDAP bind domain name",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                           "type" : "string"
+                        },
+                        "capath" : {
+                           "default" : "/etc/ssl/certs",
+                           "description" : "Path to the CA certificate store",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "cert" : {
+                           "description" : "Path to the client certificate",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "certkey" : {
+                           "description" : "Path to the client certificate key",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "comment" : {
                            "description" : "Description.",
                            "maxLength" : 4096,
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "default" : {
                            "description" : "Use this as default realm",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "domain" : {
                            "description" : "AD domain name",
@@ -22480,39 +28502,45 @@ var pveapi = [
                            "maximum" : 65535,
                            "minimum" : 1,
                            "optional" : 1,
-                           "type" : "integer"
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 65535)"
                         },
                         "realm" : {
                            "description" : "Authentication domain ID",
                            "format" : "pve-realm",
                            "maxLength" : 32,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "secure" : {
                            "description" : "Use secure LDAPS protocol.",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "server1" : {
                            "description" : "Server IP address (or DNS name)",
                            "format" : "address",
                            "maxLength" : 256,
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "server2" : {
                            "description" : "Fallback Server IP address (or DNS name)",
                            "format" : "address",
                            "maxLength" : 256,
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "tfa" : {
                            "description" : "Use Two-factor authentication.",
                            "format" : "pve-tfa-config",
                            "maxLength" : 128,
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "type" : {
                            "description" : "Realm type.",
@@ -22530,6 +28558,13 @@ var pveapi = [
                            "optional" : 1,
                            "pattern" : "\\S{2,}",
                            "type" : "string"
+                        },
+                        "verify" : {
+                           "default" : 0,
+                           "description" : "Verify the server's SSL certificate",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         }
                      },
                      "type" : "object"
@@ -22556,7 +28591,7 @@ var pveapi = [
          {
             "info" : {
                "GET" : {
-                  "description" : "Dummy. Useful for formaters which want to priovde a login page.",
+                  "description" : "Dummy. Useful for formatters which want to provide a login page.",
                   "method" : "GET",
                   "name" : "get_ticket",
                   "parameters" : {
@@ -22579,18 +28614,21 @@ var pveapi = [
                         "otp" : {
                            "description" : "One-time password for Two-factor authentication.",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "password" : {
                            "description" : "The secret password. This can also be a valid ticket.",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "path" : {
                            "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
                            "maxLength" : 64,
                            "optional" : 1,
                            "requires" : "privs",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "privs" : {
                            "description" : "Verify ticket, and check if user have access 'privs' on 'path'",
@@ -22598,19 +28636,22 @@ var pveapi = [
                            "maxLength" : 64,
                            "optional" : 1,
                            "requires" : "path",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "realm" : {
                            "description" : "You can optionally pass the realm using this parameter. Normally the realm is simply added to the username <username>@<relam>.",
                            "format" : "pve-realm",
                            "maxLength" : 32,
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "username" : {
                            "description" : "User name",
                            "maxLength" : 64,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -22654,13 +28695,15 @@ var pveapi = [
                            "description" : "The new password.",
                            "maxLength" : 64,
                            "minLength" : 5,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "userid" : {
                            "description" : "User ID",
                            "format" : "pve-userid",
                            "maxLength" : 64,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -22745,7 +28788,8 @@ var pveapi = [
                      "properties" : {
                         "poolid" : {
                            "format" : "pve-poolid",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -22773,7 +28817,8 @@ var pveapi = [
                      "properties" : {
                         "poolid" : {
                            "format" : "pve-poolid",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -22838,28 +28883,33 @@ var pveapi = [
                      "properties" : {
                         "comment" : {
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "delete" : {
                            "description" : "Remove vms/storage (instead of adding it).",
                            "optional" : 1,
-                           "type" : "boolean"
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         },
                         "poolid" : {
                            "format" : "pve-poolid",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "storage" : {
                            "description" : "List of storage IDs.",
                            "format" : "pve-storage-id-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "vms" : {
                            "description" : "List of virtual machines.",
                            "format" : "pve-vmid-list",
                            "optional" : 1,
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         }
                      }
                   },
@@ -22923,11 +28973,13 @@ var pveapi = [
                "properties" : {
                   "comment" : {
                      "optional" : 1,
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   },
                   "poolid" : {
                      "format" : "pve-poolid",
-                     "type" : "string"
+                     "type" : "string",
+                     "typetext" : "<string>"
                   }
                }
             },