]> git.proxmox.com Git - pve-docs.git/blobdiff - api-viewer/apidata.js
Fix typos in pveum.adoc
[pve-docs.git] / api-viewer / apidata.js
index 13c1e2cd584597bfd917e3c6d72490820c5439f8..73c116e69fcef1717609c02f46118ffe822deff8 100644 (file)
@@ -326,6 +326,29 @@ var pveapi = [
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
                                     },
+                                    "link[n]" : {
+                                       "description" : "Address and priority information of a single corosync link.",
+                                       "format" : {
+                                          "address" : {
+                                             "default_key" : 1,
+                                             "description" : "Hostname (or IP) of this corosync link address.",
+                                             "format" : "address",
+                                             "format_description" : "IP",
+                                             "type" : "string"
+                                          },
+                                          "priority" : {
+                                             "default" : 0,
+                                             "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
+                                             "maximum" : 255,
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer"
+                                          }
+                                       },
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "[address=]<IP> [,priority=<integer>]"
+                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
@@ -339,21 +362,6 @@ var pveapi = [
                                        "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" : 0,
@@ -485,9 +493,24 @@ var pveapi = [
                                           "type" : "integer"
                                        },
                                        "ring0_addr" : {
-                                          "default" : "Hostname of the node",
-                                          "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
-                                          "format" : "address",
+                                          "description" : "Address and priority information of a single corosync link.",
+                                          "format" : {
+                                             "address" : {
+                                                "default_key" : 1,
+                                                "description" : "Hostname (or IP) of this corosync link address.",
+                                                "format" : "address",
+                                                "format_description" : "IP",
+                                                "type" : "string"
+                                             },
+                                             "priority" : {
+                                                "default" : 0,
+                                                "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
+                                                "maximum" : 255,
+                                                "minimum" : 0,
+                                                "optional" : 1,
+                                                "type" : "integer"
+                                             }
+                                          },
                                           "optional" : 1,
                                           "type" : "string"
                                        }
@@ -531,6 +554,30 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "link[n]" : {
+                                 "default" : "IP resolved by node's hostname",
+                                 "description" : "Address and priority information of a single corosync link.",
+                                 "format" : {
+                                    "address" : {
+                                       "default_key" : 1,
+                                       "description" : "Hostname (or IP) of this corosync link address.",
+                                       "format" : "address",
+                                       "format_description" : "IP",
+                                       "type" : "string"
+                                    },
+                                    "priority" : {
+                                       "default" : 0,
+                                       "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
+                                       "maximum" : 255,
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[address=]<IP> [,priority=<integer>]"
+                              },
                               "nodeid" : {
                                  "description" : "Node id for this node.",
                                  "minimum" : 1,
@@ -544,21 +591,6 @@ var pveapi = [
                                  "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,
@@ -604,6 +636,33 @@ var pveapi = [
                   "leaf" : 1,
                   "path" : "/cluster/config/totem",
                   "text" : "totem"
+               },
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Get QDevice status",
+                        "method" : "GET",
+                        "name" : "status",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit"
+                              ]
+                           ]
+                        },
+                        "returns" : {
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/config/qdevice",
+                  "text" : "qdevice"
                }
             ],
             "info" : {
@@ -644,20 +703,6 @@ var pveapi = [
                   "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",
@@ -665,6 +710,29 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "link[n]" : {
+                           "description" : "Address and priority information of a single corosync link.",
+                           "format" : {
+                              "address" : {
+                                 "default_key" : 1,
+                                 "description" : "Hostname (or IP) of this corosync link address.",
+                                 "format" : "address",
+                                 "format_description" : "IP",
+                                 "type" : "string"
+                              },
+                              "priority" : {
+                                 "default" : 0,
+                                 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
+                                 "maximum" : 255,
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[address=]<IP> [,priority=<integer>]"
+                        },
                         "nodeid" : {
                            "description" : "Node id for this node.",
                            "minimum" : 1,
@@ -672,21 +740,6 @@ var pveapi = [
                            "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,
@@ -821,6 +874,22 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "integer"
                                           },
+                                          "log" : {
+                                             "description" : "Log level for firewall rule",
+                                             "enum" : [
+                                                "emerg",
+                                                "alert",
+                                                "crit",
+                                                "err",
+                                                "warning",
+                                                "notice",
+                                                "info",
+                                                "debug",
+                                                "nolog"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "macro" : {
                                              "optional" : 1,
                                              "type" : "string"
@@ -919,6 +988,22 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "log" : {
+                                             "description" : "Log level for firewall rule.",
+                                             "enum" : [
+                                                "emerg",
+                                                "alert",
+                                                "crit",
+                                                "err",
+                                                "warning",
+                                                "notice",
+                                                "info",
+                                                "debug",
+                                                "nolog"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "macro" : {
                                              "description" : "Use predefined standard macro.",
                                              "maxLength" : 128,
@@ -1134,6 +1219,22 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "log" : {
+                                       "description" : "Log level for firewall rule.",
+                                       "enum" : [
+                                          "emerg",
+                                          "alert",
+                                          "crit",
+                                          "err",
+                                          "warning",
+                                          "notice",
+                                          "info",
+                                          "debug",
+                                          "nolog"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "macro" : {
                                        "description" : "Use predefined standard macro.",
                                        "maxLength" : 128,
@@ -1397,6 +1498,22 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "log" : {
+                                       "description" : "Log level for firewall rule",
+                                       "enum" : [
+                                          "emerg",
+                                          "alert",
+                                          "crit",
+                                          "err",
+                                          "warning",
+                                          "notice",
+                                          "info",
+                                          "debug",
+                                          "nolog"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "macro" : {
                                        "optional" : 1,
                                        "type" : "string"
@@ -1488,6 +1605,22 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "log" : {
+                                       "description" : "Log level for firewall rule.",
+                                       "enum" : [
+                                          "emerg",
+                                          "alert",
+                                          "crit",
+                                          "err",
+                                          "warning",
+                                          "notice",
+                                          "info",
+                                          "debug",
+                                          "nolog"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "macro" : {
                                        "description" : "Use predefined standard macro.",
                                        "maxLength" : 128,
@@ -1657,6 +1790,22 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "log" : {
+                                 "description" : "Log level for firewall rule.",
+                                 "enum" : [
+                                    "emerg",
+                                    "alert",
+                                    "crit",
+                                    "err",
+                                    "warning",
+                                    "notice",
+                                    "info",
+                                    "debug",
+                                    "nolog"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "macro" : {
                                  "description" : "Use predefined standard macro.",
                                  "maxLength" : 128,
@@ -2370,6 +2519,34 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "integer"
                               },
+                              "log_ratelimit" : {
+                                 "description" : "Log ratelimiting settings",
+                                 "format" : {
+                                    "burst" : {
+                                       "default" : 5,
+                                       "description" : "Inital burst of packages which will get logged",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "enable" : {
+                                       "default" : "1",
+                                       "default_key" : 1,
+                                       "description" : "Enable or disable log rate limiting",
+                                       "type" : "boolean"
+                                    },
+                                    "rate" : {
+                                       "default" : "1/second",
+                                       "description" : "Frequency with which the burst bucket gets refilled",
+                                       "format_description" : "rate",
+                                       "optional" : 1,
+                                       "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "policy_in" : {
                                  "description" : "Input policy.",
                                  "enum" : [
@@ -2429,6 +2606,35 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (0 - N)"
                               },
+                              "log_ratelimit" : {
+                                 "description" : "Log ratelimiting settings",
+                                 "format" : {
+                                    "burst" : {
+                                       "default" : 5,
+                                       "description" : "Inital burst of packages which will get logged",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "enable" : {
+                                       "default" : "1",
+                                       "default_key" : 1,
+                                       "description" : "Enable or disable log rate limiting",
+                                       "type" : "boolean"
+                                    },
+                                    "rate" : {
+                                       "default" : "1/second",
+                                       "description" : "Frequency with which the burst bucket gets refilled",
+                                       "format_description" : "rate",
+                                       "optional" : 1,
+                                       "pattern" : "[1-9][0-9]*\\/(second|minute|hour|day)",
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[enable=]<1|0> [,burst=<integer>] [,rate=<rate>]"
+                              },
                               "policy_in" : {
                                  "description" : "Input policy.",
                                  "enum" : [
@@ -2804,6 +3010,12 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer>"
                               },
+                              "pool" : {
+                                 "description" : "Backup all known guest systems included in the specified pool.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "quiet" : {
                                  "default" : 0,
                                  "description" : "Be quiet.",
@@ -2847,7 +3059,7 @@ var pveapi = [
                               },
                               "stop" : {
                                  "default" : 0,
-                                 "description" : "Stop runnig backup jobs on this host.",
+                                 "description" : "Stop running backup jobs on this host.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -3073,6 +3285,12 @@ var pveapi = [
                            "type" : "integer",
                            "typetext" : "<integer>"
                         },
+                        "pool" : {
+                           "description" : "Backup all known guest systems included in the specified pool.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "quiet" : {
                            "default" : 0,
                            "description" : "Be quiet.",
@@ -3116,7 +3334,7 @@ var pveapi = [
                         },
                         "stop" : {
                            "default" : 0,
-                           "description" : "Stop runnig backup jobs on this host.",
+                           "description" : "Stop running backup jobs on this host.",
                            "optional" : 1,
                            "type" : "boolean",
                            "typetext" : "<boolean>"
@@ -3187,7 +3405,7 @@ var pveapi = [
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "node" : {
-                                             "description" : "The cluster node name.",
+                                             "description" : "Target node.",
                                              "format" : "pve-node",
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -3229,7 +3447,7 @@ var pveapi = [
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "node" : {
-                                             "description" : "The cluster node name.",
+                                             "description" : "Target node.",
                                              "format" : "pve-node",
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -4475,35 +4693,35 @@ var pveapi = [
                            "description" : "Set bandwidth/io limits various operations.",
                            "format" : {
                               "clone" : {
-                                 "description" : "bandwidth limit in MiB/s for cloning disks",
+                                 "description" : "bandwidth limit in KiB/s for cloning disks",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "default" : {
-                                 "description" : "default bandwidth limit in MiB/s",
+                                 "description" : "default bandwidth limit in KiB/s",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "migration" : {
-                                 "description" : "bandwidth limit in MiB/s for migrating guests",
+                                 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "move" : {
-                                 "description" : "bandwidth limit in MiB/s for moving disks",
+                                 "description" : "bandwidth limit in KiB/s for moving disks",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "restore" : {
-                                 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
+                                 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
@@ -4635,9 +4853,10 @@ var pveapi = [
                         },
                         "mac_prefix" : {
                            "description" : "Prefix for autogenerated MAC addresses.",
+                           "format" : "mac-prefix",
                            "optional" : 1,
-                           "pattern" : "(?^i:[a-f0-9]{2}(?::[a-f0-9]{2}){0,2}:?)",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "max_workers" : {
                            "description" : "Defines how many workers (per node) are maximal started  on actions like 'stopall VMs' or task from the ha-manager.",
@@ -4676,6 +4895,26 @@ var pveapi = [
                            "optional" : 1,
                            "type" : "boolean",
                            "typetext" : "<boolean>"
+                        },
+                        "u2f" : {
+                           "description" : "u2f",
+                           "format" : {
+                              "appid" : {
+                                 "description" : "U2F AppId URL override. Defaults to the origin.",
+                                 "format_description" : "APPID",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "origin" : {
+                                 "description" : "U2F Origin override. Mostly useful for single nodes with a single URL.",
+                                 "format_description" : "URL",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[appid=<APPID>] [,origin=<URL>]"
                         }
                      }
                   },
@@ -4701,7 +4940,7 @@ var pveapi = [
          {
             "info" : {
                "GET" : {
-                  "description" : "Get cluster status informations.",
+                  "description" : "Get cluster status information.",
                   "method" : "GET",
                   "name" : "get_status",
                   "parameters" : {
@@ -4765,6 +5004,101 @@ var pveapi = [
             "leaf" : 1,
             "path" : "/cluster/nextid",
             "text" : "nextid"
+         },
+         {
+            "children" : [
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Get ceph metadata.",
+                        "method" : "GET",
+                        "name" : "ceph_metadata",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit",
+                                 "Datastore.Audit"
+                              ],
+                              "any",
+                              1
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/ceph/metadata",
+                  "text" : "metadata"
+               },
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Get ceph status.",
+                        "method" : "GET",
+                        "name" : "cephstatus",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit",
+                                 "Datastore.Audit"
+                              ],
+                              "any",
+                              1
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/ceph/status",
+                  "text" : "status"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "description" : "Cluster ceph index.",
+                  "method" : "GET",
+                  "name" : "cephindex",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "user" : "all"
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {},
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{name}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/cluster/ceph",
+            "text" : "ceph"
          }
       ],
       "info" : {
@@ -4930,6 +5264,22 @@ var pveapi = [
                                                          "optional" : 1,
                                                          "type" : "integer"
                                                       },
+                                                      "log" : {
+                                                         "description" : "Log level for firewall rule",
+                                                         "enum" : [
+                                                            "emerg",
+                                                            "alert",
+                                                            "crit",
+                                                            "err",
+                                                            "warning",
+                                                            "notice",
+                                                            "info",
+                                                            "debug",
+                                                            "nolog"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
                                                       "macro" : {
                                                          "optional" : 1,
                                                          "type" : "string"
@@ -5021,6 +5371,22 @@ var pveapi = [
                                                          "type" : "string",
                                                          "typetext" : "<string>"
                                                       },
+                                                      "log" : {
+                                                         "description" : "Log level for firewall rule.",
+                                                         "enum" : [
+                                                            "emerg",
+                                                            "alert",
+                                                            "crit",
+                                                            "err",
+                                                            "warning",
+                                                            "notice",
+                                                            "info",
+                                                            "debug",
+                                                            "nolog"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
                                                       "macro" : {
                                                          "description" : "Use predefined standard macro.",
                                                          "maxLength" : 128,
@@ -5218,6 +5584,22 @@ var pveapi = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "log" : {
+                                                   "description" : "Log level for firewall rule.",
+                                                   "enum" : [
+                                                      "emerg",
+                                                      "alert",
+                                                      "crit",
+                                                      "err",
+                                                      "warning",
+                                                      "notice",
+                                                      "info",
+                                                      "debug",
+                                                      "nolog"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "macro" : {
                                                    "description" : "Use predefined standard macro.",
                                                    "maxLength" : 128,
@@ -8147,6 +8529,12 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<volume>"
                                           },
+                                          "cicustom" : {
+                                             "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
+                                             "format" : "pve-qm-cicustom",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "cipassword" : {
                                              "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
                                              "optional" : 1,
@@ -8228,10 +8616,10 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "flags" : {
-                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
+                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb', 'md-clear'.",
                                                    "format_description" : "+FLAG[;-FLAG...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -8332,7 +8720,7 @@ var pveapi = [
                                              "format" : "pve-qm-hostpci",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "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"
+                                             "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",
@@ -8663,6 +9051,13 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
@@ -8674,6 +9069,25 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "string"
                                           },
+                                          "ivshmem" : {
+                                             "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
+                                             "format" : {
+                                                "name" : {
+                                                   "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
+                                                   "format_description" : "string",
+                                                   "optional" : 1,
+                                                   "pattern" : "[a-zA-Z0-9\\-]+",
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "The size of the file in MB.",
+                                                   "minimum" : 1,
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "keyboard" : {
                                              "default" : null,
                                              "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
@@ -8727,7 +9141,9 @@ var pveapi = [
                                                 "migrate",
                                                 "rollback",
                                                 "snapshot",
-                                                "snapshot-delete"
+                                                "snapshot-delete",
+                                                "suspending",
+                                                "suspended"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -8821,10 +9237,11 @@ var pveapi = [
                                                 },
                                                 "macaddr" : {
                                                    "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "model" : {
                                                    "default_key" : 1,
@@ -9291,6 +9708,13 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
@@ -9617,6 +10041,13 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
@@ -9659,7 +10090,7 @@ var pveapi = [
                                           "smbios1" : {
                                              "description" : "Specify SMBIOS type 1 fields.",
                                              "format" : "pve-qm-smbios1",
-                                             "maxLength" : 256,
+                                             "maxLength" : 512,
                                              "optional" : 1,
                                              "type" : "string"
                                           },
@@ -10225,6 +10656,13 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<volume>"
                                           },
+                                          "cicustom" : {
+                                             "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
+                                             "format" : "pve-qm-cicustom",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
+                                          },
                                           "cipassword" : {
                                              "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
                                              "optional" : 1,
@@ -10309,10 +10747,10 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "flags" : {
-                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
+                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb', 'md-clear'.",
                                                    "format_description" : "+FLAG[;-FLAG...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -10438,7 +10876,7 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
-                                             "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+                                             "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",
@@ -10770,11 +11208,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "ipconfig[n]" : {
                                              "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
@@ -10783,6 +11228,26 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
                                           },
+                                          "ivshmem" : {
+                                             "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
+                                             "format" : {
+                                                "name" : {
+                                                   "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
+                                                   "format_description" : "string",
+                                                   "optional" : 1,
+                                                   "pattern" : "[a-zA-Z0-9\\-]+",
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "The size of the file in MB.",
+                                                   "minimum" : 1,
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "size=<integer> [,name=<string>]"
+                                          },
                                           "keyboard" : {
                                              "default" : null,
                                              "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
@@ -10838,7 +11303,9 @@ var pveapi = [
                                                 "migrate",
                                                 "rollback",
                                                 "snapshot",
-                                                "snapshot-delete"
+                                                "snapshot-delete",
+                                                "suspending",
+                                                "suspended"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -10937,10 +11404,11 @@ var pveapi = [
                                                 },
                                                 "macaddr" : {
                                                    "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "model" : {
                                                    "default_key" : 1,
@@ -11426,11 +11894,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsi[n]" : {
                                              "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -11753,11 +12228,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsihw" : {
                                              "default" : "lsi",
@@ -11804,10 +12286,10 @@ var pveapi = [
                                           "smbios1" : {
                                              "description" : "Specify SMBIOS type 1 fields.",
                                              "format" : "pve-qm-smbios1",
-                                             "maxLength" : 256,
+                                             "maxLength" : 512,
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
+                                             "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
                                           },
                                           "smp" : {
                                              "default" : 1,
@@ -12405,6 +12887,13 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<volume>"
                                           },
+                                          "cicustom" : {
+                                             "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
+                                             "format" : "pve-qm-cicustom",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
+                                          },
                                           "cipassword" : {
                                              "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
                                              "optional" : 1,
@@ -12489,10 +12978,10 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "flags" : {
-                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
+                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb', 'md-clear'.",
                                                    "format_description" : "+FLAG[;-FLAG...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -12618,7 +13107,7 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
-                                             "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+                                             "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",
@@ -12950,11 +13439,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "ipconfig[n]" : {
                                              "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
@@ -12963,6 +13459,26 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
                                           },
+                                          "ivshmem" : {
+                                             "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
+                                             "format" : {
+                                                "name" : {
+                                                   "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
+                                                   "format_description" : "string",
+                                                   "optional" : 1,
+                                                   "pattern" : "[a-zA-Z0-9\\-]+",
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "The size of the file in MB.",
+                                                   "minimum" : 1,
+                                                   "type" : "integer"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "size=<integer> [,name=<string>]"
+                                          },
                                           "keyboard" : {
                                              "default" : null,
                                              "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
@@ -13018,7 +13534,9 @@ var pveapi = [
                                                 "migrate",
                                                 "rollback",
                                                 "snapshot",
-                                                "snapshot-delete"
+                                                "snapshot-delete",
+                                                "suspending",
+                                                "suspended"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -13117,10 +13635,11 @@ var pveapi = [
                                                 },
                                                 "macaddr" : {
                                                    "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "model" : {
                                                    "default_key" : 1,
@@ -13606,11 +14125,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsi[n]" : {
                                              "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -13933,11 +14459,18 @@ var pveapi = [
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
+                                                },
+                                                "wwn" : {
+                                                   "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                                   "format_description" : "wwn",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsihw" : {
                                              "default" : "lsi",
@@ -13984,10 +14517,10 @@ var pveapi = [
                                           "smbios1" : {
                                              "description" : "Specify SMBIOS type 1 fields.",
                                              "format" : "pve-qm-smbios1",
-                                             "maxLength" : 256,
+                                             "maxLength" : 512,
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
+                                             "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
                                           },
                                           "smp" : {
                                              "default" : 1,
@@ -14936,6 +15469,11 @@ var pveapi = [
                                                    "description" : "HA manager service status.",
                                                    "type" : "object"
                                                 },
+                                                "lock" : {
+                                                   "description" : "The current config lock, if any.",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "maxdisk" : {
                                                    "description" : "Root disk size in bytes.",
                                                    "optional" : 1,
@@ -15303,6 +15841,21 @@ var pveapi = [
                                                    "type" : "boolean",
                                                    "typetext" : "<boolean>"
                                                 },
+                                                "statestorage" : {
+                                                   "description" : "The storage for the VM state",
+                                                   "format" : "pve-storage-id",
+                                                   "optional" : 1,
+                                                   "requires" : "todisk",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "todisk" : {
+                                                   "default" : 0,
+                                                   "description" : "If set, suspends the VM to disk. Will be resumed on next VM start.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
@@ -15574,6 +16127,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "clone limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
                                           "description" : {
                                              "description" : "Description for the new VM.",
                                              "optional" : 1,
@@ -15706,6 +16267,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "move limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
                                           "delete" : {
                                              "default" : 0,
                                              "description" : "Delete the original disk after successful copy. By default the original disk is kept as unused disk.",
@@ -15832,6 +16401,73 @@ var pveapi = [
                            },
                            {
                               "info" : {
+                                 "GET" : {
+                                    "description" : "Get preconditions for migration.",
+                                    "method" : "GET",
+                                    "name" : "migrate_vm_precondition",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "target" : {
+                                             "description" : "Target node.",
+                                             "format" : "pve-node",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Migrate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "properties" : {
+                                          "allowed_nodes" : {
+                                             "description" : "List nodes allowed for offline migration, only passed if VM is offline",
+                                             "optional" : 1,
+                                             "type" : "array"
+                                          },
+                                          "local_disks" : {
+                                             "description" : "List local disks including CD-Rom, unsused and not referenced disks",
+                                             "type" : "array"
+                                          },
+                                          "local_resources" : {
+                                             "description" : "List local resources e.g. pci, usb",
+                                             "type" : "array"
+                                          },
+                                          "not_allowed_nodes" : {
+                                             "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
+                                             "optional" : 1,
+                                             "type" : "object"
+                                          },
+                                          "running" : {
+                                             "type" : "boolean"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
                                  "POST" : {
                                     "description" : "Migrate virtual machine. Creates a new migration task.",
                                     "method" : "POST",
@@ -15839,6 +16475,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "migrate limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
                                           "force" : {
                                              "description" : "Allow to migrate VMs which use local devices. Only root may use this option.",
                                              "optional" : 1,
@@ -16575,6 +17219,65 @@ var pveapi = [
                               "leaf" : 1,
                               "path" : "/nodes/{node}/qemu/{vmid}/template",
                               "text" : "template"
+                           },
+                           {
+                              "children" : [
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "description" : "Get automatically generated cloudinit config.",
+                                          "method" : "GET",
+                                          "name" : "cloudinit_generated_config_dump",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "type" : {
+                                                   "description" : "Config type.",
+                                                   "enum" : [
+                                                      "user",
+                                                      "network",
+                                                      "meta"
+                                                   ],
+                                                   "type" : "string"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Audit"
+                                                ]
+                                             ]
+                                          },
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "type" : "string"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
+                                    "text" : "dump"
+                                 }
+                              ],
+                              "leaf" : 0,
+                              "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
+                              "text" : "cloudinit"
                            }
                         ],
                         "info" : {
@@ -16707,6 +17410,11 @@ var pveapi = [
                                     "optional" : 1,
                                     "type" : "number"
                                  },
+                                 "lock" : {
+                                    "description" : "The current config lock, if any.",
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "maxdisk" : {
                                     "description" : "Root disk size in bytes.",
                                     "optional" : 1,
@@ -16862,7 +17570,8 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "bwlimit" : {
-                                 "description" : "Override i/o bandwidth limit (in KiB/s).",
+                                 "default" : "restore limit from datacenter or storage config",
+                                 "description" : "Override I/O bandwidth limit (in KiB/s).",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "integer",
@@ -16875,6 +17584,13 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<volume>"
                               },
+                              "cicustom" : {
+                                 "description" : "cloud-init: Specify custom files to replace the automatically generated ones at start.",
+                                 "format" : "pve-qm-cicustom",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
+                              },
                               "cipassword" : {
                                  "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
                                  "optional" : 1,
@@ -16959,10 +17675,10 @@ var pveapi = [
                                        "type" : "string"
                                     },
                                     "flags" : {
-                                       "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
+                                       "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb', 'md-clear'.",
                                        "format_description" : "+FLAG[;-FLAG...]",
                                        "optional" : 1,
-                                       "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb)))*)",
+                                       "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
                                        "type" : "string"
                                     },
                                     "hidden" : {
@@ -17074,7 +17790,7 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
-                                 "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+                                 "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",
@@ -17406,11 +18122,18 @@ var pveapi = [
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
+                                    },
+                                    "wwn" : {
+                                       "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                       "format_description" : "wwn",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                       "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                               },
                               "ipconfig[n]" : {
                                  "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
@@ -17419,6 +18142,26 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "[gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,ip=<IPv4Format/CIDR>] [,ip6=<IPv6Format/CIDR>]"
                               },
+                              "ivshmem" : {
+                                 "description" : "Inter-VM shared memory. Useful for direct communication between VMs, or to the host.",
+                                 "format" : {
+                                    "name" : {
+                                       "description" : "The name of the file. Will be prefixed with 'pve-shm-'. Default is the VMID. Will be deleted when the VM is stopped.",
+                                       "format_description" : "string",
+                                       "optional" : 1,
+                                       "pattern" : "[a-zA-Z0-9\\-]+",
+                                       "type" : "string"
+                                    },
+                                    "size" : {
+                                       "description" : "The size of the file in MB.",
+                                       "minimum" : 1,
+                                       "type" : "integer"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "size=<integer> [,name=<string>]"
+                              },
                               "keyboard" : {
                                  "default" : null,
                                  "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
@@ -17474,7 +18217,9 @@ var pveapi = [
                                     "migrate",
                                     "rollback",
                                     "snapshot",
-                                    "snapshot-delete"
+                                    "snapshot-delete",
+                                    "suspending",
+                                    "suspended"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -17573,10 +18318,11 @@ var pveapi = [
                                     },
                                     "macaddr" : {
                                        "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+                                       "format" : "mac-addr",
                                        "format_description" : "XX:XX:XX:XX:XX:XX",
                                        "optional" : 1,
-                                       "pattern" : "(?^i:[0-9a-f]{2}(?::[0-9a-f]{2}){5})",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                     },
                                     "model" : {
                                        "default_key" : 1,
@@ -18062,11 +18808,18 @@ var pveapi = [
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
+                                    },
+                                    "wwn" : {
+                                       "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                       "format_description" : "wwn",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                       "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                               },
                               "scsi[n]" : {
                                  "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
@@ -18389,11 +19142,18 @@ var pveapi = [
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
+                                    },
+                                    "wwn" : {
+                                       "description" : "The drive's worldwide name, encoded as 16 bytes hex string, prefixed by '0x'.",
+                                       "format_description" : "wwn",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:^(0x)[0-9a-fA-F]{16})",
+                                       "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                               },
                               "scsihw" : {
                                  "default" : "lsi",
@@ -18434,10 +19194,10 @@ var pveapi = [
                               "smbios1" : {
                                  "description" : "Specify SMBIOS type 1 fields.",
                                  "format" : "pve-qm-smbios1",
-                                 "maxLength" : 256,
+                                 "maxLength" : 512,
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[family=<string>] [,manufacturer=<string>] [,product=<string>] [,serial=<string>] [,sku=<string>] [,uuid=<UUID>] [,version=<string>]"
+                                 "typetext" : "[base64=<1|0>] [,family=<Base64 encoded string>] [,manufacturer=<Base64 encoded string>] [,product=<Base64 encoded string>] [,serial=<Base64 encoded string>] [,sku=<Base64 encoded string>] [,uuid=<UUID>] [,version=<Base64 encoded string>]"
                               },
                               "smp" : {
                                  "default" : 1,
@@ -19080,7 +19840,7 @@ var pveapi = [
                                                    "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
                                                    "format_description" : "fstype;fstype;...",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:[a-zA-Z0-9; ]+)",
+                                                   "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
                                                    "type" : "string"
                                                 },
                                                 "nesting" : {
@@ -19110,7 +19870,9 @@ var pveapi = [
                                              "description" : "Lock/unlock the VM.",
                                              "enum" : [
                                                 "backup",
+                                                "create",
                                                 "disk",
+                                                "fstrim",
                                                 "migrate",
                                                 "mounted",
                                                 "rollback",
@@ -19152,6 +19914,13 @@ var pveapi = [
                                                    "type" : "boolean",
                                                    "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
                                                 },
+                                                "mountoptions" : {
+                                                   "description" : "Extra mount options for rootfs/mps.",
+                                                   "format_description" : "opt[;opt...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "type" : "string"
+                                                },
                                                 "mp" : {
                                                    "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
                                                    "format" : "pve-lxc-mp-string",
@@ -19237,10 +20006,11 @@ var pveapi = [
                                                 },
                                                 "hwaddr" : {
                                                    "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "ip" : {
                                                    "description" : "IPv4 address in CIDR format.",
@@ -19336,6 +20106,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "mountoptions" : {
+                                                   "description" : "Extra mount options for rootfs/mps.",
+                                                   "format_description" : "opt[;opt...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "type" : "string"
+                                                },
                                                 "quota" : {
                                                    "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
                                                    "optional" : 1,
@@ -19529,7 +20306,7 @@ var pveapi = [
                                                    "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
                                                    "format_description" : "fstype;fstype;...",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:[a-zA-Z0-9; ]+)",
+                                                   "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
                                                    "type" : "string"
                                                 },
                                                 "nesting" : {
@@ -19562,7 +20339,9 @@ var pveapi = [
                                              "description" : "Lock/unlock the VM.",
                                              "enum" : [
                                                 "backup",
+                                                "create",
                                                 "disk",
+                                                "fstrim",
                                                 "migrate",
                                                 "mounted",
                                                 "rollback",
@@ -19594,6 +20373,13 @@ var pveapi = [
                                                    "type" : "boolean",
                                                    "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
                                                 },
+                                                "mountoptions" : {
+                                                   "description" : "Extra mount options for rootfs/mps.",
+                                                   "format_description" : "opt[;opt...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "type" : "string"
+                                                },
                                                 "mp" : {
                                                    "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
                                                    "format" : "pve-lxc-mp-string",
@@ -19641,7 +20427,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "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>]"
+                                             "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,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.",
@@ -19681,10 +20467,11 @@ var pveapi = [
                                                 },
                                                 "hwaddr" : {
                                                    "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
+                                                   "format" : "mac-addr",
                                                    "format_description" : "XX:XX:XX:XX:XX:XX",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
-                                                   "type" : "string"
+                                                   "type" : "string",
+                                                   "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                                 },
                                                 "ip" : {
                                                    "description" : "IPv4 address in CIDR format.",
@@ -19789,6 +20576,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "mountoptions" : {
+                                                   "description" : "Extra mount options for rootfs/mps.",
+                                                   "format_description" : "opt[;opt...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "type" : "string"
+                                                },
                                                 "quota" : {
                                                    "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
                                                    "optional" : 1,
@@ -19829,7 +20623,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
+                                             "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,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.",
@@ -19967,6 +20761,11 @@ var pveapi = [
                                                    "description" : "HA manager service status.",
                                                    "type" : "object"
                                                 },
+                                                "lock" : {
+                                                   "description" : "The current config lock, if any.",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "maxdisk" : {
                                                    "description" : "Root disk size in bytes.",
                                                    "optional" : 1,
@@ -20833,6 +21632,22 @@ var pveapi = [
                                                          "optional" : 1,
                                                          "type" : "integer"
                                                       },
+                                                      "log" : {
+                                                         "description" : "Log level for firewall rule",
+                                                         "enum" : [
+                                                            "emerg",
+                                                            "alert",
+                                                            "crit",
+                                                            "err",
+                                                            "warning",
+                                                            "notice",
+                                                            "info",
+                                                            "debug",
+                                                            "nolog"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
                                                       "macro" : {
                                                          "optional" : 1,
                                                          "type" : "string"
@@ -20924,6 +21739,22 @@ var pveapi = [
                                                          "type" : "string",
                                                          "typetext" : "<string>"
                                                       },
+                                                      "log" : {
+                                                         "description" : "Log level for firewall rule.",
+                                                         "enum" : [
+                                                            "emerg",
+                                                            "alert",
+                                                            "crit",
+                                                            "err",
+                                                            "warning",
+                                                            "notice",
+                                                            "info",
+                                                            "debug",
+                                                            "nolog"
+                                                         ],
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
                                                       "macro" : {
                                                          "description" : "Use predefined standard macro.",
                                                          "maxLength" : 128,
@@ -21121,6 +21952,22 @@ var pveapi = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "log" : {
+                                                   "description" : "Log level for firewall rule.",
+                                                   "enum" : [
+                                                      "emerg",
+                                                      "alert",
+                                                      "crit",
+                                                      "err",
+                                                      "warning",
+                                                      "notice",
+                                                      "info",
+                                                      "debug",
+                                                      "nolog"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "macro" : {
                                                    "description" : "Use predefined standard macro.",
                                                    "maxLength" : 128,
@@ -22858,6 +23705,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "migrate limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - N)"
+                                          },
                                           "force" : {
                                              "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
                                              "optional" : 1,
@@ -23045,6 +23900,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "clone limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - N)"
+                                          },
                                           "description" : {
                                              "description" : "Description for the new CT.",
                                              "optional" : 1,
@@ -23489,6 +24352,14 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "clone limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - N)"
+                                          },
                                           "delete" : {
                                              "default" : 0,
                                              "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
@@ -23937,6 +24808,11 @@ var pveapi = [
                                     "optional" : 1,
                                     "type" : "number"
                                  },
+                                 "lock" : {
+                                    "description" : "The current config lock, if any.",
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "maxdisk" : {
                                     "description" : "Root disk size in bytes.",
                                     "optional" : 1,
@@ -24012,7 +24888,8 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "bwlimit" : {
-                                 "description" : "Override i/o bandwidth limit (in KiB/s).",
+                                 "default" : "restore limit from datacenter or storage config",
+                                 "description" : "Override I/O bandwidth limit (in KiB/s).",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number",
@@ -24087,7 +24964,7 @@ var pveapi = [
                                        "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
                                        "format_description" : "fstype;fstype;...",
                                        "optional" : 1,
-                                       "pattern" : "(?^:[a-zA-Z0-9; ]+)",
+                                       "pattern" : "(?^:[a-zA-Z0-9_; ]+)",
                                        "type" : "string"
                                     },
                                     "nesting" : {
@@ -24132,7 +25009,9 @@ var pveapi = [
                                  "description" : "Lock/unlock the VM.",
                                  "enum" : [
                                     "backup",
+                                    "create",
                                     "disk",
+                                    "fstrim",
                                     "migrate",
                                     "mounted",
                                     "rollback",
@@ -24164,6 +25043,13 @@ var pveapi = [
                                        "type" : "boolean",
                                        "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
                                     },
+                                    "mountoptions" : {
+                                       "description" : "Extra mount options for rootfs/mps.",
+                                       "format_description" : "opt[;opt...]",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                       "type" : "string"
+                                    },
                                     "mp" : {
                                        "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
                                        "format" : "pve-lxc-mp-string",
@@ -24211,7 +25097,7 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "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>]"
+                                 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,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.",
@@ -24251,10 +25137,11 @@ var pveapi = [
                                     },
                                     "hwaddr" : {
                                        "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
+                                       "format" : "mac-addr",
                                        "format_description" : "XX:XX:XX:XX:XX:XX",
                                        "optional" : 1,
-                                       "pattern" : "(?^i:(?:[a-f0-9]{2}:){5}[a-f0-9]{2})",
-                                       "type" : "string"
+                                       "type" : "string",
+                                       "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
                                     },
                                     "ip" : {
                                        "description" : "IPv4 address in CIDR format.",
@@ -24385,6 +25272,13 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "mountoptions" : {
+                                       "description" : "Extra mount options for rootfs/mps.",
+                                       "format_description" : "opt[;opt...]",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                       "type" : "string"
+                                    },
                                     "quota" : {
                                        "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
                                        "optional" : 1,
@@ -24425,7 +25319,7 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
+                                 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,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.",
@@ -24486,6 +25380,13 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (0 - 6)"
                               },
+                              "unique" : {
+                                 "description" : "Assign a unique random ethernet address.",
+                                 "optional" : 1,
+                                 "requires" : "restore",
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "unprivileged" : {
                                  "default" : 0,
                                  "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
@@ -24569,18 +25470,67 @@ var pveapi = [
                                        }
                                     },
                                     "leaf" : 1,
-                                    "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
-                                    "text" : "in"
+                                    "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
+                                    "text" : "in"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "description" : "ceph osd out",
+                                          "method" : "POST",
+                                          "name" : "out",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "osdid" : {
+                                                   "description" : "OSD ID",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/",
+                                                [
+                                                   "Sys.Modify"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "type" : "null"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
+                                    "text" : "out"
                                  },
                                  {
                                     "info" : {
                                        "POST" : {
-                                          "description" : "ceph osd out",
+                                          "description" : "Instruct the OSD to scrub.",
                                           "method" : "POST",
-                                          "name" : "out",
+                                          "name" : "scrub",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
+                                                "deep" : {
+                                                   "default" : 0,
+                                                   "description" : "If set, instructs a deep scrub instead of a normal one.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
@@ -24611,8 +25561,8 @@ var pveapi = [
                                        }
                                     },
                                     "leaf" : 1,
-                                    "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
-                                    "text" : "out"
+                                    "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
+                                    "text" : "scrub"
                                  }
                               ],
                               "info" : {
@@ -24696,34 +25646,34 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "bluestore" : {
-                                       "default" : 1,
-                                       "description" : "Use bluestore instead of filestore. This is the default.",
+                                    "db_dev" : {
+                                       "description" : "Block device name for block.db.",
                                        "optional" : 1,
-                                       "type" : "boolean",
-                                       "typetext" : "<boolean>"
-                                    },
-                                    "dev" : {
-                                       "description" : "Block device name.",
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "fstype" : {
-                                       "default" : "xfs",
-                                       "description" : "File system type (filestore only).",
-                                       "enum" : [
-                                          "xfs",
-                                          "ext4"
-                                       ],
+                                    "db_size" : {
+                                       "default" : "bluestore_block_db_size or 10% of OSD size",
+                                       "description" : "Size in GiB for block.db.",
+                                       "minimum" : 1,
                                        "optional" : 1,
-                                       "type" : "string"
+                                       "requires" : "db_dev",
+                                       "type" : "number",
+                                       "typetext" : "<number> (1 - N)",
+                                       "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
                                     },
-                                    "journal_dev" : {
-                                       "description" : "Block device name for journal (filestore) or block.db (bluestore).",
-                                       "optional" : 1,
+                                    "dev" : {
+                                       "description" : "Block device name.",
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "encrypted" : {
+                                       "default" : 0,
+                                       "description" : "Enables encryption of the OSD.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
@@ -24731,10 +25681,20 @@ var pveapi = [
                                        "typetext" : "<string>"
                                     },
                                     "wal_dev" : {
-                                       "description" : "Block device name for block.wal (bluestore only).",
+                                       "description" : "Block device name for block.wal.",
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
+                                    },
+                                    "wal_size" : {
+                                       "default" : "bluestore_block_wal_size or 1% of OSD size",
+                                       "description" : "Size in GiB for block.wal.",
+                                       "minimum" : 0.5,
+                                       "optional" : 1,
+                                       "requires" : "wal_dev",
+                                       "type" : "number",
+                                       "typetext" : "<number> (0.5 - N)",
+                                       "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
                                     }
                                  }
                               },
@@ -24950,6 +25910,42 @@ var pveapi = [
                                     "returns" : {
                                        "type" : "string"
                                     }
+                                 },
+                                 "POST" : {
+                                    "description" : "Create Ceph Manager",
+                                    "method" : "POST",
+                                    "name" : "createmgr",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "id" : {
+                                             "description" : "The ID for the manager, when omitted the same as the nodename",
+                                             "optional" : 1,
+                                             "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
                                  }
                               },
                               "leaf" : 1,
@@ -24958,19 +25954,13 @@ var pveapi = [
                            }
                         ],
                         "info" : {
-                           "POST" : {
-                              "description" : "Create Ceph Manager",
-                              "method" : "POST",
-                              "name" : "createmgr",
+                           "GET" : {
+                              "description" : "MGR directory index.",
+                              "method" : "GET",
+                              "name" : "index",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "id" : {
-                                       "description" : "The ID for the manager, when omitted the same as the nodename",
-                                       "optional" : 1,
-                                       "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
-                                       "type" : "string"
-                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
@@ -24984,14 +25974,43 @@ var pveapi = [
                                     "perm",
                                     "/",
                                     [
-                                       "Sys.Modify"
-                                    ]
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
                                  ]
                               },
                               "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
-                                 "type" : "string"
+                                 "items" : {
+                                    "properties" : {
+                                       "addr" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "host" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "name" : {
+                                          "description" : "The name (ID) for the MGR"
+                                       },
+                                       "state" : {
+                                          "description" : "State of the MGR",
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
                               }
                            }
                         },
@@ -25010,15 +26029,51 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
-                                          "exclude-manager" : {
-                                             "default" : 0,
-                                             "description" : "When set, removes only the monitor, not the manager",
+                                          "monid" : {
+                                             "description" : "Monitor ID",
+                                             "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "POST" : {
+                                    "description" : "Create Ceph Monitor and Manager",
+                                    "method" : "POST",
+                                    "name" : "createmon",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "mon-address" : {
+                                             "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
+                                             "format" : "ip",
                                              "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
                                           "monid" : {
-                                             "description" : "Monitor 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"
                                           },
@@ -25085,6 +26140,11 @@ var pveapi = [
                                  "items" : {
                                     "properties" : {
                                        "addr" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "host" : {
+                                          "optional" : 1,
                                           "type" : "string"
                                        },
                                        "name" : {
@@ -25101,56 +26161,6 @@ var pveapi = [
                                  ],
                                  "type" : "array"
                               }
-                           },
-                           "POST" : {
-                              "description" : "Create Ceph Monitor and Manager",
-                              "method" : "POST",
-                              "name" : "createmon",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "exclude-manager" : {
-                                       "default" : 0,
-                                       "description" : "When set, only a monitor will be created.",
-                                       "optional" : 1,
-                                       "type" : "boolean",
-                                       "typetext" : "<boolean>"
-                                    },
-                                    "id" : {
-                                       "description" : "The ID for the monitor, when omitted the same as the nodename",
-                                       "optional" : 1,
-                                       "pattern" : "[a-zA-Z0-9]([a-zA-Z0-9\\-]*[a-zA-Z0-9])?",
-                                       "type" : "string"
-                                    },
-                                    "mon-address" : {
-                                       "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
-                                       "format" : "ip",
-                                       "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    },
-                                    "node" : {
-                                       "description" : "The cluster node name.",
-                                       "format" : "pve-node",
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Modify"
-                                    ]
-                                 ]
-                              },
-                              "protected" : 1,
-                              "proxyto" : "node",
-                              "returns" : {
-                                 "type" : "string"
-                              }
                            }
                         },
                         "leaf" : 0,
@@ -25249,6 +26259,7 @@ var pveapi = [
                                  ]
                               },
                               "protected" : 1,
+                              "proxyto" : "node",
                               "returns" : {
                                  "items" : {
                                     "properties" : {
@@ -25392,6 +26403,7 @@ var pveapi = [
                                     1
                                  ]
                               },
+                              "proxyto" : "node",
                               "returns" : {
                                  "type" : "string"
                               }
@@ -25401,6 +26413,69 @@ var pveapi = [
                         "path" : "/nodes/{node}/ceph/config",
                         "text" : "config"
                      },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "Get Ceph configuration database.",
+                              "method" : "GET",
+                              "name" : "configdb",
+                              "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" : {
+                                       "can_update_at_runtime" : {
+                                          "type" : "boolean"
+                                       },
+                                       "level" : {
+                                          "type" : "string"
+                                       },
+                                       "mask" : {
+                                          "type" : "string"
+                                       },
+                                       "name" : {
+                                          "type" : "string"
+                                       },
+                                       "section" : {
+                                          "type" : "string"
+                                       },
+                                       "value" : {
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/ceph/configdb",
+                        "text" : "configdb"
+                     },
                      {
                         "info" : {
                            "POST" : {
@@ -25421,7 +26496,7 @@ var pveapi = [
                                     },
                                     "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!",
+                                       "description" : "Disable cephx authentication.\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>"
@@ -25508,7 +26583,7 @@ var pveapi = [
                                        "default" : "ceph.target",
                                        "description" : "Ceph service name.",
                                        "optional" : 1,
-                                       "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
+                                       "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
                                        "type" : "string"
                                     }
                                  }
@@ -25552,7 +26627,7 @@ var pveapi = [
                                        "default" : "ceph.target",
                                        "description" : "Ceph service name.",
                                        "optional" : 1,
-                                       "pattern" : "(mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
+                                       "pattern" : "(ceph|mon|mds|osd|mgr)\\.[A-Za-z0-9\\-]{1,32}",
                                        "type" : "string"
                                     }
                                  }
@@ -26367,6 +27442,12 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer>"
                               },
+                              "pool" : {
+                                 "description" : "Backup all known guest systems included in the specified pool.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "quiet" : {
                                  "default" : 0,
                                  "description" : "Be quiet.",
@@ -26410,7 +27491,7 @@ var pveapi = [
                               },
                               "stop" : {
                                  "default" : 0,
-                                 "description" : "Stop runnig backup jobs on this host.",
+                                 "description" : "Stop running backup jobs on this host.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -27124,7 +28205,7 @@ var pveapi = [
                                        "type" : "string"
                                     },
                                     "bridge_ports" : {
-                                       "description" : "Specify the iterfaces you want to add to your bridge.",
+                                       "description" : "Specify the interfaces you want to add to your bridge.",
                                        "format" : "pve-iface-list",
                                        "optional" : 1,
                                        "type" : "string",
@@ -27136,6 +28217,20 @@ var pveapi = [
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
                                     },
+                                    "cidr" : {
+                                       "description" : "IPv4 CIDR.",
+                                       "format" : "CIDRv4",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "cidr6" : {
+                                       "description" : "IPv6 CIDR.",
+                                       "format" : "CIDRv6",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "comments" : {
                                        "description" : "Comments",
                                        "optional" : 1,
@@ -27222,7 +28317,7 @@ var pveapi = [
                                        "typetext" : "<string>"
                                     },
                                     "ovs_ports" : {
-                                       "description" : "Specify the iterfaces you want to add to your bridge.",
+                                       "description" : "Specify the interfaces you want to add to your bridge.",
                                        "format" : "pve-iface-list",
                                        "optional" : 1,
                                        "type" : "string",
@@ -27420,7 +28515,7 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "bridge_ports" : {
-                                 "description" : "Specify the iterfaces you want to add to your bridge.",
+                                 "description" : "Specify the interfaces you want to add to your bridge.",
                                  "format" : "pve-iface-list",
                                  "optional" : 1,
                                  "type" : "string",
@@ -27432,6 +28527,20 @@ var pveapi = [
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
+                              "cidr" : {
+                                 "description" : "IPv4 CIDR.",
+                                 "format" : "CIDRv4",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "cidr6" : {
+                                 "description" : "IPv6 CIDR.",
+                                 "format" : "CIDRv6",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "comments" : {
                                  "description" : "Comments",
                                  "optional" : 1,
@@ -27511,7 +28620,7 @@ var pveapi = [
                                  "typetext" : "<string>"
                               },
                               "ovs_ports" : {
-                                 "description" : "Specify the iterfaces you want to add to your bridge.",
+                                 "description" : "Specify the interfaces you want to add to your bridge.",
                                  "format" : "pve-iface-list",
                                  "optional" : 1,
                                  "type" : "string",
@@ -29222,7 +30331,7 @@ var pveapi = [
                                              "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.",
+                                             "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.",
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -30676,6 +31785,22 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "integer"
                                           },
+                                          "log" : {
+                                             "description" : "Log level for firewall rule",
+                                             "enum" : [
+                                                "emerg",
+                                                "alert",
+                                                "crit",
+                                                "err",
+                                                "warning",
+                                                "notice",
+                                                "info",
+                                                "debug",
+                                                "nolog"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "macro" : {
                                              "optional" : 1,
                                              "type" : "string"
@@ -30767,6 +31892,22 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "log" : {
+                                             "description" : "Log level for firewall rule.",
+                                             "enum" : [
+                                                "emerg",
+                                                "alert",
+                                                "crit",
+                                                "err",
+                                                "warning",
+                                                "notice",
+                                                "info",
+                                                "debug",
+                                                "nolog"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "macro" : {
                                              "description" : "Use predefined standard macro.",
                                              "maxLength" : 128,
@@ -30950,6 +32091,22 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "log" : {
+                                       "description" : "Log level for firewall rule.",
+                                       "enum" : [
+                                          "emerg",
+                                          "alert",
+                                          "crit",
+                                          "err",
+                                          "warning",
+                                          "notice",
+                                          "info",
+                                          "debug",
+                                          "nolog"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "macro" : {
                                        "description" : "Use predefined standard macro.",
                                        "maxLength" : 128,
@@ -31089,6 +32246,12 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "log_nf_conntrack" : {
+                                       "default" : 0,
+                                       "description" : "Enable logging of conntrack information.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "ndp" : {
                                        "description" : "Enable NDP.",
                                        "optional" : 1,
@@ -31217,6 +32380,13 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "log_nf_conntrack" : {
+                                       "default" : 0,
+                                       "description" : "Enable logging of conntrack information.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "ndp" : {
                                        "description" : "Enable NDP.",
                                        "optional" : 1,
@@ -32183,12 +33353,15 @@ var pveapi = [
                         "returns" : {
                            "properties" : {
                               "release" : {
+                                 "description" : "The current installed Proxmox VE Release",
                                  "type" : "string"
                               },
                               "repoid" : {
+                                 "description" : "The short git commit hash ID from which this version was build",
                                  "type" : "string"
                               },
                               "version" : {
+                                 "description" : "The current installed pve-manager package version",
                                  "type" : "string"
                               }
                            },
@@ -32602,6 +33775,79 @@ var pveapi = [
                   "path" : "/nodes/{node}/syslog",
                   "text" : "syslog"
                },
+               {
+                  "info" : {
+                     "GET" : {
+                        "description" : "Read Journal",
+                        "method" : "GET",
+                        "name" : "journal",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "endcursor" : {
+                                 "description" : "End before the given Cursor. Conflicts with 'until'",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "lastentries" : {
+                                 "description" : "Limit to the last X lines. Conflicts with a range.",
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
+                              },
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "since" : {
+                                 "description" : "Display all log since this UNIX epoch. Conflicts with 'startcursor'.",
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
+                              },
+                              "startcursor" : {
+                                 "description" : "Start after the given Cursor. Conflicts with 'since'",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "until" : {
+                                 "description" : "Display all log until this UNIX epoch. Conflicts with 'endcursor'.",
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - N)"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/nodes/{node}",
+                              [
+                                 "Sys.Syslog"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "proxyto" : "node",
+                        "returns" : {
+                           "items" : {
+                              "type" : "string"
+                           },
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/nodes/{node}/journal",
+                  "text" : "journal"
+               },
                {
                   "info" : {
                      "POST" : {
@@ -32611,6 +33857,17 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "cmd" : {
+                                 "default" : "login",
+                                 "description" : "Run specific command or default to login.",
+                                 "enum" : [
+                                    "upgrade",
+                                    "ceph_install",
+                                    "login"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "height" : {
                                  "description" : "sets the height of the console in pixels.",
                                  "maximum" : 2160,
@@ -32627,7 +33884,7 @@ var pveapi = [
                               },
                               "upgrade" : {
                                  "default" : 0,
-                                 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
+                                 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -32694,6 +33951,17 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "cmd" : {
+                                 "default" : "login",
+                                 "description" : "Run specific command or default to login.",
+                                 "enum" : [
+                                    "upgrade",
+                                    "ceph_install",
+                                    "login"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
@@ -32702,7 +33970,7 @@ var pveapi = [
                               },
                               "upgrade" : {
                                  "default" : 0,
-                                 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
+                                 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -32806,6 +34074,17 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "cmd" : {
+                                 "default" : "login",
+                                 "description" : "Run specific command or default to login.",
+                                 "enum" : [
+                                    "upgrade",
+                                    "ceph_install",
+                                    "login"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
@@ -32821,7 +34100,7 @@ var pveapi = [
                               },
                               "upgrade" : {
                                  "default" : 0,
-                                 "description" : "Run 'apt-get dist-upgrade' instead of normal shell.",
+                                 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -33121,7 +34400,7 @@ var pveapi = [
                                  "typetext" : "<string>"
                               },
                               "template" : {
-                                 "description" : "The template wich will downloaded",
+                                 "description" : "The template which will downloaded",
                                  "maxLength" : 255,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -33629,35 +34908,35 @@ var pveapi = [
                            "description" : "Set bandwidth/io limits various operations.",
                            "format" : {
                               "clone" : {
-                                 "description" : "bandwidth limit in MiB/s for cloning disks",
+                                 "description" : "bandwidth limit in KiB/s for cloning disks",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "default" : {
-                                 "description" : "default bandwidth limit in MiB/s",
+                                 "description" : "default bandwidth limit in KiB/s",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "migration" : {
-                                 "description" : "bandwidth limit in MiB/s for migrating guests",
+                                 "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "move" : {
-                                 "description" : "bandwidth limit in MiB/s for moving disks",
+                                 "description" : "bandwidth limit in KiB/s for moving disks",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
                                  "type" : "number"
                               },
                               "restore" : {
-                                 "description" : "bandwidth limit in MiB/s for restoring guests from backups",
+                                 "description" : "bandwidth limit in KiB/s for restoring guests from backups",
                                  "format_description" : "LIMIT",
                                  "minimum" : "0",
                                  "optional" : 1,
@@ -33932,7 +35211,6 @@ var pveapi = [
                         "cifs",
                         "dir",
                         "drbd",
-                        "fake",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -33940,7 +35218,6 @@ var pveapi = [
                         "lvmthin",
                         "nfs",
                         "rbd",
-                        "sheepdog",
                         "zfs",
                         "zfspool"
                      ],
@@ -34001,35 +35278,35 @@ var pveapi = [
                      "description" : "Set bandwidth/io limits various operations.",
                      "format" : {
                         "clone" : {
-                           "description" : "bandwidth limit in MiB/s for cloning disks",
+                           "description" : "bandwidth limit in KiB/s for cloning disks",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
                            "type" : "number"
                         },
                         "default" : {
-                           "description" : "default bandwidth limit in MiB/s",
+                           "description" : "default bandwidth limit in KiB/s",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
                            "type" : "number"
                         },
                         "migration" : {
-                           "description" : "bandwidth limit in MiB/s for migrating guests",
+                           "description" : "bandwidth limit in KiB/s for migrating guests (including moving local disks)",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
                            "type" : "number"
                         },
                         "move" : {
-                           "description" : "bandwidth limit in MiB/s for moving disks",
+                           "description" : "bandwidth limit in KiB/s for moving disks",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
                            "type" : "number"
                         },
                         "restore" : {
-                           "description" : "bandwidth limit in MiB/s for restoring guests from backups",
+                           "description" : "bandwidth limit in KiB/s for restoring guests from backups",
                            "format_description" : "LIMIT",
                            "minimum" : "0",
                            "optional" : 1,
@@ -34298,7 +35575,6 @@ var pveapi = [
                         "cifs",
                         "dir",
                         "drbd",
-                        "fake",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -34306,7 +35582,6 @@ var pveapi = [
                         "lvmthin",
                         "nfs",
                         "rbd",
-                        "sheepdog",
                         "zfs",
                         "zfspool"
                      ],
@@ -34358,6 +35633,73 @@ var pveapi = [
          {
             "children" : [
                {
+                  "children" : [
+                     {
+                        "info" : {
+                           "GET" : {
+                              "description" : "Get user TFA types (Personal and Realm).",
+                              "method" : "GET",
+                              "name" : "read_user_tfa_type",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "userid" : {
+                                       "description" : "User ID",
+                                       "format" : "pve-userid",
+                                       "maxLength" : 64,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "or",
+                                    [
+                                       "userid-param",
+                                       "self"
+                                    ],
+                                    [
+                                       "userid-group",
+                                       [
+                                          "User.Modify",
+                                          "Sys.Audit"
+                                       ]
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "realm" : {
+                                       "description" : "The type of TFA the users realm has set, if any.",
+                                       "enum" : [
+                                          "oath",
+                                          "yubico"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "user" : {
+                                       "description" : "The type of TFA the user has set, if any.",
+                                       "enum" : [
+                                          "oath",
+                                          "u2f"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/access/users/{userid}/tfa",
+                        "text" : "tfa"
+                     }
+                  ],
                   "info" : {
                      "DELETE" : {
                         "description" : "Delete user.",
@@ -34549,7 +35891,7 @@ var pveapi = [
                         }
                      }
                   },
-                  "leaf" : 1,
+                  "leaf" : 0,
                   "path" : "/access/users/{userid}",
                   "text" : "{userid}"
                }
@@ -35518,7 +36860,7 @@ var pveapi = [
                                  "maxLength" : 128,
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
                               },
                               "user_attr" : {
                                  "description" : "LDAP user attribute name",
@@ -35704,7 +37046,7 @@ var pveapi = [
                            "maxLength" : 128,
                            "optional" : 1,
                            "type" : "string",
-                           "typetext" : "<string>"
+                           "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
                         },
                         "type" : {
                            "description" : "Realm type.",
@@ -35907,6 +37249,121 @@ var pveapi = [
             "leaf" : 1,
             "path" : "/access/password",
             "text" : "password"
+         },
+         {
+            "info" : {
+               "POST" : {
+                  "description" : "Finish a u2f challenge.",
+                  "method" : "POST",
+                  "name" : "verify_tfa",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "response" : {
+                           "description" : "The response to the current authentication challenge.",
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "user" : "all"
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "properties" : {
+                        "ticket" : {
+                           "type" : "string"
+                        }
+                     },
+                     "type" : "object"
+                  }
+               },
+               "PUT" : {
+                  "description" : "Change user u2f authentication.",
+                  "method" : "PUT",
+                  "name" : "change_tfa",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "action" : {
+                           "description" : "The action to perform",
+                           "enum" : [
+                              "delete",
+                              "new",
+                              "confirm"
+                           ],
+                           "type" : "string"
+                        },
+                        "config" : {
+                           "description" : "A TFA configuration. This must currently be of type TOTP of not set at all.",
+                           "format" : "pve-tfa-config",
+                           "maxLength" : 128,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
+                        },
+                        "key" : {
+                           "description" : "When adding TOTP, the shared secret value.",
+                           "optional" : 1,
+                           "pattern" : "(?^:[A-Z2-7=]{16}|[A-Fa-f0-9]{40})",
+                           "type" : "string"
+                        },
+                        "password" : {
+                           "description" : "The current password.",
+                           "maxLength" : 64,
+                           "minLength" : 5,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "response" : {
+                           "description" : "Either the the response to the current u2f registration challenge, or, when adding TOTP, the currently valid TOTP value.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "userid" : {
+                           "description" : "User ID",
+                           "format" : "pve-userid",
+                           "maxLength" : 64,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "or",
+                        [
+                           "userid-param",
+                           "self"
+                        ],
+                        [
+                           "and",
+                           [
+                              "userid-param",
+                              "Realm.AllocateUser"
+                           ],
+                           [
+                              "userid-group",
+                              [
+                                 "User.Modify"
+                              ]
+                           ]
+                        ]
+                     ],
+                     "description" : "A user can change their own u2f or totp token."
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "object"
+                  }
+               }
+            },
+            "leaf" : 1,
+            "path" : "/access/tfa",
+            "text" : "tfa"
          }
       ],
       "info" : {