]> git.proxmox.com Git - pve-docs.git/blobdiff - api-viewer/apidata.js
update static/schema information
[pve-docs.git] / api-viewer / apidata.js
index a8f41de3f084219727581ae7a59ab6f176756890..1d4f7a32e9ad3c0ce3d35d6a7506bcfa45a92208 100644 (file)
@@ -1,4 +1,4 @@
-var pveapi = [
+const apiSchema = [
    {
       "children" : [
          {
@@ -141,7 +141,7 @@ var pveapi = [
                                  "typetext" : "<string>"
                               },
                               "source" : {
-                                 "description" : "Source of the replication.",
+                                 "description" : "For internal use, to detect if the guest was stolen.",
                                  "format" : "pve-node",
                                  "optional" : 1,
                                  "type" : "string",
@@ -250,7 +250,7 @@ var pveapi = [
                            "typetext" : "<string>"
                         },
                         "source" : {
-                           "description" : "Source of the replication.",
+                           "description" : "For internal use, to detect if the guest was stolen.",
                            "format" : "pve-node",
                            "optional" : 1,
                            "type" : "string",
@@ -363,6 +363,18 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "api-path-prefix" : {
+                                       "description" : "An API path prefix inserted between '<host>:<port>/' and '/api2/'. Can be useful if the InfluxDB service runs behind a reverse proxy.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "bucket" : {
+                                       "description" : "The InfluxDB bucket/db. Only necessary when using the http v2 api.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "disable" : {
                                        "description" : "Flag to disable the plugin.",
                                        "optional" : 1,
@@ -375,6 +387,24 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "influxdbproto" : {
+                                       "default" : "udp",
+                                       "enum" : [
+                                          "udp",
+                                          "http",
+                                          "https"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "max-body-size" : {
+                                       "default" : 25000000,
+                                       "description" : "InfluxDB max-body-size in bytes. Requests are batched up to this size.",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - N)"
+                                    },
                                     "mtu" : {
                                        "default" : 1500,
                                        "description" : "MTU for metrics transmission over UDP",
@@ -384,6 +414,12 @@ var pveapi = [
                                        "type" : "integer",
                                        "typetext" : "<integer> (512 - 65536)"
                                     },
+                                    "organization" : {
+                                       "description" : "The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "path" : {
                                        "description" : "root graphite path (ex: proxmox.mycluster.mykey)",
                                        "format" : "graphite-path",
@@ -393,8 +429,10 @@ var pveapi = [
                                     },
                                     "port" : {
                                        "description" : "server network port",
+                                       "maximum" : 65536,
+                                       "minimum" : 1,
                                        "type" : "integer",
-                                       "typetext" : "<integer>"
+                                       "typetext" : "<integer> (1 - 65536)"
                                     },
                                     "proto" : {
                                        "description" : "Protocol to send graphite data. TCP or UDP (default)",
@@ -419,6 +457,12 @@ var pveapi = [
                                        "type" : "integer",
                                        "typetext" : "<integer> (0 - N)"
                                     },
+                                    "token" : {
+                                       "description" : "The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use 'user:password' instead.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "type" : {
                                        "description" : "Plugin type.",
                                        "enum" : [
@@ -427,6 +471,13 @@ var pveapi = [
                                        ],
                                        "format" : "pve-configid",
                                        "type" : "string"
+                                    },
+                                    "verify-certificate" : {
+                                       "default" : 1,
+                                       "description" : "Set to 0 to disable certificate verification for https endpoints.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     }
                                  },
                                  "type" : "object"
@@ -453,6 +504,18 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "api-path-prefix" : {
+                                       "description" : "An API path prefix inserted between '<host>:<port>/' and '/api2/'. Can be useful if the InfluxDB service runs behind a reverse proxy.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "bucket" : {
+                                       "description" : "The InfluxDB bucket/db. Only necessary when using the http v2 api.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "delete" : {
                                        "description" : "A list of settings you want to delete.",
                                        "format" : "pve-configid-list",
@@ -480,6 +543,24 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "influxdbproto" : {
+                                       "default" : "udp",
+                                       "enum" : [
+                                          "udp",
+                                          "http",
+                                          "https"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "max-body-size" : {
+                                       "default" : 25000000,
+                                       "description" : "InfluxDB max-body-size in bytes. Requests are batched up to this size.",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - N)"
+                                    },
                                     "mtu" : {
                                        "default" : 1500,
                                        "description" : "MTU for metrics transmission over UDP",
@@ -489,6 +570,12 @@ var pveapi = [
                                        "type" : "integer",
                                        "typetext" : "<integer> (512 - 65536)"
                                     },
+                                    "organization" : {
+                                       "description" : "The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "path" : {
                                        "description" : "root graphite path (ex: proxmox.mycluster.mykey)",
                                        "format" : "graphite-path",
@@ -498,8 +585,10 @@ var pveapi = [
                                     },
                                     "port" : {
                                        "description" : "server network port",
+                                       "maximum" : 65536,
+                                       "minimum" : 1,
                                        "type" : "integer",
-                                       "typetext" : "<integer>"
+                                       "typetext" : "<integer> (1 - 65536)"
                                     },
                                     "proto" : {
                                        "description" : "Protocol to send graphite data. TCP or UDP (default)",
@@ -523,6 +612,19 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "integer",
                                        "typetext" : "<integer> (0 - N)"
+                                    },
+                                    "token" : {
+                                       "description" : "The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use 'user:password' instead.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "verify-certificate" : {
+                                       "default" : 1,
+                                       "description" : "Set to 0 to disable certificate verification for https endpoints.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     }
                                  },
                                  "type" : "object"
@@ -1060,6 +1162,7 @@ var pveapi = [
                               ]
                            ]
                         },
+                        "protected" : 1,
                         "returns" : {
                            "type" : "object"
                         }
@@ -1361,6 +1464,7 @@ var pveapi = [
                                           "dest" : {
                                              "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                              "format" : "pve-fw-addr-spec",
+                                             "maxLength" : 512,
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -1456,6 +1560,7 @@ var pveapi = [
                                           "source" : {
                                              "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                              "format" : "pve-fw-addr-spec",
+                                             "maxLength" : 512,
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -1602,6 +1707,7 @@ var pveapi = [
                                     "dest" : {
                                        "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                        "format" : "pve-fw-addr-spec",
+                                       "maxLength" : 512,
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
@@ -1690,6 +1796,7 @@ var pveapi = [
                                     "source" : {
                                        "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                        "format" : "pve-fw-addr-spec",
+                                       "maxLength" : 512,
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
@@ -2011,6 +2118,7 @@ var pveapi = [
                                     "dest" : {
                                        "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                        "format" : "pve-fw-addr-spec",
+                                       "maxLength" : 512,
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
@@ -2099,6 +2207,7 @@ var pveapi = [
                                     "source" : {
                                        "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                        "format" : "pve-fw-addr-spec",
+                                       "maxLength" : 512,
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
@@ -2205,6 +2314,7 @@ var pveapi = [
                               "dest" : {
                                  "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                  "format" : "pve-fw-addr-spec",
+                                 "maxLength" : 512,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -2286,6 +2396,7 @@ var pveapi = [
                               "source" : {
                                  "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                  "format" : "pve-fw-addr-spec",
+                                 "maxLength" : 512,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -3455,6 +3566,13 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (0 - N)"
                               },
+                              "comment" : {
+                                 "description" : "Description for the Job.",
+                                 "maxLength" : 512,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "compress" : {
                                  "default" : "0",
                                  "description" : "Compress dump file.",
@@ -3479,6 +3597,7 @@ var pveapi = [
                                  "description" : "Day of week selection.",
                                  "format" : "pve-day-of-week-list",
                                  "optional" : 1,
+                                 "requires" : "starttime",
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
@@ -3503,7 +3622,7 @@ var pveapi = [
                                  "typetext" : "<string>"
                               },
                               "exclude-path" : {
-                                 "description" : "Exclude certain files/directories (shell globs).",
+                                 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root,  other paths match relative to each subdirectory.",
                                  "format" : "string-alist",
                                  "optional" : 1,
                                  "type" : "string",
@@ -3543,15 +3662,14 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "mailto" : {
-                                 "description" : "Comma-separated list of email addresses that should receive email notifications.",
-                                 "format" : "string-list",
+                                 "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
+                                 "format" : "email-or-username-list",
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
                               "maxfiles" : {
-                                 "default" : 1,
-                                 "description" : "Maximal number of backup files per guest system.",
+                                 "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
                                  "minimum" : 1,
                                  "optional" : 1,
                                  "type" : "integer",
@@ -3575,6 +3693,13 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "notes-template" : {
+                                 "description" : "Template string for generating notes for the backup(s). It can contain variables which will be replaced by their values. Currently supported are {{cluster}}, {{guestname}}, {{node}}, and {{vmid}}, but more might be added in the future.",
+                                 "optional" : 1,
+                                 "requires" : "storage",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "pigz" : {
                                  "default" : 0,
                                  "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
@@ -3588,7 +3713,15 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "protected" : {
+                                 "description" : "If true, mark backup(s) as protected.",
+                                 "optional" : 1,
+                                 "requires" : "storage",
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "prune-backups" : {
+                                 "default" : "keep-all=1",
                                  "description" : "Use these retention options instead of those from the storage configuration.",
                                  "format" : "prune-backups",
                                  "optional" : 1,
@@ -3604,27 +3737,35 @@ var pveapi = [
                               },
                               "remove" : {
                                  "default" : 1,
-                                 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
+                                 "description" : "Prune older backups according to 'prune-backups'.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
-                              "script" : {
-                                 "description" : "Use specified hook script.",
+                              "repeat-missed" : {
+                                 "default" : 0,
+                                 "description" : "If true, the job will be run as soon as possible if it was missed while the scheduler was not running.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "schedule" : {
+                                 "description" : "Backup schedule. The format is a subset of `systemd` calendar events.",
+                                 "format" : "pve-calendar-event",
+                                 "maxLength" : 128,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
-                              "size" : {
-                                 "default" : 1024,
-                                 "description" : "Unused, will be removed in a future release.",
-                                 "minimum" : 500,
+                              "script" : {
+                                 "description" : "Use specified hook script.",
                                  "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (500 - N)"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
                               "starttime" : {
                                  "description" : "Job Start time.",
+                                 "optional" : 1,
                                  "pattern" : "\\d{1,2}:\\d{1,2}",
                                  "type" : "string",
                                  "typetext" : "HH:MM"
@@ -3762,6 +3903,13 @@ var pveapi = [
                            "type" : "integer",
                            "typetext" : "<integer> (0 - N)"
                         },
+                        "comment" : {
+                           "description" : "Description for the Job.",
+                           "maxLength" : 512,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "compress" : {
                            "default" : "0",
                            "description" : "Compress dump file.",
@@ -3780,6 +3928,7 @@ var pveapi = [
                            "description" : "Day of week selection.",
                            "format" : "pve-day-of-week-list",
                            "optional" : 1,
+                           "requires" : "starttime",
                            "type" : "string",
                            "typetext" : "<string>"
                         },
@@ -3804,12 +3953,19 @@ var pveapi = [
                            "typetext" : "<string>"
                         },
                         "exclude-path" : {
-                           "description" : "Exclude certain files/directories (shell globs).",
+                           "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root,  other paths match relative to each subdirectory.",
                            "format" : "string-alist",
                            "optional" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "id" : {
+                           "description" : "Job ID (will be autogenerated).",
+                           "format" : "pve-configid",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "ionice" : {
                            "default" : 7,
                            "description" : "Set CFQ ionice priority.",
@@ -3838,15 +3994,14 @@ var pveapi = [
                            "type" : "string"
                         },
                         "mailto" : {
-                           "description" : "Comma-separated list of email addresses that should receive email notifications.",
-                           "format" : "string-list",
+                           "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
+                           "format" : "email-or-username-list",
                            "optional" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
                         },
                         "maxfiles" : {
-                           "default" : 1,
-                           "description" : "Maximal number of backup files per guest system.",
+                           "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
                            "minimum" : 1,
                            "optional" : 1,
                            "type" : "integer",
@@ -3870,6 +4025,13 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "notes-template" : {
+                           "description" : "Template string for generating notes for the backup(s). It can contain variables which will be replaced by their values. Currently supported are {{cluster}}, {{guestname}}, {{node}}, and {{vmid}}, but more might be added in the future.",
+                           "optional" : 1,
+                           "requires" : "storage",
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "pigz" : {
                            "default" : 0,
                            "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
@@ -3883,7 +4045,15 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "protected" : {
+                           "description" : "If true, mark backup(s) as protected.",
+                           "optional" : 1,
+                           "requires" : "storage",
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
                         "prune-backups" : {
+                           "default" : "keep-all=1",
                            "description" : "Use these retention options instead of those from the storage configuration.",
                            "format" : "prune-backups",
                            "optional" : 1,
@@ -3899,27 +4069,35 @@ var pveapi = [
                         },
                         "remove" : {
                            "default" : 1,
-                           "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
+                           "description" : "Prune older backups according to 'prune-backups'.",
                            "optional" : 1,
                            "type" : "boolean",
                            "typetext" : "<boolean>"
                         },
-                        "script" : {
-                           "description" : "Use specified hook script.",
+                        "repeat-missed" : {
+                           "default" : 0,
+                           "description" : "If true, the job will be run as soon as possible if it was missed while the scheduler was not running.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "schedule" : {
+                           "description" : "Backup schedule. The format is a subset of `systemd` calendar events.",
+                           "format" : "pve-calendar-event",
+                           "maxLength" : 128,
                            "optional" : 1,
                            "type" : "string",
                            "typetext" : "<string>"
                         },
-                        "size" : {
-                           "default" : 1024,
-                           "description" : "Unused, will be removed in a future release.",
-                           "minimum" : 500,
+                        "script" : {
+                           "description" : "Use specified hook script.",
                            "optional" : 1,
-                           "type" : "integer",
-                           "typetext" : "<integer> (500 - N)"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "starttime" : {
                            "description" : "Job Start time.",
+                           "optional" : 1,
                            "pattern" : "\\d{1,2}:\\d{1,2}",
                            "type" : "string",
                            "typetext" : "HH:MM"
@@ -4046,29 +4224,43 @@ var pveapi = [
                      }
                   },
                   "leaf" : 1,
-                  "path" : "/cluster/backupinfo/not_backed_up",
-                  "text" : "not_backed_up"
+                  "path" : "/cluster/backup-info/not-backed-up",
+                  "text" : "not-backed-up"
                }
             ],
             "info" : {
                "GET" : {
                   "allowtoken" : 1,
-                  "description" : "Stub, waits for future use.",
+                  "description" : "Index for backup info related endpoints",
                   "method" : "GET",
-                  "name" : "get_backupinfo",
+                  "name" : "index",
                   "parameters" : {
                      "additionalProperties" : 0
                   },
-                  "protected" : 1,
                   "returns" : {
-                     "description" : "Shows stub message",
-                     "type" : "string"
+                     "description" : "Directory index.",
+                     "items" : {
+                        "properties" : {
+                           "subdir" : {
+                              "description" : "API sub-directory endpoint",
+                              "type" : "string"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{subdir}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
                   }
                }
             },
             "leaf" : 0,
-            "path" : "/cluster/backupinfo",
-            "text" : "backupinfo"
+            "path" : "/cluster/backup-info",
+            "text" : "backup-info"
          },
          {
             "children" : [
@@ -4966,13 +5158,18 @@ var pveapi = [
                                     "api" : {
                                        "description" : "API plugin name",
                                        "enum" : [
+                                          "1984hosting",
                                           "acmedns",
                                           "acmeproxy",
                                           "active24",
                                           "ad",
                                           "ali",
+                                          "anx",
+                                          "arvan",
+                                          "aurora",
                                           "autodns",
                                           "aws",
+                                          "azion",
                                           "azure",
                                           "cf",
                                           "clouddns",
@@ -5000,6 +5197,7 @@ var pveapi = [
                                           "dynu",
                                           "dynv6",
                                           "easydns",
+                                          "edgedns",
                                           "euserv",
                                           "exoscale",
                                           "freedns",
@@ -5008,13 +5206,19 @@ var pveapi = [
                                           "gd",
                                           "gdnsdk",
                                           "he",
+                                          "hetzner",
                                           "hexonet",
                                           "hostingde",
+                                          "huaweicloud",
                                           "infoblox",
+                                          "infomaniak",
                                           "internetbs",
                                           "inwx",
+                                          "ionos",
                                           "ispconfig",
                                           "jd",
+                                          "joker",
+                                          "kappernet",
                                           "kas",
                                           "kinghost",
                                           "knot",
@@ -5037,31 +5241,44 @@ var pveapi = [
                                           "nederhost",
                                           "neodigit",
                                           "netcup",
+                                          "netlify",
                                           "nic",
+                                          "njalla",
+                                          "nm",
                                           "nsd",
                                           "nsone",
                                           "nsupdate",
                                           "nw",
+                                          "oci",
                                           "one",
                                           "online",
                                           "openprovider",
+                                          "openstack",
                                           "opnsense",
                                           "ovh",
                                           "pdns",
                                           "pleskxml",
                                           "pointhq",
+                                          "porkbun",
+                                          "rackcorp",
                                           "rackspace",
                                           "rcode0",
                                           "regru",
+                                          "scaleway",
                                           "schlundtech",
                                           "selectel",
                                           "servercow",
+                                          "simply",
                                           "tele3",
+                                          "transip",
                                           "ultra",
                                           "unoeuro",
                                           "variomedia",
+                                          "veesp",
                                           "vscale",
                                           "vultr",
+                                          "websupport",
+                                          "world4you",
                                           "yandex",
                                           "zilore",
                                           "zone",
@@ -5203,13 +5420,18 @@ var pveapi = [
                               "api" : {
                                  "description" : "API plugin name",
                                  "enum" : [
+                                    "1984hosting",
                                     "acmedns",
                                     "acmeproxy",
                                     "active24",
                                     "ad",
                                     "ali",
+                                    "anx",
+                                    "arvan",
+                                    "aurora",
                                     "autodns",
                                     "aws",
+                                    "azion",
                                     "azure",
                                     "cf",
                                     "clouddns",
@@ -5237,6 +5459,7 @@ var pveapi = [
                                     "dynu",
                                     "dynv6",
                                     "easydns",
+                                    "edgedns",
                                     "euserv",
                                     "exoscale",
                                     "freedns",
@@ -5245,13 +5468,19 @@ var pveapi = [
                                     "gd",
                                     "gdnsdk",
                                     "he",
+                                    "hetzner",
                                     "hexonet",
                                     "hostingde",
+                                    "huaweicloud",
                                     "infoblox",
+                                    "infomaniak",
                                     "internetbs",
                                     "inwx",
+                                    "ionos",
                                     "ispconfig",
                                     "jd",
+                                    "joker",
+                                    "kappernet",
                                     "kas",
                                     "kinghost",
                                     "knot",
@@ -5274,31 +5503,44 @@ var pveapi = [
                                     "nederhost",
                                     "neodigit",
                                     "netcup",
+                                    "netlify",
                                     "nic",
+                                    "njalla",
+                                    "nm",
                                     "nsd",
                                     "nsone",
                                     "nsupdate",
                                     "nw",
+                                    "oci",
                                     "one",
                                     "online",
                                     "openprovider",
+                                    "openstack",
                                     "opnsense",
                                     "ovh",
                                     "pdns",
                                     "pleskxml",
                                     "pointhq",
+                                    "porkbun",
+                                    "rackcorp",
                                     "rackspace",
                                     "rcode0",
                                     "regru",
+                                    "scaleway",
                                     "schlundtech",
                                     "selectel",
                                     "servercow",
+                                    "simply",
                                     "tele3",
+                                    "transip",
                                     "ultra",
                                     "unoeuro",
                                     "variomedia",
+                                    "veesp",
                                     "vscale",
                                     "vultr",
+                                    "websupport",
+                                    "world4you",
                                     "yandex",
                                     "zilore",
                                     "zone",
@@ -6052,11 +6294,393 @@ var pveapi = [
             "path" : "/cluster/ceph",
             "text" : "ceph"
          },
+         {
+            "children" : [
+               {
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Returns a list of future schedule runtimes.",
+                        "method" : "GET",
+                        "name" : "schedule-analyze",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "iterations" : {
+                                 "default" : 10,
+                                 "description" : "Number of event-iteration to simulate and return.",
+                                 "maximum" : 100,
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - 100)"
+                              },
+                              "schedule" : {
+                                 "description" : "Job schedule. The format is a subset of `systemd` calendar events.",
+                                 "format" : "pve-calendar-event",
+                                 "maxLength" : 128,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "starttime" : {
+                                 "description" : "UNIX timestamp to start the calculation from. Defaults to the current time.",
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "user" : "all"
+                        },
+                        "returns" : {
+                           "description" : "An array of the next <iterations> events since <starttime>.",
+                           "items" : {
+                              "properties" : {
+                                 "timestamp" : {
+                                    "description" : "UNIX timestamp for the run.",
+                                    "type" : "integer"
+                                 },
+                                 "utc" : {
+                                    "description" : "UTC timestamp for the run.",
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/jobs/schedule-analyze",
+                  "text" : "schedule-analyze"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "allowtoken" : 1,
+                  "description" : "Index for jobs related endpoints.",
+                  "method" : "GET",
+                  "name" : "index",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "user" : "all"
+                  },
+                  "returns" : {
+                     "description" : "Directory index.",
+                     "items" : {
+                        "properties" : {
+                           "subdir" : {
+                              "description" : "API sub-directory endpoint",
+                              "type" : "string"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{subdir}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/cluster/jobs",
+            "text" : "jobs"
+         },
          {
             "children" : [
                {
                   "children" : [
                      {
+                        "children" : [
+                           {
+                              "children" : [
+                                 {
+                                    "info" : {
+                                       "DELETE" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Delete sdn subnet object configuration.",
+                                          "method" : "DELETE",
+                                          "name" : "delete",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "subnet" : {
+                                                   "description" : "The SDN subnet object identifier.",
+                                                   "format" : "pve-sdn-subnet-id",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vnet" : {
+                                                   "description" : "The SDN vnet object identifier.",
+                                                   "format" : "pve-sdn-vnet-id",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/sdn/vnets/{vnet}/subnets",
+                                                [
+                                                   "SDN.Allocate"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "returns" : {
+                                             "type" : "null"
+                                          }
+                                       },
+                                       "GET" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Read sdn subnet configuration.",
+                                          "method" : "GET",
+                                          "name" : "read",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "pending" : {
+                                                   "description" : "Display pending config.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "running" : {
+                                                   "description" : "Display running config.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "subnet" : {
+                                                   "description" : "The SDN subnet object identifier.",
+                                                   "format" : "pve-sdn-subnet-id",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vnet" : {
+                                                   "description" : "The SDN vnet object identifier.",
+                                                   "format" : "pve-sdn-vnet-id",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/sdn/vnets/{vnet}/subnets/{subnet}",
+                                                [
+                                                   "SDN.Allocate"
+                                                ]
+                                             ]
+                                          },
+                                          "returns" : {
+                                             "type" : "object"
+                                          }
+                                       },
+                                       "PUT" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Update sdn subnet object configuration.",
+                                          "method" : "PUT",
+                                          "name" : "update",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "delete" : {
+                                                   "description" : "A list of settings you want to delete.",
+                                                   "format" : "pve-configid-list",
+                                                   "maxLength" : 4096,
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "digest" : {
+                                                   "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                                   "maxLength" : 40,
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "dnszoneprefix" : {
+                                                   "description" : "dns domain zone prefix  ex: 'adm' -> <hostname>.adm.mydomain.com",
+                                                   "format" : "dns-name",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "gateway" : {
+                                                   "description" : "Subnet Gateway: Will be assign on vnet for layer3 zones",
+                                                   "format" : "ip",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "snat" : {
+                                                   "description" : "enable masquerade for this subnet if pve-firewall",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "subnet" : {
+                                                   "description" : "The SDN subnet object identifier.",
+                                                   "format" : "pve-sdn-subnet-id",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "vnet" : {
+                                                   "description" : "associated vnet",
+                                                   "optional" : 1,
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                }
+                                             },
+                                             "type" : "object"
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/sdn/vnets/{vnet}/subnets",
+                                                [
+                                                   "SDN.Allocate"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "returns" : {
+                                             "type" : "null"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/cluster/sdn/vnets/{vnet}/subnets/{subnet}",
+                                    "text" : "{subnet}"
+                                 }
+                              ],
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "SDN subnets index.",
+                                    "method" : "GET",
+                                    "name" : "index",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "pending" : {
+                                             "description" : "Display pending config.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "running" : {
+                                             "description" : "Display running config.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "vnet" : {
+                                             "description" : "The SDN vnet object identifier.",
+                                             "format" : "pve-sdn-vnet-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/subnets/<subnet>'",
+                                       "user" : "all"
+                                    },
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {},
+                                          "type" : "object"
+                                       },
+                                       "links" : [
+                                          {
+                                             "href" : "{subnet}",
+                                             "rel" : "child"
+                                          }
+                                       ],
+                                       "type" : "array"
+                                    }
+                                 },
+                                 "POST" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Create a new sdn subnet object.",
+                                    "method" : "POST",
+                                    "name" : "create",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "dnszoneprefix" : {
+                                             "description" : "dns domain zone prefix  ex: 'adm' -> <hostname>.adm.mydomain.com",
+                                             "format" : "dns-name",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "gateway" : {
+                                             "description" : "Subnet Gateway: Will be assign on vnet for layer3 zones",
+                                             "format" : "ip",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "snat" : {
+                                             "description" : "enable masquerade for this subnet if pve-firewall",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "subnet" : {
+                                             "description" : "The SDN subnet object identifier.",
+                                             "format" : "pve-sdn-subnet-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "type" : {
+                                             "enum" : [
+                                                "subnet"
+                                             ],
+                                             "type" : "string"
+                                          },
+                                          "vnet" : {
+                                             "description" : "associated vnet",
+                                             "optional" : 0,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/sdn/vnets/{vnet}/subnets",
+                                          [
+                                             "SDN.Allocate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 0,
+                              "path" : "/cluster/sdn/vnets/{vnet}/subnets",
+                              "text" : "subnets"
+                           }
+                        ],
                         "info" : {
                            "DELETE" : {
                               "allowtoken" : 1,
@@ -6096,6 +6720,18 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "pending" : {
+                                       "description" : "Display pending config.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "running" : {
+                                       "description" : "Display running config.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "vnet" : {
                                        "description" : "The SDN vnet object identifier.",
                                        "format" : "pve-sdn-vnet-id",
@@ -6127,9 +6763,10 @@ var pveapi = [
                                  "properties" : {
                                     "alias" : {
                                        "description" : "alias name of the vnet",
+                                       "maxLength" : 256,
                                        "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
+                                       "pattern" : "(?^i:[\\(\\)-_.\\w\\d\\s]{0,256})",
+                                       "type" : "string"
                                     },
                                     "delete" : {
                                        "description" : "A list of settings you want to delete.",
@@ -6146,27 +6783,6 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "ipv4" : {
-                                       "description" : "Anycast router ipv4 address.",
-                                       "format" : "CIDRv4",
-                                       "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    },
-                                    "ipv6" : {
-                                       "description" : "Anycast router ipv6 address.",
-                                       "format" : "CIDRv6",
-                                       "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    },
-                                    "mac" : {
-                                       "description" : "Anycast router mac address",
-                                       "format" : "mac-addr",
-                                       "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    },
                                     "tag" : {
                                        "description" : "vlan or vxlan id",
                                        "optional" : 1,
@@ -6209,7 +6825,7 @@ var pveapi = [
                               }
                            }
                         },
-                        "leaf" : 1,
+                        "leaf" : 0,
                         "path" : "/cluster/sdn/vnets/{vnet}",
                         "text" : "{vnet}"
                      }
@@ -6221,7 +6837,21 @@ var pveapi = [
                         "method" : "GET",
                         "name" : "index",
                         "parameters" : {
-                           "additionalProperties" : 0
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "pending" : {
+                                 "description" : "Display pending config.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "running" : {
+                                 "description" : "Display running config.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              }
+                           }
                         },
                         "permissions" : {
                            "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'",
@@ -6251,30 +6881,10 @@ var pveapi = [
                            "properties" : {
                               "alias" : {
                                  "description" : "alias name of the vnet",
+                                 "maxLength" : 256,
                                  "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "ipv4" : {
-                                 "description" : "Anycast router ipv4 address.",
-                                 "format" : "CIDRv4",
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "ipv6" : {
-                                 "description" : "Anycast router ipv6 address.",
-                                 "format" : "CIDRv6",
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "mac" : {
-                                 "description" : "Anycast router mac address",
-                                 "format" : "mac-addr",
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
+                                 "pattern" : "(?^i:[\\(\\)-_.\\w\\d\\s]{0,256})",
+                                 "type" : "string"
                               },
                               "tag" : {
                                  "description" : "vlan or vxlan id",
@@ -6372,6 +6982,18 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "pending" : {
+                                       "description" : "Display pending config.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "running" : {
+                                       "description" : "Display running config.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "zone" : {
                                        "description" : "The SDN zone object identifier.",
                                        "format" : "pve-sdn-zone-id",
@@ -6401,11 +7023,23 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "advertise-subnets" : {
+                                       "description" : "Advertise evpn subnets if you have silent hosts",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "bridge" : {
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "bridge-disable-mac-learning" : {
+                                       "description" : "Disable auto mac learning.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "controller" : {
                                        "description" : "Frr router name",
                                        "optional" : 1,
@@ -6427,12 +7061,64 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "disable-arp-nd-suppression" : {
+                                       "description" : "Disable ipv4 arp && ipv6 neighbour discovery suppression",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "dns" : {
+                                       "description" : "dns api server",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "dnszone" : {
+                                       "description" : "dns domain zone  ex: mydomain.com",
+                                       "format" : "dns-name",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "dp-id" : {
                                        "description" : "Faucet dataplane id",
                                        "optional" : 1,
                                        "type" : "integer",
                                        "typetext" : "<integer>"
                                     },
+                                    "exitnodes" : {
+                                       "description" : "List of cluster node names.",
+                                       "format" : "pve-node-list",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "exitnodes-local-routing" : {
+                                       "description" : "Allow exitnodes to connect to evpn guests",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "exitnodes-primary" : {
+                                       "description" : "Force traffic to this exitnode first.",
+                                       "format" : "pve-node",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "ipam" : {
+                                       "description" : "use a specific ipam",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "mac" : {
+                                       "description" : "Anycast logical router mac address",
+                                       "format" : "mac-addr",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "mtu" : {
                                        "description" : "MTU",
                                        "optional" : 1,
@@ -6453,6 +7139,19 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "reversedns" : {
+                                       "description" : "reverse dns api server",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "rt-import" : {
+                                       "description" : "Route-Target import",
+                                       "format" : "pve-sdn-bgp-rt-list",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "tag" : {
                                        "description" : "Service-VLAN Tag",
                                        "minimum" : 0,
@@ -6513,8 +7212,20 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "pending" : {
+                                 "description" : "Display pending config.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "running" : {
+                                 "description" : "Display running config.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "type" : {
-                                 "description" : "Only list sdn zones of specific type",
+                                 "description" : "Only list SDN zones of specific type",
                                  "enum" : [
                                     "evpn",
                                     "faucet",
@@ -6535,6 +7246,37 @@ var pveapi = [
                         "returns" : {
                            "items" : {
                               "properties" : {
+                                 "dns" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
+                                 "dnszone" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
+                                 "ipam" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
+                                 "mtu" : {
+                                    "optional" : 1,
+                                    "type" : "integer"
+                                 },
+                                 "nodes" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
+                                 "pending" : {
+                                    "optional" : 1
+                                 },
+                                 "reversedns" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
+                                 "state" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "type" : {
                                     "type" : "string"
                                  },
@@ -6561,23 +7303,87 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "advertise-subnets" : {
+                                 "description" : "Advertise evpn subnets if you have silent hosts",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "bridge" : {
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "bridge-disable-mac-learning" : {
+                                 "description" : "Disable auto mac learning.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "controller" : {
                                  "description" : "Frr router name",
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "disable-arp-nd-suppression" : {
+                                 "description" : "Disable ipv4 arp && ipv6 neighbour discovery suppression",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "dns" : {
+                                 "description" : "dns api server",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "dnszone" : {
+                                 "description" : "dns domain zone  ex: mydomain.com",
+                                 "format" : "dns-name",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "dp-id" : {
                                  "description" : "Faucet dataplane id",
                                  "optional" : 1,
                                  "type" : "integer",
                                  "typetext" : "<integer>"
                               },
+                              "exitnodes" : {
+                                 "description" : "List of cluster node names.",
+                                 "format" : "pve-node-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "exitnodes-local-routing" : {
+                                 "description" : "Allow exitnodes to connect to evpn guests",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "exitnodes-primary" : {
+                                 "description" : "Force traffic to this exitnode first.",
+                                 "format" : "pve-node",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "ipam" : {
+                                 "description" : "use a specific ipam",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "mac" : {
+                                 "description" : "Anycast logical router mac address",
+                                 "format" : "mac-addr",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "mtu" : {
                                  "description" : "MTU",
                                  "optional" : 1,
@@ -6598,6 +7404,19 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "reversedns" : {
+                                 "description" : "reverse dns api server",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "rt-import" : {
+                                 "description" : "Route-Target import",
+                                 "format" : "pve-sdn-bgp-rt-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "tag" : {
                                  "description" : "Service-VLAN Tag",
                                  "minimum" : 0,
@@ -6708,6 +7527,18 @@ var pveapi = [
                                        "format" : "pve-sdn-controller-id",
                                        "type" : "string",
                                        "typetext" : "<string>"
+                                    },
+                                    "pending" : {
+                                       "description" : "Display pending config.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "running" : {
+                                       "description" : "Display running config.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     }
                                  }
                               },
@@ -6734,9 +7565,16 @@ var pveapi = [
                                  "properties" : {
                                     "asn" : {
                                        "description" : "autonomous system number",
+                                       "maximum" : 4294967296,
+                                       "minimum" : 0,
                                        "optional" : 1,
                                        "type" : "integer",
-                                       "typetext" : "<integer>"
+                                       "typetext" : "<integer> (0 - 4294967296)"
+                                    },
+                                    "bgp-multipath-as-path-relax" : {
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
                                     },
                                     "controller" : {
                                        "description" : "The SDN controller object identifier.",
@@ -6759,16 +7597,26 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "gateway-external-peers" : {
-                                       "description" : "upstream bgp peers address list.",
-                                       "format" : "ip-list",
+                                    "ebgp" : {
+                                       "description" : "Enable ebgp. (remote-as external)",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "ebgp-multihop" : {
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer>"
+                                    },
+                                    "loopback" : {
+                                       "description" : "source loopback interface.",
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "gateway-nodes" : {
-                                       "description" : "List of cluster node names.",
-                                       "format" : "pve-node-list",
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
@@ -6812,9 +7660,22 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "pending" : {
+                                 "description" : "Display pending config.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "running" : {
+                                 "description" : "Display running config.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "type" : {
                                  "description" : "Only list sdn controllers of specific type",
                                  "enum" : [
+                                    "bgp",
                                     "evpn",
                                     "faucet"
                                  ],
@@ -6833,6 +7694,13 @@ var pveapi = [
                                  "controller" : {
                                     "type" : "string"
                                  },
+                                 "pending" : {
+                                    "optional" : 1
+                                 },
+                                 "state" : {
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "type" : {
                                     "type" : "string"
                                  }
@@ -6858,9 +7726,16 @@ var pveapi = [
                            "properties" : {
                               "asn" : {
                                  "description" : "autonomous system number",
+                                 "maximum" : 4294967296,
+                                 "minimum" : 0,
                                  "optional" : 1,
                                  "type" : "integer",
-                                 "typetext" : "<integer>"
+                                 "typetext" : "<integer> (0 - 4294967296)"
+                              },
+                              "bgp-multipath-as-path-relax" : {
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               },
                               "controller" : {
                                  "description" : "The SDN controller object identifier.",
@@ -6868,16 +7743,26 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
-                              "gateway-external-peers" : {
-                                 "description" : "upstream bgp peers address list.",
-                                 "format" : "ip-list",
+                              "ebgp" : {
+                                 "description" : "Enable ebgp. (remote-as external)",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "ebgp-multihop" : {
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              },
+                              "loopback" : {
+                                 "description" : "source loopback interface.",
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
-                              "gateway-nodes" : {
-                                 "description" : "List of cluster node names.",
-                                 "format" : "pve-node-list",
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -6892,6 +7777,7 @@ var pveapi = [
                               "type" : {
                                  "description" : "Plugin type.",
                                  "enum" : [
+                                    "bgp",
                                     "evpn",
                                     "faucet"
                                  ],
@@ -6919,6 +7805,491 @@ var pveapi = [
                   "leaf" : 0,
                   "path" : "/cluster/sdn/controllers",
                   "text" : "controllers"
+               },
+               {
+                  "children" : [
+                     {
+                        "info" : {
+                           "DELETE" : {
+                              "allowtoken" : 1,
+                              "description" : "Delete sdn ipam object configuration.",
+                              "method" : "DELETE",
+                              "name" : "delete",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "ipam" : {
+                                       "description" : "The SDN ipam object identifier.",
+                                       "format" : "pve-sdn-ipam-id",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/sdn/ipams",
+                                    [
+                                       "SDN.Allocate"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           },
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Read sdn ipam configuration.",
+                              "method" : "GET",
+                              "name" : "read",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "ipam" : {
+                                       "description" : "The SDN ipam object identifier.",
+                                       "format" : "pve-sdn-ipam-id",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/sdn/ipams/{ipam}",
+                                    [
+                                       "SDN.Allocate"
+                                    ]
+                                 ]
+                              },
+                              "returns" : {
+                                 "type" : "object"
+                              }
+                           },
+                           "PUT" : {
+                              "allowtoken" : 1,
+                              "description" : "Update sdn ipam object configuration.",
+                              "method" : "PUT",
+                              "name" : "update",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "delete" : {
+                                       "description" : "A list of settings you want to delete.",
+                                       "format" : "pve-configid-list",
+                                       "maxLength" : 4096,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "digest" : {
+                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                       "maxLength" : 40,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "ipam" : {
+                                       "description" : "The SDN ipam object identifier.",
+                                       "format" : "pve-sdn-ipam-id",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "section" : {
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer>"
+                                    },
+                                    "token" : {
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "url" : {
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/sdn/ipams",
+                                    [
+                                       "SDN.Allocate"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/cluster/sdn/ipams/{ipam}",
+                        "text" : "{ipam}"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "SDN ipams index.",
+                        "method" : "GET",
+                        "name" : "index",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "type" : {
+                                 "description" : "Only list sdn ipams of specific type",
+                                 "enum" : [
+                                    "netbox",
+                                    "phpipam",
+                                    "pve"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/ipams/<ipam>'",
+                           "user" : "all"
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "ipam" : {
+                                    "type" : "string"
+                                 },
+                                 "type" : {
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{ipam}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     },
+                     "POST" : {
+                        "allowtoken" : 1,
+                        "description" : "Create a new sdn ipam object.",
+                        "method" : "POST",
+                        "name" : "create",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "ipam" : {
+                                 "description" : "The SDN ipam object identifier.",
+                                 "format" : "pve-sdn-ipam-id",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "section" : {
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              },
+                              "token" : {
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "type" : {
+                                 "description" : "Plugin type.",
+                                 "enum" : [
+                                    "netbox",
+                                    "phpipam",
+                                    "pve"
+                                 ],
+                                 "format" : "pve-configid",
+                                 "type" : "string"
+                              },
+                              "url" : {
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           },
+                           "type" : "object"
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/sdn/ipams",
+                              [
+                                 "SDN.Allocate"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/cluster/sdn/ipams",
+                  "text" : "ipams"
+               },
+               {
+                  "children" : [
+                     {
+                        "info" : {
+                           "DELETE" : {
+                              "allowtoken" : 1,
+                              "description" : "Delete sdn dns object configuration.",
+                              "method" : "DELETE",
+                              "name" : "delete",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "dns" : {
+                                       "description" : "The SDN dns object identifier.",
+                                       "format" : "pve-sdn-dns-id",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/sdn/dns",
+                                    [
+                                       "SDN.Allocate"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           },
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Read sdn dns configuration.",
+                              "method" : "GET",
+                              "name" : "read",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "dns" : {
+                                       "description" : "The SDN dns object identifier.",
+                                       "format" : "pve-sdn-dns-id",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/sdn/dns/{dns}",
+                                    [
+                                       "SDN.Allocate"
+                                    ]
+                                 ]
+                              },
+                              "returns" : {
+                                 "type" : "object"
+                              }
+                           },
+                           "PUT" : {
+                              "allowtoken" : 1,
+                              "description" : "Update sdn dns object configuration.",
+                              "method" : "PUT",
+                              "name" : "update",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "delete" : {
+                                       "description" : "A list of settings you want to delete.",
+                                       "format" : "pve-configid-list",
+                                       "maxLength" : 4096,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "digest" : {
+                                       "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                       "maxLength" : 40,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "dns" : {
+                                       "description" : "The SDN dns object identifier.",
+                                       "format" : "pve-sdn-dns-id",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "key" : {
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "reversemaskv6" : {
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer>"
+                                    },
+                                    "ttl" : {
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer>"
+                                    },
+                                    "url" : {
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/sdn/dns",
+                                    [
+                                       "SDN.Allocate"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/cluster/sdn/dns/{dns}",
+                        "text" : "{dns}"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "SDN dns index.",
+                        "method" : "GET",
+                        "name" : "index",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "type" : {
+                                 "description" : "Only list sdn dns of specific type",
+                                 "enum" : [
+                                    "powerdns"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/dns/<dns>'",
+                           "user" : "all"
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {
+                                 "dns" : {
+                                    "type" : "string"
+                                 },
+                                 "type" : {
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{dns}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     },
+                     "POST" : {
+                        "allowtoken" : 1,
+                        "description" : "Create a new sdn dns object.",
+                        "method" : "POST",
+                        "name" : "create",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "dns" : {
+                                 "description" : "The SDN dns object identifier.",
+                                 "format" : "pve-sdn-dns-id",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "key" : {
+                                 "optional" : 0,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "reversemaskv6" : {
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              },
+                              "reversev6mask" : {
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              },
+                              "ttl" : {
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              },
+                              "type" : {
+                                 "description" : "Plugin type.",
+                                 "enum" : [
+                                    "powerdns"
+                                 ],
+                                 "format" : "pve-configid",
+                                 "type" : "string"
+                              },
+                              "url" : {
+                                 "optional" : 0,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           },
+                           "type" : "object"
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/sdn/dns",
+                              [
+                                 "SDN.Allocate"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/cluster/sdn/dns",
+                  "text" : "dns"
                }
             ],
             "info" : {
@@ -7101,12 +8472,22 @@ var pveapi = [
                               "renderer" : "bytes",
                               "type" : "string"
                            },
+                           "name" : {
+                              "description" : "Name of the resource.",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
                            "node" : {
                               "description" : "The cluster node name (when type in node,storage,qemu,lxc).",
                               "format" : "pve-node",
                               "optional" : 1,
                               "type" : "string"
                            },
+                           "plugintype" : {
+                              "description" : "More specific type, if available.",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
                            "pool" : {
                               "description" : "The pool name (when type in pool,qemu,lxc).",
                               "optional" : 1,
@@ -7275,6 +8656,13 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "description" : {
+                           "description" : "Datacenter description. Shown in the web-interface datacenter notes panel. This is saved as comment inside the configuration file.",
+                           "maxLength" : 65536,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "email_from" : {
                            "description" : "Specify email address to send notification from (default is root@$hostname)",
                            "format" : "email-opt",
@@ -7424,6 +8812,30 @@ var pveapi = [
                            "type" : "boolean",
                            "typetext" : "<boolean>"
                         },
+                        "next-id" : {
+                           "description" : "Control the range for the free VMID auto-selection pool.",
+                           "format" : {
+                              "lower" : {
+                                 "default" : 100,
+                                 "description" : "Lower, inclusive boundary for free next-id API range.",
+                                 "max" : 999999999,
+                                 "min" : 100,
+                                 "optional" : 1,
+                                 "type" : "integer"
+                              },
+                              "upper" : {
+                                 "default" : 1000000,
+                                 "description" : "Upper, exclusive boundary for free next-id API range.",
+                                 "max" : 1000000000,
+                                 "min" : 100,
+                                 "optional" : 1,
+                                 "type" : "integer"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[lower=<integer>] [,upper=<integer>]"
+                        },
                         "u2f" : {
                            "description" : "u2f",
                            "format" : {
@@ -7443,6 +8855,32 @@ var pveapi = [
                            "optional" : 1,
                            "type" : "string",
                            "typetext" : "[appid=<APPID>] [,origin=<URL>]"
+                        },
+                        "webauthn" : {
+                           "description" : "webauthn configuration",
+                           "format" : {
+                              "id" : {
+                                 "description" : "Relying part ID. Must be the domain name without protocol, port or location. Changing this *will* break existing credentials.",
+                                 "format_description" : "DOMAINNAME",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "origin" : {
+                                 "description" : "Site origin. Must be a `https://` URL (or `http://localhost`). Should contain the address users type in their browsers to access the web interface. Changing this *may* break existing credentials.",
+                                 "format_description" : "URL",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "rp" : {
+                                 "description" : "Relying party name. Any text identifier. Changing this *may* break existing credentials.",
+                                 "format_description" : "RELYING_PARTY",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[id=<DOMAINNAME>] [,origin=<URL>] [,rp=<RELYING_PARTY>]"
                         }
                      }
                   },
@@ -7557,7 +8995,7 @@ var pveapi = [
             "info" : {
                "GET" : {
                   "allowtoken" : 1,
-                  "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
+                  "description" : "Get next free VMID. Pass a VMID to assert that its free (at time of check).",
                   "method" : "GET",
                   "name" : "nextid",
                   "parameters" : {
@@ -7831,6 +9269,7 @@ var pveapi = [
                                                       "dest" : {
                                                          "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                          "format" : "pve-fw-addr-spec",
+                                                         "maxLength" : 512,
                                                          "optional" : 1,
                                                          "type" : "string",
                                                          "typetext" : "<string>"
@@ -7925,6 +9364,7 @@ var pveapi = [
                                                       "source" : {
                                                          "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                          "format" : "pve-fw-addr-spec",
+                                                         "maxLength" : 512,
                                                          "optional" : 1,
                                                          "type" : "string",
                                                          "typetext" : "<string>"
@@ -8053,6 +9493,7 @@ var pveapi = [
                                                 "dest" : {
                                                    "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                    "format" : "pve-fw-addr-spec",
+                                                   "maxLength" : 512,
                                                    "optional" : 1,
                                                    "type" : "string",
                                                    "typetext" : "<string>"
@@ -8140,6 +9581,7 @@ var pveapi = [
                                                 "source" : {
                                                    "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                    "format" : "pve-fw-addr-spec",
+                                                   "maxLength" : 512,
                                                    "optional" : 1,
                                                    "type" : "string",
                                                    "typetext" : "<string>"
@@ -9077,7 +10519,7 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "macfilter" : {
-                                                   "default" : 0,
+                                                   "default" : 1,
                                                    "description" : "Enable/disable MAC address filter.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
@@ -9192,7 +10634,7 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "macfilter" : {
-                                                   "default" : 0,
+                                                   "default" : 1,
                                                    "description" : "Enable/disable MAC address filter.",
                                                    "optional" : 1,
                                                    "type" : "boolean",
@@ -10670,6 +12112,13 @@ var pveapi = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "encode" : {
+                                                   "default" : 1,
+                                                   "description" : "If set, the content will be encoded as base64 (required by QEMU).Otherwise the content needs to be encoded beforehand - defaults to true.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
                                                 "file" : {
                                                    "description" : "The path to the file.",
                                                    "type" : "string",
@@ -11027,17 +12476,17 @@ var pveapi = [
                                              "type" : "boolean"
                                           },
                                           "agent" : {
-                                             "description" : "Enable/disable Qemu GuestAgent and its properties.",
+                                             "description" : "Enable/disable communication with the Qemu Guest Agent and its properties.",
                                              "format" : {
                                                 "enabled" : {
                                                    "default" : 0,
                                                    "default_key" : 1,
-                                                   "description" : "Enable/disable Qemu GuestAgent.",
+                                                   "description" : "Enable/disable communication with a Qemu Guest Agent (QGA) running in the VM.",
                                                    "type" : "boolean"
                                                 },
                                                 "fstrim_cloned_disks" : {
                                                    "default" : 0,
-                                                   "description" : "Run fstrim after cloning/moving a disk.",
+                                                   "description" : "Run fstrim after moving a disk or migrating the VM.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -11086,7 +12535,8 @@ var pveapi = [
                                                    "default" : "spice",
                                                    "description" : "Driver backend for the audio device.",
                                                    "enum" : [
-                                                      "spice"
+                                                      "spice",
+                                                      "none"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -11118,7 +12568,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "boot" : {
-                                             "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
+                                             "description" : "Specify guest boot order. Use the 'order=' sub-property as usage with no key or 'legacy=' is deprecated.",
                                              "format" : "pve-qm-boot",
                                              "optional" : 1,
                                              "type" : "string"
@@ -11152,7 +12602,8 @@ var pveapi = [
                                              "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
                                              "enum" : [
                                                 "configdrive2",
-                                                "nocloud"
+                                                "nocloud",
+                                                "opennebula"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -11185,16 +12636,17 @@ var pveapi = [
                                              "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
                                           },
                                           "cpuunits" : {
-                                             "default" : 1024,
-                                             "description" : "CPU weight for a VM.",
+                                             "default" : "cgroup v1: 1024, cgroup v2: 100",
+                                             "description" : "CPU weight for a VM, will be clamped to [1, 10000] in cgroup v2.",
                                              "maximum" : 262144,
-                                             "minimum" : 2,
+                                             "minimum" : 1,
                                              "optional" : 1,
                                              "type" : "integer",
                                              "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
                                           },
                                           "description" : {
-                                             "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+                                             "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
+                                             "maxLength" : 8192,
                                              "optional" : 1,
                                              "type" : "string"
                                           },
@@ -11203,8 +12655,18 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "efidisk0" : {
-                                             "description" : "Configure a Disk for storing EFI vars",
+                                             "description" : "Configure a Disk for storing EFI vars.",
                                              "format" : {
+                                                "efitype" : {
+                                                   "default" : "2m",
+                                                   "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified.",
+                                                   "enum" : [
+                                                      "2m",
+                                                      "4m"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "file" : {
                                                    "default_key" : 1,
                                                    "description" : "The drive's backing volume.",
@@ -11226,6 +12688,12 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "pre-enrolled-keys" : {
+                                                   "default" : 0,
+                                                   "description" : "Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with 'efitype=4m'. Note that this will enable Secure Boot by default, though it can still be turned off from within the VM.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
@@ -11260,7 +12728,7 @@ var pveapi = [
                                           },
                                           "hotplug" : {
                                              "default" : "network,disk,usb",
-                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
+                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Using '1' as value is an alias for the default `network,disk,usb`.",
                                              "format" : "pve-hotplug-features",
                                              "optional" : 1,
                                              "type" : "string"
@@ -11282,7 +12750,8 @@ var pveapi = [
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -11600,7 +13069,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "ipconfig[n]" : {
-                                             "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit\ngateway 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\ndhcp on IPv4.\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\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
                                              "format" : "pve-qm-ipconfig",
                                              "optional" : 1,
                                              "type" : "string"
@@ -11632,7 +13101,7 @@ var pveapi = [
                                           },
                                           "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.",
+                                             "description" : "Keyboard layout for VNC server. This option is generally not required and is often better handled from within the guest OS.",
                                              "enum" : [
                                                 "de",
                                                 "de-ch",
@@ -11670,7 +13139,7 @@ var pveapi = [
                                              "type" : "boolean"
                                           },
                                           "localtime" : {
-                                             "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
+                                             "description" : "Set the real time clock (RTC) to local time. This is enabled by default if the `ostype` indicates a Microsoft Windows OS.",
                                              "optional" : 1,
                                              "type" : "boolean"
                                           },
@@ -11725,7 +13194,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "nameserver" : {
-                                             "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t    .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t    .' are set.",
+                                             "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
                                              "format" : "address-list",
                                              "optional" : 1,
                                              "type" : "string"
@@ -11735,9 +13204,9 @@ var pveapi = [
                                              "format" : {
                                                 "bridge" : {
                                                    "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2   Gateway\n 10.0.2.3   DNS Server\n 10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
+                                                   "format" : "pve-bridge-id",
                                                    "format_description" : "bridge",
                                                    "optional" : 1,
-                                                   "pattern" : "[-_.\\w\\d]+",
                                                    "type" : "string"
                                                 },
                                                 "e1000" : {
@@ -11756,6 +13225,10 @@ var pveapi = [
                                                    "alias" : "macaddr",
                                                    "keyAlias" : "model"
                                                 },
+                                                "e1000e" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
                                                 "firewall" : {
                                                    "description" : "Whether this interface should be protected by the firewall.",
                                                    "optional" : 1,
@@ -11790,19 +13263,20 @@ var pveapi = [
                                                    "default_key" : 1,
                                                    "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
                                                    "enum" : [
-                                                      "rtl8139",
-                                                      "ne2k_pci",
                                                       "e1000",
-                                                      "pcnet",
-                                                      "virtio",
-                                                      "ne2k_isa",
+                                                      "e1000-82540em",
+                                                      "e1000-82544gc",
+                                                      "e1000-82545em",
+                                                      "e1000e",
                                                       "i82551",
                                                       "i82557b",
                                                       "i82559er",
-                                                      "vmxnet3",
-                                                      "e1000-82540em",
-                                                      "e1000-82544gc",
-                                                      "e1000-82545em"
+                                                      "ne2k_isa",
+                                                      "ne2k_pci",
+                                                      "pcnet",
+                                                      "rtl8139",
+                                                      "virtio",
+                                                      "vmxnet3"
                                                    ],
                                                    "type" : "string"
                                                 },
@@ -11927,13 +13401,14 @@ var pveapi = [
                                                 "win7",
                                                 "win8",
                                                 "win10",
+                                                "win11",
                                                 "l24",
                                                 "l26",
                                                 "solaris"
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -11959,7 +13434,7 @@ var pveapi = [
                                              "format" : {
                                                 "max_bytes" : {
                                                    "default" : 1024,
-                                                   "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
+                                                   "description" : "Maximum bytes of entropy allowed to get injected into the guest every 'period' milliseconds. Prefer a lower value when using '/dev/random' as source. Use `0` to disable limiting (potentially dangerous!).",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -11971,7 +13446,7 @@ var pveapi = [
                                                 },
                                                 "source" : {
                                                    "default_key" : 1,
-                                                   "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
+                                                   "description" : "The file on the host to gather entropy from. In most cases '/dev/urandom' should be preferred over '/dev/random' to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. '/dev/hwrng' can be used to pass through a hardware RNG from the host.",
                                                    "enum" : [
                                                       "/dev/urandom",
                                                       "/dev/random",
@@ -11990,7 +13465,8 @@ var pveapi = [
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -12306,7 +13782,8 @@ var pveapi = [
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -12554,6 +14031,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "ro" : {
+                                                   "description" : "Whether the drive is read-only.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "scsiblock" : {
                                                    "default" : 0,
                                                    "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
@@ -12647,7 +14129,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "searchdomain" : {
-                                             "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t    .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t    .' are set.",
+                                             "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
                                              "optional" : 1,
                                              "type" : "string"
                                           },
@@ -12757,6 +14239,40 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "boolean"
                                           },
+                                          "tpmstate0" : {
+                                             "description" : "Configure a Disk for storing TPM state. The format is fixed to 'raw'.",
+                                             "format" : {
+                                                "file" : {
+                                                   "default_key" : 1,
+                                                   "description" : "The drive's backing volume.",
+                                                   "format" : "pve-volume-id-or-qm-path",
+                                                   "format_description" : "volume",
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "Disk size. This is purely informational and has no effect.",
+                                                   "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "version" : {
+                                                   "default" : "v2.0",
+                                                   "description" : "The TPM interface version. v2.0 is newer and should be preferred. Note that this cannot be changed later on.",
+                                                   "enum" : [
+                                                      "v1.2",
+                                                      "v2.0"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "volume" : {
+                                                   "alias" : "file"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "unused[n]" : {
                                              "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
                                              "format" : {
@@ -12828,6 +14344,7 @@ var pveapi = [
                                                       "serial3",
                                                       "std",
                                                       "virtio",
+                                                      "virtio-gl",
                                                       "vmware"
                                                    ],
                                                    "optional" : 1,
@@ -12845,7 +14362,8 @@ var pveapi = [
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -13087,6 +14605,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "ro" : {
+                                                   "description" : "Whether the drive is read-only.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
                                                    "optional" : 1,
@@ -13189,17 +14712,17 @@ var pveapi = [
                                              "typetext" : "<boolean>"
                                           },
                                           "agent" : {
-                                             "description" : "Enable/disable Qemu GuestAgent and its properties.",
+                                             "description" : "Enable/disable communication with the Qemu Guest Agent and its properties.",
                                              "format" : {
                                                 "enabled" : {
                                                    "default" : 0,
                                                    "default_key" : 1,
-                                                   "description" : "Enable/disable Qemu GuestAgent.",
+                                                   "description" : "Enable/disable communication with a Qemu Guest Agent (QGA) running in the VM.",
                                                    "type" : "boolean"
                                                 },
                                                 "fstrim_cloned_disks" : {
                                                    "default" : 0,
-                                                   "description" : "Run fstrim after cloning/moving a disk.",
+                                                   "description" : "Run fstrim after moving a disk or migrating the VM.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -13250,7 +14773,8 @@ var pveapi = [
                                                    "default" : "spice",
                                                    "description" : "Driver backend for the audio device.",
                                                    "enum" : [
-                                                      "spice"
+                                                      "spice",
+                                                      "none"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -13258,7 +14782,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
+                                             "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
                                           },
                                           "autostart" : {
                                              "default" : 0,
@@ -13293,7 +14817,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "boot" : {
-                                             "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
+                                             "description" : "Specify guest boot order. Use the 'order=' sub-property as usage with no key or 'legacy=' is deprecated.",
                                              "format" : "pve-qm-boot",
                                              "optional" : 1,
                                              "type" : "string",
@@ -13318,7 +14842,7 @@ var pveapi = [
                                              "format" : "pve-qm-cicustom",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
+                                             "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>] [,vendor=<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.",
@@ -13330,7 +14854,8 @@ var pveapi = [
                                              "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
                                              "enum" : [
                                                 "configdrive2",
-                                                "nocloud"
+                                                "nocloud",
+                                                "opennebula"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -13367,13 +14892,13 @@ var pveapi = [
                                              "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
                                           },
                                           "cpuunits" : {
-                                             "default" : 1024,
-                                             "description" : "CPU weight for a VM.",
+                                             "default" : "cgroup v1: 1024, cgroup v2: 100",
+                                             "description" : "CPU weight for a VM, will be clamped to [1, 10000] in cgroup v2.",
                                              "maximum" : 262144,
-                                             "minimum" : 2,
+                                             "minimum" : 1,
                                              "optional" : 1,
                                              "type" : "integer",
-                                             "typetext" : "<integer> (2 - 262144)",
+                                             "typetext" : "<integer> (1 - 262144)",
                                              "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
                                           },
                                           "delete" : {
@@ -13384,7 +14909,8 @@ var pveapi = [
                                              "typetext" : "<string>"
                                           },
                                           "description" : {
-                                             "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+                                             "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
+                                             "maxLength" : 8192,
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -13397,8 +14923,18 @@ var pveapi = [
                                              "typetext" : "<string>"
                                           },
                                           "efidisk0" : {
-                                             "description" : "Configure a Disk for storing EFI vars",
+                                             "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                              "format" : {
+                                                "efitype" : {
+                                                   "default" : "2m",
+                                                   "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified.",
+                                                   "enum" : [
+                                                      "2m",
+                                                      "4m"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "file" : {
                                                    "default_key" : 1,
                                                    "description" : "The drive's backing volume.",
@@ -13420,6 +14956,19 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "pre-enrolled-keys" : {
+                                                   "default" : 0,
+                                                   "description" : "Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with 'efitype=4m'. Note that this will enable Secure Boot by default, though it can still be turned off from within the VM.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "size" : {
                                                    "description" : "Disk size. This is purely informational and has no effect.",
                                                    "format" : "disk-size",
@@ -13433,7 +14982,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
+                                             "typetext" : "[file=]<volume> [,efitype=<2m|4m>] [,format=<enum>] [,import-from=<source volume>] [,pre-enrolled-keys=<1|0>] [,size=<DiskSize>]"
                                           },
                                           "force" : {
                                              "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
@@ -13460,12 +15009,12 @@ var pveapi = [
                                              "format" : "pve-qm-hostpci",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
+                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,device-id=<hex id>] [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,sub-device-id=<hex id>] [,sub-vendor-id=<hex id>] [,vendor-id=<hex id>] [,x-vga=<1|0>]",
                                              "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                                           },
                                           "hotplug" : {
                                              "default" : "network,disk,usb",
-                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
+                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Using '1' as value is an alias for the default `network,disk,usb`.",
                                              "format" : "pve-hotplug-features",
                                              "optional" : 1,
                                              "type" : "string",
@@ -13482,13 +15031,14 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "ide[n]" : {
-                                             "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
+                                             "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -13600,6 +15150,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "iops" : {
                                                    "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
@@ -13804,10 +15361,10 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,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\ngateway 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\ndhcp on IPv4.\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\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
                                              "format" : "pve-qm-ipconfig",
                                              "optional" : 1,
                                              "type" : "string",
@@ -13842,7 +15399,7 @@ var pveapi = [
                                           },
                                           "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.",
+                                             "description" : "Keyboard layout for VNC server. This option is generally not required and is often better handled from within the guest OS.",
                                              "enum" : [
                                                 "de",
                                                 "de-ch",
@@ -13881,7 +15438,7 @@ var pveapi = [
                                              "typetext" : "<boolean>"
                                           },
                                           "localtime" : {
-                                             "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
+                                             "description" : "Set the real time clock (RTC) to local time. This is enabled by default if the `ostype` indicates a Microsoft Windows OS.",
                                              "optional" : 1,
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
@@ -13941,7 +15498,7 @@ var pveapi = [
                                              "typetext" : "<string>"
                                           },
                                           "nameserver" : {
-                                             "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t    .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t    .' are set.",
+                                             "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
                                              "format" : "address-list",
                                              "optional" : 1,
                                              "type" : "string",
@@ -13952,9 +15509,9 @@ var pveapi = [
                                              "format" : {
                                                 "bridge" : {
                                                    "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2   Gateway\n 10.0.2.3   DNS Server\n 10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
+                                                   "format" : "pve-bridge-id",
                                                    "format_description" : "bridge",
                                                    "optional" : 1,
-                                                   "pattern" : "[-_.\\w\\d]+",
                                                    "type" : "string"
                                                 },
                                                 "e1000" : {
@@ -13973,6 +15530,10 @@ var pveapi = [
                                                    "alias" : "macaddr",
                                                    "keyAlias" : "model"
                                                 },
+                                                "e1000e" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
                                                 "firewall" : {
                                                    "description" : "Whether this interface should be protected by the firewall.",
                                                    "optional" : 1,
@@ -14007,19 +15568,20 @@ var pveapi = [
                                                    "default_key" : 1,
                                                    "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
                                                    "enum" : [
-                                                      "rtl8139",
-                                                      "ne2k_pci",
                                                       "e1000",
-                                                      "pcnet",
-                                                      "virtio",
-                                                      "ne2k_isa",
+                                                      "e1000-82540em",
+                                                      "e1000-82544gc",
+                                                      "e1000-82545em",
+                                                      "e1000e",
                                                       "i82551",
                                                       "i82557b",
                                                       "i82559er",
-                                                      "vmxnet3",
-                                                      "e1000-82540em",
-                                                      "e1000-82544gc",
-                                                      "e1000-82545em"
+                                                      "ne2k_isa",
+                                                      "ne2k_pci",
+                                                      "pcnet",
+                                                      "rtl8139",
+                                                      "virtio",
+                                                      "vmxnet3"
                                                    ],
                                                    "type" : "string"
                                                 },
@@ -14154,13 +15716,14 @@ var pveapi = [
                                                 "win7",
                                                 "win8",
                                                 "win10",
+                                                "win11",
                                                 "l24",
                                                 "l26",
                                                 "solaris"
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -14195,7 +15758,7 @@ var pveapi = [
                                              "format" : {
                                                 "max_bytes" : {
                                                    "default" : 1024,
-                                                   "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
+                                                   "description" : "Maximum bytes of entropy allowed to get injected into the guest every 'period' milliseconds. Prefer a lower value when using '/dev/random' as source. Use `0` to disable limiting (potentially dangerous!).",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -14207,7 +15770,7 @@ var pveapi = [
                                                 },
                                                 "source" : {
                                                    "default_key" : 1,
-                                                   "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
+                                                   "description" : "The file on the host to gather entropy from. In most cases '/dev/urandom' should be preferred over '/dev/random' to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. '/dev/hwrng' can be used to pass through a hardware RNG from the host.",
                                                    "enum" : [
                                                       "/dev/urandom",
                                                       "/dev/random",
@@ -14221,13 +15784,14 @@ var pveapi = [
                                              "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
                                           },
                                           "sata[n]" : {
-                                             "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
+                                             "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -14339,6 +15903,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "iops" : {
                                                    "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
@@ -14535,16 +16106,17 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,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 30).",
+                                             "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -14656,6 +16228,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "iops" : {
                                                    "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
@@ -14792,6 +16371,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "ro" : {
+                                                   "description" : "Whether the drive is read-only.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "scsiblock" : {
                                                    "default" : 0,
                                                    "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
@@ -14869,7 +16453,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,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>] [,ro=<1|0>] [,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",
@@ -14886,7 +16470,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "searchdomain" : {
-                                             "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t    .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t    .' are set.",
+                                             "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -15013,6 +16597,48 @@ var pveapi = [
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
+                                          "tpmstate0" : {
+                                             "description" : "Configure a Disk for storing TPM state. The format is fixed to 'raw'. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and 4 MiB will be used instead. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
+                                             "format" : {
+                                                "file" : {
+                                                   "default_key" : 1,
+                                                   "description" : "The drive's backing volume.",
+                                                   "format" : "pve-volume-id-or-qm-path",
+                                                   "format_description" : "volume",
+                                                   "type" : "string"
+                                                },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "Disk size. This is purely informational and has no effect.",
+                                                   "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "version" : {
+                                                   "default" : "v2.0",
+                                                   "description" : "The TPM interface version. v2.0 is newer and should be preferred. Note that this cannot be changed later on.",
+                                                   "enum" : [
+                                                      "v1.2",
+                                                      "v2.0"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "volume" : {
+                                                   "alias" : "file"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[file=]<volume> [,import-from=<source volume>] [,size=<DiskSize>] [,version=<v1.2|v2.0>]"
+                                          },
                                           "unused[n]" : {
                                              "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
                                              "format" : {
@@ -15087,6 +16713,7 @@ var pveapi = [
                                                       "serial3",
                                                       "std",
                                                       "virtio",
+                                                      "virtio-gl",
                                                       "vmware"
                                                    ],
                                                    "optional" : 1,
@@ -15099,13 +16726,14 @@ var pveapi = [
                                              "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                                           },
                                           "virtio[n]" : {
-                                             "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
+                                             "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -15217,6 +16845,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "iops" : {
                                                    "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
@@ -15347,6 +16982,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "ro" : {
+                                                   "description" : "Whether the drive is read-only.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
                                                    "optional" : 1,
@@ -15406,7 +17046,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
                                           },
                                           "vmgenid" : {
                                              "default" : "1 (autogenerated)",
@@ -15482,17 +17122,17 @@ var pveapi = [
                                              "typetext" : "<boolean>"
                                           },
                                           "agent" : {
-                                             "description" : "Enable/disable Qemu GuestAgent and its properties.",
+                                             "description" : "Enable/disable communication with the Qemu Guest Agent and its properties.",
                                              "format" : {
                                                 "enabled" : {
                                                    "default" : 0,
                                                    "default_key" : 1,
-                                                   "description" : "Enable/disable Qemu GuestAgent.",
+                                                   "description" : "Enable/disable communication with a Qemu Guest Agent (QGA) running in the VM.",
                                                    "type" : "boolean"
                                                 },
                                                 "fstrim_cloned_disks" : {
                                                    "default" : 0,
-                                                   "description" : "Run fstrim after cloning/moving a disk.",
+                                                   "description" : "Run fstrim after moving a disk or migrating the VM.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -15543,7 +17183,8 @@ var pveapi = [
                                                    "default" : "spice",
                                                    "description" : "Driver backend for the audio device.",
                                                    "enum" : [
-                                                      "spice"
+                                                      "spice",
+                                                      "none"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -15551,7 +17192,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
+                                             "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
                                           },
                                           "autostart" : {
                                              "default" : 0,
@@ -15578,7 +17219,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "boot" : {
-                                             "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
+                                             "description" : "Specify guest boot order. Use the 'order=' sub-property as usage with no key or 'legacy=' is deprecated.",
                                              "format" : "pve-qm-boot",
                                              "optional" : 1,
                                              "type" : "string",
@@ -15603,7 +17244,7 @@ var pveapi = [
                                              "format" : "pve-qm-cicustom",
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
+                                             "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>] [,vendor=<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.",
@@ -15615,7 +17256,8 @@ var pveapi = [
                                              "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
                                              "enum" : [
                                                 "configdrive2",
-                                                "nocloud"
+                                                "nocloud",
+                                                "opennebula"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -15652,13 +17294,13 @@ var pveapi = [
                                              "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
                                           },
                                           "cpuunits" : {
-                                             "default" : 1024,
-                                             "description" : "CPU weight for a VM.",
+                                             "default" : "cgroup v1: 1024, cgroup v2: 100",
+                                             "description" : "CPU weight for a VM, will be clamped to [1, 10000] in cgroup v2.",
                                              "maximum" : 262144,
-                                             "minimum" : 2,
+                                             "minimum" : 1,
                                              "optional" : 1,
                                              "type" : "integer",
-                                             "typetext" : "<integer> (2 - 262144)",
+                                             "typetext" : "<integer> (1 - 262144)",
                                              "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
                                           },
                                           "delete" : {
@@ -15669,7 +17311,8 @@ var pveapi = [
                                              "typetext" : "<string>"
                                           },
                                           "description" : {
-                                             "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+                                             "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
+                                             "maxLength" : 8192,
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -15682,179 +17325,203 @@ var pveapi = [
                                              "typetext" : "<string>"
                                           },
                                           "efidisk0" : {
-                                             "description" : "Configure a Disk for storing EFI vars",
-                                             "format" : {
-                                                "file" : {
-                                                   "default_key" : 1,
-                                                   "description" : "The drive's backing volume.",
-                                                   "format" : "pve-volume-id-or-qm-path",
-                                                   "format_description" : "volume",
-                                                   "type" : "string"
-                                                },
-                                                "format" : {
-                                                   "description" : "The drive's backing file's data format.",
-                                                   "enum" : [
-                                                      "raw",
-                                                      "cow",
-                                                      "qcow",
-                                                      "qed",
-                                                      "qcow2",
-                                                      "vmdk",
-                                                      "cloop"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "size" : {
-                                                   "description" : "Disk size. This is purely informational and has no effect.",
-                                                   "format" : "disk-size",
-                                                   "format_description" : "DiskSize",
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "volume" : {
-                                                   "alias" : "file"
-                                                }
-                                             },
-                                             "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
-                                          },
-                                          "force" : {
-                                             "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
-                                             "optional" : 1,
-                                             "requires" : "delete",
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
-                                          },
-                                          "freeze" : {
-                                             "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
-                                             "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
-                                          },
-                                          "hookscript" : {
-                                             "description" : "Script that will be executed during various steps in the vms lifetime.",
-                                             "format" : "pve-volume-id",
-                                             "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "hostpci[n]" : {
-                                             "description" : "Map host PCI devices into guest.",
-                                             "format" : "pve-qm-hostpci",
-                                             "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
-                                             "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
-                                          },
-                                          "hotplug" : {
-                                             "default" : "network,disk,usb",
-                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
-                                             "format" : "pve-hotplug-features",
-                                             "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "hugepages" : {
-                                             "description" : "Enable/disable hugepages memory.",
-                                             "enum" : [
-                                                "any",
-                                                "2",
-                                                "1024"
-                                             ],
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "ide[n]" : {
-                                             "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
+                                             "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                              "format" : {
-                                                "aio" : {
-                                                   "description" : "AIO type to use.",
+                                                "efitype" : {
+                                                   "default" : "2m",
+                                                   "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified.",
                                                    "enum" : [
-                                                      "native",
-                                                      "threads"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "backup" : {
-                                                   "description" : "Whether the drive should be included when making backups.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "bps" : {
-                                                   "description" : "Maximum r/w speed in bytes per second.",
-                                                   "format_description" : "bps",
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
-                                                "bps_max_length" : {
-                                                   "description" : "Maximum length of I/O bursts in seconds.",
-                                                   "format_description" : "seconds",
-                                                   "minimum" : 1,
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
-                                                "bps_rd" : {
-                                                   "description" : "Maximum read speed in bytes per second.",
-                                                   "format_description" : "bps",
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
-                                                "bps_rd_length" : {
-                                                   "alias" : "bps_rd_max_length"
-                                                },
-                                                "bps_rd_max_length" : {
-                                                   "description" : "Maximum length of read I/O bursts in seconds.",
-                                                   "format_description" : "seconds",
-                                                   "minimum" : 1,
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
-                                                "bps_wr" : {
-                                                   "description" : "Maximum write speed in bytes per second.",
-                                                   "format_description" : "bps",
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
-                                                "bps_wr_length" : {
-                                                   "alias" : "bps_wr_max_length"
-                                                },
-                                                "bps_wr_max_length" : {
-                                                   "description" : "Maximum length of write I/O bursts in seconds.",
-                                                   "format_description" : "seconds",
-                                                   "minimum" : 1,
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
-                                                "cache" : {
-                                                   "description" : "The drive's cache mode",
-                                                   "enum" : [
-                                                      "none",
-                                                      "writethrough",
-                                                      "writeback",
-                                                      "unsafe",
-                                                      "directsync"
-                                                   ],
-                                                   "optional" : 1,
-                                                   "type" : "string"
-                                                },
-                                                "cyls" : {
-                                                   "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                                   "optional" : 1,
-                                                   "type" : "integer"
-                                                },
-                                                "detect_zeroes" : {
-                                                   "description" : "Controls whether to detect and try to optimize writes of zeroes.",
-                                                   "optional" : 1,
-                                                   "type" : "boolean"
-                                                },
-                                                "discard" : {
-                                                   "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
-                                                   "enum" : [
-                                                      "ignore",
-                                                      "on"
+                                                      "2m",
+                                                      "4m"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "file" : {
+                                                   "default_key" : 1,
+                                                   "description" : "The drive's backing volume.",
+                                                   "format" : "pve-volume-id-or-qm-path",
+                                                   "format_description" : "volume",
+                                                   "type" : "string"
+                                                },
+                                                "format" : {
+                                                   "description" : "The drive's backing file's data format.",
+                                                   "enum" : [
+                                                      "raw",
+                                                      "cow",
+                                                      "qcow",
+                                                      "qed",
+                                                      "qcow2",
+                                                      "vmdk",
+                                                      "cloop"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "pre-enrolled-keys" : {
+                                                   "default" : 0,
+                                                   "description" : "Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with 'efitype=4m'. Note that this will enable Secure Boot by default, though it can still be turned off from within the VM.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "size" : {
+                                                   "description" : "Disk size. This is purely informational and has no effect.",
+                                                   "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "volume" : {
+                                                   "alias" : "file"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[file=]<volume> [,efitype=<2m|4m>] [,format=<enum>] [,import-from=<source volume>] [,pre-enrolled-keys=<1|0>] [,size=<DiskSize>]"
+                                          },
+                                          "force" : {
+                                             "description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
+                                             "optional" : 1,
+                                             "requires" : "delete",
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "freeze" : {
+                                             "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "hookscript" : {
+                                             "description" : "Script that will be executed during various steps in the vms lifetime.",
+                                             "format" : "pve-volume-id",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "hostpci[n]" : {
+                                             "description" : "Map host PCI devices into guest.",
+                                             "format" : "pve-qm-hostpci",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,device-id=<hex id>] [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,sub-device-id=<hex id>] [,sub-vendor-id=<hex id>] [,vendor-id=<hex id>] [,x-vga=<1|0>]",
+                                             "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+                                          },
+                                          "hotplug" : {
+                                             "default" : "network,disk,usb",
+                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Using '1' as value is an alias for the default `network,disk,usb`.",
+                                             "format" : "pve-hotplug-features",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "hugepages" : {
+                                             "description" : "Enable/disable hugepages memory.",
+                                             "enum" : [
+                                                "any",
+                                                "2",
+                                                "1024"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "ide[n]" : {
+                                             "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
+                                             "format" : {
+                                                "aio" : {
+                                                   "description" : "AIO type to use.",
+                                                   "enum" : [
+                                                      "native",
+                                                      "threads",
+                                                      "io_uring"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "backup" : {
+                                                   "description" : "Whether the drive should be included when making backups.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "bps" : {
+                                                   "description" : "Maximum r/w speed in bytes per second.",
+                                                   "format_description" : "bps",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "bps_max_length" : {
+                                                   "description" : "Maximum length of I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "bps_rd" : {
+                                                   "description" : "Maximum read speed in bytes per second.",
+                                                   "format_description" : "bps",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "bps_rd_length" : {
+                                                   "alias" : "bps_rd_max_length"
+                                                },
+                                                "bps_rd_max_length" : {
+                                                   "description" : "Maximum length of read I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "bps_wr" : {
+                                                   "description" : "Maximum write speed in bytes per second.",
+                                                   "format_description" : "bps",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "bps_wr_length" : {
+                                                   "alias" : "bps_wr_max_length"
+                                                },
+                                                "bps_wr_max_length" : {
+                                                   "description" : "Maximum length of write I/O bursts in seconds.",
+                                                   "format_description" : "seconds",
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "cache" : {
+                                                   "description" : "The drive's cache mode",
+                                                   "enum" : [
+                                                      "none",
+                                                      "writethrough",
+                                                      "writeback",
+                                                      "unsafe",
+                                                      "directsync"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "cyls" : {
+                                                   "description" : "Force the drive's physical geometry to have a specific cylinder count.",
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "detect_zeroes" : {
+                                                   "description" : "Controls whether to detect and try to optimize writes of zeroes.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "discard" : {
+                                                   "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
+                                                   "enum" : [
+                                                      "ignore",
+                                                      "on"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -15885,6 +17552,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "iops" : {
                                                    "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
@@ -16089,10 +17763,10 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,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\ngateway 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\ndhcp on IPv4.\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\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
                                              "format" : "pve-qm-ipconfig",
                                              "optional" : 1,
                                              "type" : "string",
@@ -16127,7 +17801,7 @@ var pveapi = [
                                           },
                                           "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.",
+                                             "description" : "Keyboard layout for VNC server. This option is generally not required and is often better handled from within the guest OS.",
                                              "enum" : [
                                                 "de",
                                                 "de-ch",
@@ -16166,7 +17840,7 @@ var pveapi = [
                                              "typetext" : "<boolean>"
                                           },
                                           "localtime" : {
-                                             "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
+                                             "description" : "Set the real time clock (RTC) to local time. This is enabled by default if the `ostype` indicates a Microsoft Windows OS.",
                                              "optional" : 1,
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
@@ -16226,7 +17900,7 @@ var pveapi = [
                                              "typetext" : "<string>"
                                           },
                                           "nameserver" : {
-                                             "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t    .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t    .' are set.",
+                                             "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
                                              "format" : "address-list",
                                              "optional" : 1,
                                              "type" : "string",
@@ -16237,9 +17911,9 @@ var pveapi = [
                                              "format" : {
                                                 "bridge" : {
                                                    "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2   Gateway\n 10.0.2.3   DNS Server\n 10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
+                                                   "format" : "pve-bridge-id",
                                                    "format_description" : "bridge",
                                                    "optional" : 1,
-                                                   "pattern" : "[-_.\\w\\d]+",
                                                    "type" : "string"
                                                 },
                                                 "e1000" : {
@@ -16258,6 +17932,10 @@ var pveapi = [
                                                    "alias" : "macaddr",
                                                    "keyAlias" : "model"
                                                 },
+                                                "e1000e" : {
+                                                   "alias" : "macaddr",
+                                                   "keyAlias" : "model"
+                                                },
                                                 "firewall" : {
                                                    "description" : "Whether this interface should be protected by the firewall.",
                                                    "optional" : 1,
@@ -16292,19 +17970,20 @@ var pveapi = [
                                                    "default_key" : 1,
                                                    "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
                                                    "enum" : [
-                                                      "rtl8139",
-                                                      "ne2k_pci",
                                                       "e1000",
-                                                      "pcnet",
-                                                      "virtio",
-                                                      "ne2k_isa",
+                                                      "e1000-82540em",
+                                                      "e1000-82544gc",
+                                                      "e1000-82545em",
+                                                      "e1000e",
                                                       "i82551",
                                                       "i82557b",
                                                       "i82559er",
-                                                      "vmxnet3",
-                                                      "e1000-82540em",
-                                                      "e1000-82544gc",
-                                                      "e1000-82545em"
+                                                      "ne2k_isa",
+                                                      "ne2k_pci",
+                                                      "pcnet",
+                                                      "rtl8139",
+                                                      "virtio",
+                                                      "vmxnet3"
                                                    ],
                                                    "type" : "string"
                                                 },
@@ -16439,13 +18118,14 @@ var pveapi = [
                                                 "win7",
                                                 "win8",
                                                 "win10",
+                                                "win11",
                                                 "l24",
                                                 "l26",
                                                 "solaris"
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -16480,7 +18160,7 @@ var pveapi = [
                                              "format" : {
                                                 "max_bytes" : {
                                                    "default" : 1024,
-                                                   "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
+                                                   "description" : "Maximum bytes of entropy allowed to get injected into the guest every 'period' milliseconds. Prefer a lower value when using '/dev/random' as source. Use `0` to disable limiting (potentially dangerous!).",
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
@@ -16492,7 +18172,7 @@ var pveapi = [
                                                 },
                                                 "source" : {
                                                    "default_key" : 1,
-                                                   "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
+                                                   "description" : "The file on the host to gather entropy from. In most cases '/dev/urandom' should be preferred over '/dev/random' to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. '/dev/hwrng' can be used to pass through a hardware RNG from the host.",
                                                    "enum" : [
                                                       "/dev/urandom",
                                                       "/dev/random",
@@ -16506,13 +18186,14 @@ var pveapi = [
                                              "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
                                           },
                                           "sata[n]" : {
-                                             "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
+                                             "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -16624,6 +18305,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "iops" : {
                                                    "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
@@ -16820,16 +18508,17 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,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 30).",
+                                             "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -16941,6 +18630,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "iops" : {
                                                    "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
@@ -17077,6 +18773,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "ro" : {
+                                                   "description" : "Whether the drive is read-only.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "scsiblock" : {
                                                    "default" : 0,
                                                    "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
@@ -17154,7 +18855,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,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>] [,ro=<1|0>] [,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",
@@ -17171,7 +18872,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "searchdomain" : {
-                                             "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t    .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t    .' are set.",
+                                             "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -17298,6 +18999,48 @@ var pveapi = [
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
+                                          "tpmstate0" : {
+                                             "description" : "Configure a Disk for storing TPM state. The format is fixed to 'raw'. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and 4 MiB will be used instead. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
+                                             "format" : {
+                                                "file" : {
+                                                   "default_key" : 1,
+                                                   "description" : "The drive's backing volume.",
+                                                   "format" : "pve-volume-id-or-qm-path",
+                                                   "format_description" : "volume",
+                                                   "type" : "string"
+                                                },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "size" : {
+                                                   "description" : "Disk size. This is purely informational and has no effect.",
+                                                   "format" : "disk-size",
+                                                   "format_description" : "DiskSize",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "version" : {
+                                                   "default" : "v2.0",
+                                                   "description" : "The TPM interface version. v2.0 is newer and should be preferred. Note that this cannot be changed later on.",
+                                                   "enum" : [
+                                                      "v1.2",
+                                                      "v2.0"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "volume" : {
+                                                   "alias" : "file"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[file=]<volume> [,import-from=<source volume>] [,size=<DiskSize>] [,version=<v1.2|v2.0>]"
+                                          },
                                           "unused[n]" : {
                                              "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
                                              "format" : {
@@ -17372,6 +19115,7 @@ var pveapi = [
                                                       "serial3",
                                                       "std",
                                                       "virtio",
+                                                      "virtio-gl",
                                                       "vmware"
                                                    ],
                                                    "optional" : 1,
@@ -17384,13 +19128,14 @@ var pveapi = [
                                              "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                                           },
                                           "virtio[n]" : {
-                                             "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
+                                             "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
                                                    "enum" : [
                                                       "native",
-                                                      "threads"
+                                                      "threads",
+                                                      "io_uring"
                                                    ],
                                                    "optional" : 1,
                                                    "type" : "string"
@@ -17502,6 +19247,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "integer"
                                                 },
+                                                "import-from" : {
+                                                   "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                                   "format" : "pve-volume-id-or-absolute-path",
+                                                   "format_description" : "source volume",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "iops" : {
                                                    "description" : "Maximum r/w I/O in operations per second.",
                                                    "format_description" : "iops",
@@ -17632,6 +19384,11 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "ro" : {
+                                                   "description" : "Whether the drive is read-only.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "secs" : {
                                                    "description" : "Force the drive's physical geometry to have a specific sector count.",
                                                    "optional" : 1,
@@ -17691,7 +19448,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                             "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
                                           },
                                           "vmgenid" : {
                                              "default" : "1 (autogenerated)",
@@ -18248,6 +20005,16 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "running-machine" : {
+                                                   "description" : "The currently running machine type (if running).",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "running-qemu" : {
+                                                   "description" : "The currently running QEMU version (if running).",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "spice" : {
                                                    "description" : "Qemu VGA configuration supports spice.",
                                                    "optional" : 1,
@@ -18354,7 +20121,7 @@ var pveapi = [
                                                 },
                                                 "targetstorage" : {
                                                    "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
-                                                   "format" : "storagepair-list",
+                                                   "format" : "storage-pair-list",
                                                    "optional" : 1,
                                                    "type" : "string",
                                                    "typetext" : "<string>"
@@ -19092,7 +20859,7 @@ var pveapi = [
                               "info" : {
                                  "POST" : {
                                     "allowtoken" : 1,
-                                    "description" : "Move volume to different storage.",
+                                    "description" : "Move volume to different storage or to a different VM.",
                                     "method" : "POST",
                                     "name" : "move_vm_disk",
                                     "parameters" : {
@@ -19114,7 +20881,7 @@ var pveapi = [
                                              "typetext" : "<boolean>"
                                           },
                                           "digest" : {
-                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                             "description" : "Prevent changes if current configuration file has different SHA1\"\n\t\t    .\" digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
                                              "type" : "string",
@@ -19180,7 +20947,264 @@ var pveapi = [
                                                 "sata3",
                                                 "sata4",
                                                 "sata5",
-                                                "efidisk0"
+                                                "efidisk0",
+                                                "tpmstate0",
+                                                "unused0",
+                                                "unused1",
+                                                "unused2",
+                                                "unused3",
+                                                "unused4",
+                                                "unused5",
+                                                "unused6",
+                                                "unused7",
+                                                "unused8",
+                                                "unused9",
+                                                "unused10",
+                                                "unused11",
+                                                "unused12",
+                                                "unused13",
+                                                "unused14",
+                                                "unused15",
+                                                "unused16",
+                                                "unused17",
+                                                "unused18",
+                                                "unused19",
+                                                "unused20",
+                                                "unused21",
+                                                "unused22",
+                                                "unused23",
+                                                "unused24",
+                                                "unused25",
+                                                "unused26",
+                                                "unused27",
+                                                "unused28",
+                                                "unused29",
+                                                "unused30",
+                                                "unused31",
+                                                "unused32",
+                                                "unused33",
+                                                "unused34",
+                                                "unused35",
+                                                "unused36",
+                                                "unused37",
+                                                "unused38",
+                                                "unused39",
+                                                "unused40",
+                                                "unused41",
+                                                "unused42",
+                                                "unused43",
+                                                "unused44",
+                                                "unused45",
+                                                "unused46",
+                                                "unused47",
+                                                "unused48",
+                                                "unused49",
+                                                "unused50",
+                                                "unused51",
+                                                "unused52",
+                                                "unused53",
+                                                "unused54",
+                                                "unused55",
+                                                "unused56",
+                                                "unused57",
+                                                "unused58",
+                                                "unused59",
+                                                "unused60",
+                                                "unused61",
+                                                "unused62",
+                                                "unused63",
+                                                "unused64",
+                                                "unused65",
+                                                "unused66",
+                                                "unused67",
+                                                "unused68",
+                                                "unused69",
+                                                "unused70",
+                                                "unused71",
+                                                "unused72",
+                                                "unused73",
+                                                "unused74",
+                                                "unused75",
+                                                "unused76",
+                                                "unused77",
+                                                "unused78",
+                                                "unused79",
+                                                "unused80",
+                                                "unused81",
+                                                "unused82",
+                                                "unused83",
+                                                "unused84",
+                                                "unused85",
+                                                "unused86",
+                                                "unused87",
+                                                "unused88",
+                                                "unused89",
+                                                "unused90",
+                                                "unused91",
+                                                "unused92",
+                                                "unused93",
+                                                "unused94",
+                                                "unused95",
+                                                "unused96",
+                                                "unused97",
+                                                "unused98",
+                                                "unused99",
+                                                "unused100",
+                                                "unused101",
+                                                "unused102",
+                                                "unused103",
+                                                "unused104",
+                                                "unused105",
+                                                "unused106",
+                                                "unused107",
+                                                "unused108",
+                                                "unused109",
+                                                "unused110",
+                                                "unused111",
+                                                "unused112",
+                                                "unused113",
+                                                "unused114",
+                                                "unused115",
+                                                "unused116",
+                                                "unused117",
+                                                "unused118",
+                                                "unused119",
+                                                "unused120",
+                                                "unused121",
+                                                "unused122",
+                                                "unused123",
+                                                "unused124",
+                                                "unused125",
+                                                "unused126",
+                                                "unused127",
+                                                "unused128",
+                                                "unused129",
+                                                "unused130",
+                                                "unused131",
+                                                "unused132",
+                                                "unused133",
+                                                "unused134",
+                                                "unused135",
+                                                "unused136",
+                                                "unused137",
+                                                "unused138",
+                                                "unused139",
+                                                "unused140",
+                                                "unused141",
+                                                "unused142",
+                                                "unused143",
+                                                "unused144",
+                                                "unused145",
+                                                "unused146",
+                                                "unused147",
+                                                "unused148",
+                                                "unused149",
+                                                "unused150",
+                                                "unused151",
+                                                "unused152",
+                                                "unused153",
+                                                "unused154",
+                                                "unused155",
+                                                "unused156",
+                                                "unused157",
+                                                "unused158",
+                                                "unused159",
+                                                "unused160",
+                                                "unused161",
+                                                "unused162",
+                                                "unused163",
+                                                "unused164",
+                                                "unused165",
+                                                "unused166",
+                                                "unused167",
+                                                "unused168",
+                                                "unused169",
+                                                "unused170",
+                                                "unused171",
+                                                "unused172",
+                                                "unused173",
+                                                "unused174",
+                                                "unused175",
+                                                "unused176",
+                                                "unused177",
+                                                "unused178",
+                                                "unused179",
+                                                "unused180",
+                                                "unused181",
+                                                "unused182",
+                                                "unused183",
+                                                "unused184",
+                                                "unused185",
+                                                "unused186",
+                                                "unused187",
+                                                "unused188",
+                                                "unused189",
+                                                "unused190",
+                                                "unused191",
+                                                "unused192",
+                                                "unused193",
+                                                "unused194",
+                                                "unused195",
+                                                "unused196",
+                                                "unused197",
+                                                "unused198",
+                                                "unused199",
+                                                "unused200",
+                                                "unused201",
+                                                "unused202",
+                                                "unused203",
+                                                "unused204",
+                                                "unused205",
+                                                "unused206",
+                                                "unused207",
+                                                "unused208",
+                                                "unused209",
+                                                "unused210",
+                                                "unused211",
+                                                "unused212",
+                                                "unused213",
+                                                "unused214",
+                                                "unused215",
+                                                "unused216",
+                                                "unused217",
+                                                "unused218",
+                                                "unused219",
+                                                "unused220",
+                                                "unused221",
+                                                "unused222",
+                                                "unused223",
+                                                "unused224",
+                                                "unused225",
+                                                "unused226",
+                                                "unused227",
+                                                "unused228",
+                                                "unused229",
+                                                "unused230",
+                                                "unused231",
+                                                "unused232",
+                                                "unused233",
+                                                "unused234",
+                                                "unused235",
+                                                "unused236",
+                                                "unused237",
+                                                "unused238",
+                                                "unused239",
+                                                "unused240",
+                                                "unused241",
+                                                "unused242",
+                                                "unused243",
+                                                "unused244",
+                                                "unused245",
+                                                "unused246",
+                                                "unused247",
+                                                "unused248",
+                                                "unused249",
+                                                "unused250",
+                                                "unused251",
+                                                "unused252",
+                                                "unused253",
+                                                "unused254",
+                                                "unused255"
                                              ],
                                              "type" : "string"
                                           },
@@ -19203,9 +21227,347 @@ var pveapi = [
                                           "storage" : {
                                              "description" : "Target storage.",
                                              "format" : "pve-storage-id",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "target-digest" : {
+                                             "description" : "Prevent changes if the current config file of the target VM has a\"\n\t\t    .\" different SHA1 digest. This can be used to detect concurrent modifications.",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "target-disk" : {
+                                             "description" : "The config key the disk will be moved to on the target VM (for example, ide0 or scsi1). Default is the source disk key.",
+                                             "enum" : [
+                                                "ide0",
+                                                "ide1",
+                                                "ide2",
+                                                "ide3",
+                                                "scsi0",
+                                                "scsi1",
+                                                "scsi2",
+                                                "scsi3",
+                                                "scsi4",
+                                                "scsi5",
+                                                "scsi6",
+                                                "scsi7",
+                                                "scsi8",
+                                                "scsi9",
+                                                "scsi10",
+                                                "scsi11",
+                                                "scsi12",
+                                                "scsi13",
+                                                "scsi14",
+                                                "scsi15",
+                                                "scsi16",
+                                                "scsi17",
+                                                "scsi18",
+                                                "scsi19",
+                                                "scsi20",
+                                                "scsi21",
+                                                "scsi22",
+                                                "scsi23",
+                                                "scsi24",
+                                                "scsi25",
+                                                "scsi26",
+                                                "scsi27",
+                                                "scsi28",
+                                                "scsi29",
+                                                "scsi30",
+                                                "virtio0",
+                                                "virtio1",
+                                                "virtio2",
+                                                "virtio3",
+                                                "virtio4",
+                                                "virtio5",
+                                                "virtio6",
+                                                "virtio7",
+                                                "virtio8",
+                                                "virtio9",
+                                                "virtio10",
+                                                "virtio11",
+                                                "virtio12",
+                                                "virtio13",
+                                                "virtio14",
+                                                "virtio15",
+                                                "sata0",
+                                                "sata1",
+                                                "sata2",
+                                                "sata3",
+                                                "sata4",
+                                                "sata5",
+                                                "efidisk0",
+                                                "tpmstate0",
+                                                "unused0",
+                                                "unused1",
+                                                "unused2",
+                                                "unused3",
+                                                "unused4",
+                                                "unused5",
+                                                "unused6",
+                                                "unused7",
+                                                "unused8",
+                                                "unused9",
+                                                "unused10",
+                                                "unused11",
+                                                "unused12",
+                                                "unused13",
+                                                "unused14",
+                                                "unused15",
+                                                "unused16",
+                                                "unused17",
+                                                "unused18",
+                                                "unused19",
+                                                "unused20",
+                                                "unused21",
+                                                "unused22",
+                                                "unused23",
+                                                "unused24",
+                                                "unused25",
+                                                "unused26",
+                                                "unused27",
+                                                "unused28",
+                                                "unused29",
+                                                "unused30",
+                                                "unused31",
+                                                "unused32",
+                                                "unused33",
+                                                "unused34",
+                                                "unused35",
+                                                "unused36",
+                                                "unused37",
+                                                "unused38",
+                                                "unused39",
+                                                "unused40",
+                                                "unused41",
+                                                "unused42",
+                                                "unused43",
+                                                "unused44",
+                                                "unused45",
+                                                "unused46",
+                                                "unused47",
+                                                "unused48",
+                                                "unused49",
+                                                "unused50",
+                                                "unused51",
+                                                "unused52",
+                                                "unused53",
+                                                "unused54",
+                                                "unused55",
+                                                "unused56",
+                                                "unused57",
+                                                "unused58",
+                                                "unused59",
+                                                "unused60",
+                                                "unused61",
+                                                "unused62",
+                                                "unused63",
+                                                "unused64",
+                                                "unused65",
+                                                "unused66",
+                                                "unused67",
+                                                "unused68",
+                                                "unused69",
+                                                "unused70",
+                                                "unused71",
+                                                "unused72",
+                                                "unused73",
+                                                "unused74",
+                                                "unused75",
+                                                "unused76",
+                                                "unused77",
+                                                "unused78",
+                                                "unused79",
+                                                "unused80",
+                                                "unused81",
+                                                "unused82",
+                                                "unused83",
+                                                "unused84",
+                                                "unused85",
+                                                "unused86",
+                                                "unused87",
+                                                "unused88",
+                                                "unused89",
+                                                "unused90",
+                                                "unused91",
+                                                "unused92",
+                                                "unused93",
+                                                "unused94",
+                                                "unused95",
+                                                "unused96",
+                                                "unused97",
+                                                "unused98",
+                                                "unused99",
+                                                "unused100",
+                                                "unused101",
+                                                "unused102",
+                                                "unused103",
+                                                "unused104",
+                                                "unused105",
+                                                "unused106",
+                                                "unused107",
+                                                "unused108",
+                                                "unused109",
+                                                "unused110",
+                                                "unused111",
+                                                "unused112",
+                                                "unused113",
+                                                "unused114",
+                                                "unused115",
+                                                "unused116",
+                                                "unused117",
+                                                "unused118",
+                                                "unused119",
+                                                "unused120",
+                                                "unused121",
+                                                "unused122",
+                                                "unused123",
+                                                "unused124",
+                                                "unused125",
+                                                "unused126",
+                                                "unused127",
+                                                "unused128",
+                                                "unused129",
+                                                "unused130",
+                                                "unused131",
+                                                "unused132",
+                                                "unused133",
+                                                "unused134",
+                                                "unused135",
+                                                "unused136",
+                                                "unused137",
+                                                "unused138",
+                                                "unused139",
+                                                "unused140",
+                                                "unused141",
+                                                "unused142",
+                                                "unused143",
+                                                "unused144",
+                                                "unused145",
+                                                "unused146",
+                                                "unused147",
+                                                "unused148",
+                                                "unused149",
+                                                "unused150",
+                                                "unused151",
+                                                "unused152",
+                                                "unused153",
+                                                "unused154",
+                                                "unused155",
+                                                "unused156",
+                                                "unused157",
+                                                "unused158",
+                                                "unused159",
+                                                "unused160",
+                                                "unused161",
+                                                "unused162",
+                                                "unused163",
+                                                "unused164",
+                                                "unused165",
+                                                "unused166",
+                                                "unused167",
+                                                "unused168",
+                                                "unused169",
+                                                "unused170",
+                                                "unused171",
+                                                "unused172",
+                                                "unused173",
+                                                "unused174",
+                                                "unused175",
+                                                "unused176",
+                                                "unused177",
+                                                "unused178",
+                                                "unused179",
+                                                "unused180",
+                                                "unused181",
+                                                "unused182",
+                                                "unused183",
+                                                "unused184",
+                                                "unused185",
+                                                "unused186",
+                                                "unused187",
+                                                "unused188",
+                                                "unused189",
+                                                "unused190",
+                                                "unused191",
+                                                "unused192",
+                                                "unused193",
+                                                "unused194",
+                                                "unused195",
+                                                "unused196",
+                                                "unused197",
+                                                "unused198",
+                                                "unused199",
+                                                "unused200",
+                                                "unused201",
+                                                "unused202",
+                                                "unused203",
+                                                "unused204",
+                                                "unused205",
+                                                "unused206",
+                                                "unused207",
+                                                "unused208",
+                                                "unused209",
+                                                "unused210",
+                                                "unused211",
+                                                "unused212",
+                                                "unused213",
+                                                "unused214",
+                                                "unused215",
+                                                "unused216",
+                                                "unused217",
+                                                "unused218",
+                                                "unused219",
+                                                "unused220",
+                                                "unused221",
+                                                "unused222",
+                                                "unused223",
+                                                "unused224",
+                                                "unused225",
+                                                "unused226",
+                                                "unused227",
+                                                "unused228",
+                                                "unused229",
+                                                "unused230",
+                                                "unused231",
+                                                "unused232",
+                                                "unused233",
+                                                "unused234",
+                                                "unused235",
+                                                "unused236",
+                                                "unused237",
+                                                "unused238",
+                                                "unused239",
+                                                "unused240",
+                                                "unused241",
+                                                "unused242",
+                                                "unused243",
+                                                "unused244",
+                                                "unused245",
+                                                "unused246",
+                                                "unused247",
+                                                "unused248",
+                                                "unused249",
+                                                "unused250",
+                                                "unused251",
+                                                "unused252",
+                                                "unused253",
+                                                "unused254",
+                                                "unused255"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "target-vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
@@ -19217,23 +21579,13 @@ var pveapi = [
                                     },
                                     "permissions" : {
                                        "check" : [
-                                          "and",
-                                          [
-                                             "perm",
-                                             "/vms/{vmid}",
-                                             [
-                                                "VM.Config.Disk"
-                                             ]
-                                          ],
+                                          "perm",
+                                          "/vms/{vmid}",
                                           [
-                                             "perm",
-                                             "/storage/{storage}",
-                                             [
-                                                "Datastore.AllocateSpace"
-                                             ]
+                                             "VM.Config.Disk"
                                           ]
                                        ],
-                                       "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
+                                       "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage. To move a disk to another VM, you need the permissions on the target VM as well."
                                     },
                                     "protected" : 1,
                                     "proxyto" : "node",
@@ -19375,7 +21727,7 @@ var pveapi = [
                                           },
                                           "targetstorage" : {
                                              "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
-                                             "format" : "storagepair-list",
+                                             "format" : "storage-pair-list",
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -19544,7 +21896,8 @@ var pveapi = [
                                                 "sata3",
                                                 "sata4",
                                                 "sata5",
-                                                "efidisk0"
+                                                "efidisk0",
+                                                "tpmstate0"
                                              ],
                                              "type" : "string"
                                           },
@@ -20074,7 +22427,8 @@ var pveapi = [
                                                 "sata3",
                                                 "sata4",
                                                 "sata5",
-                                                "efidisk0"
+                                                "efidisk0",
+                                                "tpmstate0"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -20107,7 +22461,8 @@ var pveapi = [
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
-                                       "type" : "null"
+                                       "description" : "the task ID.",
+                                       "type" : "string"
                                     }
                                  }
                               },
@@ -20179,12 +22534,19 @@ var pveapi = [
                         "info" : {
                            "DELETE" : {
                               "allowtoken" : 1,
-                              "description" : "Destroy the vm (also delete all used/owned volumes).",
+                              "description" : "Destroy the VM and  all used/owned volumes. Removes any VM specific permissions and firewall rules",
                               "method" : "DELETE",
                               "name" : "destroy_vm",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "destroy-unreferenced-disks" : {
+                                       "default" : 0,
+                                       "description" : "If set, destroy additionally all disks not referenced in the config but with a matching VMID from all enabled storages.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
@@ -20192,7 +22554,7 @@ var pveapi = [
                                        "typetext" : "<string>"
                                     },
                                     "purge" : {
-                                       "description" : "Remove vmid from backup cron jobs.",
+                                       "description" : "Remove VMID from configurations, like backup & replication jobs and HA.",
                                        "optional" : 1,
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
@@ -20347,6 +22709,16 @@ var pveapi = [
                                     "optional" : 1,
                                     "type" : "string"
                                  },
+                                 "running-machine" : {
+                                    "description" : "The currently running machine type (if running).",
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
+                                 "running-qemu" : {
+                                    "description" : "The currently running QEMU version (if running).",
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "status" : {
                                     "description" : "Qemu process status.",
                                     "enum" : [
@@ -20400,17 +22772,17 @@ var pveapi = [
                                  "typetext" : "<boolean>"
                               },
                               "agent" : {
-                                 "description" : "Enable/disable Qemu GuestAgent and its properties.",
+                                 "description" : "Enable/disable communication with the Qemu Guest Agent and its properties.",
                                  "format" : {
                                     "enabled" : {
                                        "default" : 0,
                                        "default_key" : 1,
-                                       "description" : "Enable/disable Qemu GuestAgent.",
+                                       "description" : "Enable/disable communication with a Qemu Guest Agent (QGA) running in the VM.",
                                        "type" : "boolean"
                                     },
                                     "fstrim_cloned_disks" : {
                                        "default" : 0,
-                                       "description" : "Run fstrim after cloning/moving a disk.",
+                                       "description" : "Run fstrim after moving a disk or migrating the VM.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
@@ -20468,7 +22840,8 @@ var pveapi = [
                                        "default" : "spice",
                                        "description" : "Driver backend for the audio device.",
                                        "enum" : [
-                                          "spice"
+                                          "spice",
+                                          "none"
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
@@ -20476,7 +22849,7 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
+                                 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
                               },
                               "autostart" : {
                                  "default" : 0,
@@ -20503,7 +22876,7 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "boot" : {
-                                 "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
+                                 "description" : "Specify guest boot order. Use the 'order=' sub-property as usage with no key or 'legacy=' is deprecated.",
                                  "format" : "pve-qm-boot",
                                  "optional" : 1,
                                  "type" : "string",
@@ -20536,7 +22909,7 @@ var pveapi = [
                                  "format" : "pve-qm-cicustom",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>]"
+                                 "typetext" : "[meta=<volume>] [,network=<volume>] [,user=<volume>] [,vendor=<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.",
@@ -20548,7 +22921,8 @@ var pveapi = [
                                  "description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
                                  "enum" : [
                                     "configdrive2",
-                                    "nocloud"
+                                    "nocloud",
+                                    "opennebula"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -20585,24 +22959,35 @@ var pveapi = [
                                  "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
                               },
                               "cpuunits" : {
-                                 "default" : 1024,
-                                 "description" : "CPU weight for a VM.",
+                                 "default" : "cgroup v1: 1024, cgroup v2: 100",
+                                 "description" : "CPU weight for a VM, will be clamped to [1, 10000] in cgroup v2.",
                                  "maximum" : 262144,
-                                 "minimum" : 2,
+                                 "minimum" : 1,
                                  "optional" : 1,
                                  "type" : "integer",
-                                 "typetext" : "<integer> (2 - 262144)",
+                                 "typetext" : "<integer> (1 - 262144)",
                                  "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
                               },
                               "description" : {
-                                 "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+                                 "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
+                                 "maxLength" : 8192,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
                               "efidisk0" : {
-                                 "description" : "Configure a Disk for storing EFI vars",
+                                 "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                  "format" : {
+                                    "efitype" : {
+                                       "default" : "2m",
+                                       "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified.",
+                                       "enum" : [
+                                          "2m",
+                                          "4m"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "file" : {
                                        "default_key" : 1,
                                        "description" : "The drive's backing volume.",
@@ -20624,6 +23009,19 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "import-from" : {
+                                       "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                       "format" : "pve-volume-id-or-absolute-path",
+                                       "format_description" : "source volume",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "pre-enrolled-keys" : {
+                                       "default" : 0,
+                                       "description" : "Use am EFI vars template with distribution-specific and Microsoft Standard keys enrolled, if used with 'efitype=4m'. Note that this will enable Secure Boot by default, though it can still be turned off from within the VM.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "size" : {
                                        "description" : "Disk size. This is purely informational and has no effect.",
                                        "format" : "disk-size",
@@ -20637,7 +23035,7 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[file=]<volume> [,format=<enum>] [,size=<DiskSize>]"
+                                 "typetext" : "[file=]<volume> [,efitype=<2m|4m>] [,format=<enum>] [,import-from=<source volume>] [,pre-enrolled-keys=<1|0>] [,size=<DiskSize>]"
                               },
                               "force" : {
                                  "description" : "Allow to overwrite existing VM.",
@@ -20664,12 +23062,12 @@ var pveapi = [
                                  "format" : "pve-qm-hostpci",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,x-vga=<1|0>]",
+                                 "typetext" : "[host=]<HOSTPCIID[;HOSTPCIID2...]> [,device-id=<hex id>] [,legacy-igd=<1|0>] [,mdev=<string>] [,pcie=<1|0>] [,rombar=<1|0>] [,romfile=<string>] [,sub-device-id=<hex id>] [,sub-vendor-id=<hex id>] [,vendor-id=<hex id>] [,x-vga=<1|0>]",
                                  "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer\npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
                               },
                               "hotplug" : {
                                  "default" : "network,disk,usb",
-                                 "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
+                                 "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Using '1' as value is an alias for the default `network,disk,usb`.",
                                  "format" : "pve-hotplug-features",
                                  "optional" : 1,
                                  "type" : "string",
@@ -20686,13 +23084,14 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "ide[n]" : {
-                                 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
+                                 "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                  "format" : {
                                     "aio" : {
                                        "description" : "AIO type to use.",
                                        "enum" : [
                                           "native",
-                                          "threads"
+                                          "threads",
+                                          "io_uring"
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
@@ -20804,6 +23203,13 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "import-from" : {
+                                       "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                       "format" : "pve-volume-id-or-absolute-path",
+                                       "format_description" : "source volume",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "iops" : {
                                        "description" : "Maximum r/w I/O in operations per second.",
                                        "format_description" : "iops",
@@ -21008,10 +23414,10 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,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\ngateway 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\ndhcp on IPv4.\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\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
                                  "format" : "pve-qm-ipconfig",
                                  "optional" : 1,
                                  "type" : "string",
@@ -21046,7 +23452,7 @@ var pveapi = [
                               },
                               "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.",
+                                 "description" : "Keyboard layout for VNC server. This option is generally not required and is often better handled from within the guest OS.",
                                  "enum" : [
                                     "de",
                                     "de-ch",
@@ -21084,8 +23490,15 @@ var pveapi = [
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
+                              "live-restore" : {
+                                 "description" : "Start the VM immediately from the backup and restore in background. PBS only.",
+                                 "optional" : 1,
+                                 "requires" : "archive",
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "localtime" : {
-                                 "description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
+                                 "description" : "Set the real time clock (RTC) to local time. This is enabled by default if the `ostype` indicates a Microsoft Windows OS.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -21145,7 +23558,7 @@ var pveapi = [
                                  "typetext" : "<string>"
                               },
                               "nameserver" : {
-                                 "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t    .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t    .' are set.",
+                                 "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
                                  "format" : "address-list",
                                  "optional" : 1,
                                  "type" : "string",
@@ -21156,9 +23569,9 @@ var pveapi = [
                                  "format" : {
                                     "bridge" : {
                                        "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2   Gateway\n 10.0.2.3   DNS Server\n 10.0.2.4   SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
+                                       "format" : "pve-bridge-id",
                                        "format_description" : "bridge",
                                        "optional" : 1,
-                                       "pattern" : "[-_.\\w\\d]+",
                                        "type" : "string"
                                     },
                                     "e1000" : {
@@ -21177,6 +23590,10 @@ var pveapi = [
                                        "alias" : "macaddr",
                                        "keyAlias" : "model"
                                     },
+                                    "e1000e" : {
+                                       "alias" : "macaddr",
+                                       "keyAlias" : "model"
+                                    },
                                     "firewall" : {
                                        "description" : "Whether this interface should be protected by the firewall.",
                                        "optional" : 1,
@@ -21211,19 +23628,20 @@ var pveapi = [
                                        "default_key" : 1,
                                        "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
                                        "enum" : [
-                                          "rtl8139",
-                                          "ne2k_pci",
                                           "e1000",
-                                          "pcnet",
-                                          "virtio",
-                                          "ne2k_isa",
+                                          "e1000-82540em",
+                                          "e1000-82544gc",
+                                          "e1000-82545em",
+                                          "e1000e",
                                           "i82551",
                                           "i82557b",
                                           "i82559er",
-                                          "vmxnet3",
-                                          "e1000-82540em",
-                                          "e1000-82544gc",
-                                          "e1000-82545em"
+                                          "ne2k_isa",
+                                          "ne2k_pci",
+                                          "pcnet",
+                                          "rtl8139",
+                                          "virtio",
+                                          "vmxnet3"
                                        ],
                                        "type" : "string"
                                     },
@@ -21358,13 +23776,14 @@ var pveapi = [
                                     "win7",
                                     "win8",
                                     "win10",
+                                    "win11",
                                     "l24",
                                     "l26",
                                     "solaris"
                                  ],
                                  "optional" : 1,
                                  "type" : "string",
-                                 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+                                 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                               },
                               "parallel[n]" : {
                                  "description" : "Map host parallel devices (n is 0 to 2).",
@@ -21399,7 +23818,7 @@ var pveapi = [
                                  "format" : {
                                     "max_bytes" : {
                                        "default" : 1024,
-                                       "description" : "Maximum bytes of entropy injected into the guest every 'period' milliseconds. Prefer a lower value when using /dev/random as source. Use 0 to disable limiting (potentially dangerous!).",
+                                       "description" : "Maximum bytes of entropy allowed to get injected into the guest every 'period' milliseconds. Prefer a lower value when using '/dev/random' as source. Use `0` to disable limiting (potentially dangerous!).",
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
@@ -21411,7 +23830,7 @@ var pveapi = [
                                     },
                                     "source" : {
                                        "default_key" : 1,
-                                       "description" : "The file on the host to gather entropy from. In most cases /dev/urandom should be preferred over /dev/random to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. /dev/hwrng can be used to pass through a hardware RNG from the host.",
+                                       "description" : "The file on the host to gather entropy from. In most cases '/dev/urandom' should be preferred over '/dev/random' to avoid entropy-starvation issues on the host. Using urandom does *not* decrease security in any meaningful way, as it's still seeded from real entropy, and the bytes provided will most likely be mixed with real entropy on the guest as well. '/dev/hwrng' can be used to pass through a hardware RNG from the host.",
                                        "enum" : [
                                           "/dev/urandom",
                                           "/dev/random",
@@ -21425,13 +23844,14 @@ var pveapi = [
                                  "typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
                               },
                               "sata[n]" : {
-                                 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
+                                 "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                  "format" : {
                                     "aio" : {
                                        "description" : "AIO type to use.",
                                        "enum" : [
                                           "native",
-                                          "threads"
+                                          "threads",
+                                          "io_uring"
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
@@ -21543,323 +23963,338 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
-                                    "iops" : {
-                                       "description" : "Maximum r/w I/O in operations per second.",
-                                       "format_description" : "iops",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "iops_max" : {
-                                       "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
-                                       "format_description" : "iops",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "iops_max_length" : {
-                                       "description" : "Maximum length of I/O bursts in seconds.",
-                                       "format_description" : "seconds",
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "iops_rd" : {
-                                       "description" : "Maximum read I/O in operations per second.",
-                                       "format_description" : "iops",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "iops_rd_length" : {
-                                       "alias" : "iops_rd_max_length"
-                                    },
-                                    "iops_rd_max" : {
-                                       "description" : "Maximum unthrottled read I/O pool in operations per second.",
-                                       "format_description" : "iops",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "iops_rd_max_length" : {
-                                       "description" : "Maximum length of read I/O bursts in seconds.",
-                                       "format_description" : "seconds",
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "iops_wr" : {
-                                       "description" : "Maximum write I/O in operations per second.",
-                                       "format_description" : "iops",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "iops_wr_length" : {
-                                       "alias" : "iops_wr_max_length"
-                                    },
-                                    "iops_wr_max" : {
-                                       "description" : "Maximum unthrottled write I/O pool in operations per second.",
-                                       "format_description" : "iops",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "iops_wr_max_length" : {
-                                       "description" : "Maximum length of write I/O bursts in seconds.",
-                                       "format_description" : "seconds",
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "mbps" : {
-                                       "description" : "Maximum r/w speed in megabytes per second.",
-                                       "format_description" : "mbps",
-                                       "optional" : 1,
-                                       "type" : "number"
-                                    },
-                                    "mbps_max" : {
-                                       "description" : "Maximum unthrottled r/w pool in megabytes per second.",
-                                       "format_description" : "mbps",
-                                       "optional" : 1,
-                                       "type" : "number"
-                                    },
-                                    "mbps_rd" : {
-                                       "description" : "Maximum read speed in megabytes per second.",
-                                       "format_description" : "mbps",
-                                       "optional" : 1,
-                                       "type" : "number"
-                                    },
-                                    "mbps_rd_max" : {
-                                       "description" : "Maximum unthrottled read pool in megabytes per second.",
-                                       "format_description" : "mbps",
-                                       "optional" : 1,
-                                       "type" : "number"
-                                    },
-                                    "mbps_wr" : {
-                                       "description" : "Maximum write speed in megabytes per second.",
-                                       "format_description" : "mbps",
-                                       "optional" : 1,
-                                       "type" : "number"
-                                    },
-                                    "mbps_wr_max" : {
-                                       "description" : "Maximum unthrottled write pool in megabytes per second.",
-                                       "format_description" : "mbps",
-                                       "optional" : 1,
-                                       "type" : "number"
-                                    },
-                                    "media" : {
-                                       "default" : "disk",
-                                       "description" : "The drive's media type.",
-                                       "enum" : [
-                                          "cdrom",
-                                          "disk"
-                                       ],
+                                    "import-from" : {
+                                       "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                       "format" : "pve-volume-id-or-absolute-path",
+                                       "format_description" : "source volume",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "iops" : {
+                                       "description" : "Maximum r/w I/O in operations per second.",
+                                       "format_description" : "iops",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iops_max" : {
+                                       "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
+                                       "format_description" : "iops",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iops_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iops_rd" : {
+                                       "description" : "Maximum read I/O in operations per second.",
+                                       "format_description" : "iops",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iops_rd_length" : {
+                                       "alias" : "iops_rd_max_length"
+                                    },
+                                    "iops_rd_max" : {
+                                       "description" : "Maximum unthrottled read I/O pool in operations per second.",
+                                       "format_description" : "iops",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iops_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iops_wr" : {
+                                       "description" : "Maximum write I/O in operations per second.",
+                                       "format_description" : "iops",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iops_wr_length" : {
+                                       "alias" : "iops_wr_max_length"
+                                    },
+                                    "iops_wr_max" : {
+                                       "description" : "Maximum unthrottled write I/O pool in operations per second.",
+                                       "format_description" : "iops",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "iops_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "mbps" : {
+                                       "description" : "Maximum r/w speed in megabytes per second.",
+                                       "format_description" : "mbps",
+                                       "optional" : 1,
+                                       "type" : "number"
+                                    },
+                                    "mbps_max" : {
+                                       "description" : "Maximum unthrottled r/w pool in megabytes per second.",
+                                       "format_description" : "mbps",
+                                       "optional" : 1,
+                                       "type" : "number"
+                                    },
+                                    "mbps_rd" : {
+                                       "description" : "Maximum read speed in megabytes per second.",
+                                       "format_description" : "mbps",
+                                       "optional" : 1,
+                                       "type" : "number"
+                                    },
+                                    "mbps_rd_max" : {
+                                       "description" : "Maximum unthrottled read pool in megabytes per second.",
+                                       "format_description" : "mbps",
+                                       "optional" : 1,
+                                       "type" : "number"
+                                    },
+                                    "mbps_wr" : {
+                                       "description" : "Maximum write speed in megabytes per second.",
+                                       "format_description" : "mbps",
+                                       "optional" : 1,
+                                       "type" : "number"
+                                    },
+                                    "mbps_wr_max" : {
+                                       "description" : "Maximum unthrottled write pool in megabytes per second.",
+                                       "format_description" : "mbps",
+                                       "optional" : 1,
+                                       "type" : "number"
+                                    },
+                                    "media" : {
+                                       "default" : "disk",
+                                       "description" : "The drive's media type.",
+                                       "enum" : [
+                                          "cdrom",
+                                          "disk"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "replicate" : {
+                                       "default" : 1,
+                                       "description" : "Whether the drive should considered for replication jobs.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "rerror" : {
+                                       "description" : "Read error action.",
+                                       "enum" : [
+                                          "ignore",
+                                          "report",
+                                          "stop"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "secs" : {
+                                       "description" : "Force the drive's physical geometry to have a specific sector count.",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "serial" : {
+                                       "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
+                                       "format" : "urlencoded",
+                                       "format_description" : "serial",
+                                       "maxLength" : 60,
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "shared" : {
+                                       "default" : 0,
+                                       "description" : "Mark this locally-managed volume as available on all nodes",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+                                    },
+                                    "size" : {
+                                       "description" : "Disk size. This is purely informational and has no effect.",
+                                       "format" : "disk-size",
+                                       "format_description" : "DiskSize",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "snapshot" : {
+                                       "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "ssd" : {
+                                       "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "trans" : {
+                                       "description" : "Force disk geometry bios translation mode.",
+                                       "enum" : [
+                                          "none",
+                                          "lba",
+                                          "auto"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "volume" : {
+                                       "alias" : "file"
+                                    },
+                                    "werror" : {
+                                       "description" : "Write error action.",
+                                       "enum" : [
+                                          "enospc",
+                                          "ignore",
+                                          "report",
+                                          "stop"
+                                       ],
+                                       "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|io_uring>] [,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>] [,import-from=<source volume>] [,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 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
+                                 "format" : {
+                                    "aio" : {
+                                       "description" : "AIO type to use.",
+                                       "enum" : [
+                                          "native",
+                                          "threads",
+                                          "io_uring"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "backup" : {
+                                       "description" : "Whether the drive should be included when making backups.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "bps" : {
+                                       "description" : "Maximum r/w speed in bytes per second.",
+                                       "format_description" : "bps",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "bps_max_length" : {
+                                       "description" : "Maximum length of I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "bps_rd" : {
+                                       "description" : "Maximum read speed in bytes per second.",
+                                       "format_description" : "bps",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "bps_rd_length" : {
+                                       "alias" : "bps_rd_max_length"
+                                    },
+                                    "bps_rd_max_length" : {
+                                       "description" : "Maximum length of read I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "bps_wr" : {
+                                       "description" : "Maximum write speed in bytes per second.",
+                                       "format_description" : "bps",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "bps_wr_length" : {
+                                       "alias" : "bps_wr_max_length"
+                                    },
+                                    "bps_wr_max_length" : {
+                                       "description" : "Maximum length of write I/O bursts in seconds.",
+                                       "format_description" : "seconds",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "cache" : {
+                                       "description" : "The drive's cache mode",
+                                       "enum" : [
+                                          "none",
+                                          "writethrough",
+                                          "writeback",
+                                          "unsafe",
+                                          "directsync"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "cyls" : {
+                                       "description" : "Force the drive's physical geometry to have a specific cylinder count.",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "detect_zeroes" : {
+                                       "description" : "Controls whether to detect and try to optimize writes of zeroes.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "discard" : {
+                                       "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
+                                       "enum" : [
+                                          "ignore",
+                                          "on"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "file" : {
+                                       "default_key" : 1,
+                                       "description" : "The drive's backing volume.",
+                                       "format" : "pve-volume-id-or-qm-path",
+                                       "format_description" : "volume",
+                                       "type" : "string"
+                                    },
+                                    "format" : {
+                                       "description" : "The drive's backing file's data format.",
+                                       "enum" : [
+                                          "raw",
+                                          "cow",
+                                          "qcow",
+                                          "qed",
+                                          "qcow2",
+                                          "vmdk",
+                                          "cloop"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "heads" : {
+                                       "description" : "Force the drive's physical geometry to have a specific head count.",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "import-from" : {
+                                       "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                       "format" : "pve-volume-id-or-absolute-path",
+                                       "format_description" : "source volume",
                                        "optional" : 1,
                                        "type" : "string"
                                     },
-                                    "replicate" : {
-                                       "default" : 1,
-                                       "description" : "Whether the drive should considered for replication jobs.",
-                                       "optional" : 1,
-                                       "type" : "boolean"
-                                    },
-                                    "rerror" : {
-                                       "description" : "Read error action.",
-                                       "enum" : [
-                                          "ignore",
-                                          "report",
-                                          "stop"
-                                       ],
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "secs" : {
-                                       "description" : "Force the drive's physical geometry to have a specific sector count.",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "serial" : {
-                                       "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
-                                       "format" : "urlencoded",
-                                       "format_description" : "serial",
-                                       "maxLength" : 60,
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "shared" : {
-                                       "default" : 0,
-                                       "description" : "Mark this locally-managed volume as available on all nodes",
-                                       "optional" : 1,
-                                       "type" : "boolean",
-                                       "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
-                                    },
-                                    "size" : {
-                                       "description" : "Disk size. This is purely informational and has no effect.",
-                                       "format" : "disk-size",
-                                       "format_description" : "DiskSize",
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "snapshot" : {
-                                       "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
-                                       "optional" : 1,
-                                       "type" : "boolean"
-                                    },
-                                    "ssd" : {
-                                       "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
-                                       "optional" : 1,
-                                       "type" : "boolean"
-                                    },
-                                    "trans" : {
-                                       "description" : "Force disk geometry bios translation mode.",
-                                       "enum" : [
-                                          "none",
-                                          "lba",
-                                          "auto"
-                                       ],
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "volume" : {
-                                       "alias" : "file"
-                                    },
-                                    "werror" : {
-                                       "description" : "Write error action.",
-                                       "enum" : [
-                                          "enospc",
-                                          "ignore",
-                                          "report",
-                                          "stop"
-                                       ],
-                                       "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>] [,wwn=<wwn>]"
-                              },
-                              "scsi[n]" : {
-                                 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
-                                 "format" : {
-                                    "aio" : {
-                                       "description" : "AIO type to use.",
-                                       "enum" : [
-                                          "native",
-                                          "threads"
-                                       ],
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "backup" : {
-                                       "description" : "Whether the drive should be included when making backups.",
-                                       "optional" : 1,
-                                       "type" : "boolean"
-                                    },
-                                    "bps" : {
-                                       "description" : "Maximum r/w speed in bytes per second.",
-                                       "format_description" : "bps",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "bps_max_length" : {
-                                       "description" : "Maximum length of I/O bursts in seconds.",
-                                       "format_description" : "seconds",
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "bps_rd" : {
-                                       "description" : "Maximum read speed in bytes per second.",
-                                       "format_description" : "bps",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "bps_rd_length" : {
-                                       "alias" : "bps_rd_max_length"
-                                    },
-                                    "bps_rd_max_length" : {
-                                       "description" : "Maximum length of read I/O bursts in seconds.",
-                                       "format_description" : "seconds",
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "bps_wr" : {
-                                       "description" : "Maximum write speed in bytes per second.",
-                                       "format_description" : "bps",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "bps_wr_length" : {
-                                       "alias" : "bps_wr_max_length"
-                                    },
-                                    "bps_wr_max_length" : {
-                                       "description" : "Maximum length of write I/O bursts in seconds.",
-                                       "format_description" : "seconds",
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "cache" : {
-                                       "description" : "The drive's cache mode",
-                                       "enum" : [
-                                          "none",
-                                          "writethrough",
-                                          "writeback",
-                                          "unsafe",
-                                          "directsync"
-                                       ],
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "cyls" : {
-                                       "description" : "Force the drive's physical geometry to have a specific cylinder count.",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
-                                    "detect_zeroes" : {
-                                       "description" : "Controls whether to detect and try to optimize writes of zeroes.",
-                                       "optional" : 1,
-                                       "type" : "boolean"
-                                    },
-                                    "discard" : {
-                                       "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
-                                       "enum" : [
-                                          "ignore",
-                                          "on"
-                                       ],
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "file" : {
-                                       "default_key" : 1,
-                                       "description" : "The drive's backing volume.",
-                                       "format" : "pve-volume-id-or-qm-path",
-                                       "format_description" : "volume",
-                                       "type" : "string"
-                                    },
-                                    "format" : {
-                                       "description" : "The drive's backing file's data format.",
-                                       "enum" : [
-                                          "raw",
-                                          "cow",
-                                          "qcow",
-                                          "qed",
-                                          "qcow2",
-                                          "vmdk",
-                                          "cloop"
-                                       ],
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "heads" : {
-                                       "description" : "Force the drive's physical geometry to have a specific head count.",
-                                       "optional" : 1,
-                                       "type" : "integer"
-                                    },
                                     "iops" : {
                                        "description" : "Maximum r/w I/O in operations per second.",
                                        "format_description" : "iops",
@@ -21996,6 +24431,11 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "ro" : {
+                                       "description" : "Whether the drive is read-only.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "scsiblock" : {
                                        "default" : 0,
                                        "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
@@ -22073,7 +24513,7 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+                                 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,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>] [,ro=<1|0>] [,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",
@@ -22090,7 +24530,7 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "searchdomain" : {
-                                 "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t    .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t    .' are set.",
+                                 "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -22225,6 +24665,48 @@ var pveapi = [
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
+                              "tpmstate0" : {
+                                 "description" : "Configure a Disk for storing TPM state. The format is fixed to 'raw'. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and 4 MiB will be used instead. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
+                                 "format" : {
+                                    "file" : {
+                                       "default_key" : 1,
+                                       "description" : "The drive's backing volume.",
+                                       "format" : "pve-volume-id-or-qm-path",
+                                       "format_description" : "volume",
+                                       "type" : "string"
+                                    },
+                                    "import-from" : {
+                                       "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                       "format" : "pve-volume-id-or-absolute-path",
+                                       "format_description" : "source volume",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "size" : {
+                                       "description" : "Disk size. This is purely informational and has no effect.",
+                                       "format" : "disk-size",
+                                       "format_description" : "DiskSize",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "version" : {
+                                       "default" : "v2.0",
+                                       "description" : "The TPM interface version. v2.0 is newer and should be preferred. Note that this cannot be changed later on.",
+                                       "enum" : [
+                                          "v1.2",
+                                          "v2.0"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "volume" : {
+                                       "alias" : "file"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[file=]<volume> [,import-from=<source volume>] [,size=<DiskSize>] [,version=<v1.2|v2.0>]"
+                              },
                               "unique" : {
                                  "description" : "Assign a unique random ethernet address.",
                                  "optional" : 1,
@@ -22306,6 +24788,7 @@ var pveapi = [
                                           "serial3",
                                           "std",
                                           "virtio",
+                                          "virtio-gl",
                                           "vmware"
                                        ],
                                        "optional" : 1,
@@ -22318,13 +24801,14 @@ var pveapi = [
                                  "verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
                               },
                               "virtio[n]" : {
-                                 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
+                                 "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Use STORAGE_ID:0 and the 'import-from' parameter to import from an existing volume.",
                                  "format" : {
                                     "aio" : {
                                        "description" : "AIO type to use.",
                                        "enum" : [
                                           "native",
-                                          "threads"
+                                          "threads",
+                                          "io_uring"
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
@@ -22436,6 +24920,13 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "import-from" : {
+                                       "description" : "Create a new disk, importing from this source (volume ID or absolute path). When an absolute path is specified, it's up to you to ensure that the source is not actively used by another process during the import!",
+                                       "format" : "pve-volume-id-or-absolute-path",
+                                       "format_description" : "source volume",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "iops" : {
                                        "description" : "Maximum r/w I/O in operations per second.",
                                        "format_description" : "iops",
@@ -22566,6 +25057,11 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "ro" : {
+                                       "description" : "Whether the drive is read-only.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "secs" : {
                                        "description" : "Force the drive's physical geometry to have a specific sector count.",
                                        "optional" : 1,
@@ -22625,7 +25121,7 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+                                 "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,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>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
                               },
                               "vmgenid" : {
                                  "default" : "1 (autogenerated)",
@@ -22675,60 +25171,6 @@ var pveapi = [
                   "path" : "/nodes/{node}/qemu",
                   "text" : "qemu"
                },
-               {
-                  "info" : {
-                     "GET" : {
-                        "allowtoken" : 1,
-                        "description" : "List all custom and default CPU models.",
-                        "method" : "GET",
-                        "name" : "index",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
-                              "node" : {
-                                 "description" : "The cluster node name.",
-                                 "format" : "pve-node",
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              }
-                           }
-                        },
-                        "permissions" : {
-                           "description" : "Only returns custom models when the current user has Sys.Audit on /nodes.",
-                           "user" : "all"
-                        },
-                        "returns" : {
-                           "items" : {
-                              "properties" : {
-                                 "custom" : {
-                                    "description" : "True if this is a custom CPU model.",
-                                    "type" : "boolean"
-                                 },
-                                 "name" : {
-                                    "description" : "Name of the CPU model. Identifies it for subsequent API calls. Prefixed with 'custom-' for custom models.",
-                                    "type" : "string"
-                                 },
-                                 "vendor" : {
-                                    "description" : "CPU vendor visible to the guest when this model is selected. Vendor of 'reported-model' in case of custom models.",
-                                    "type" : "string"
-                                 }
-                              },
-                              "type" : "object"
-                           },
-                           "links" : [
-                              {
-                                 "href" : "{name}",
-                                 "rel" : "child"
-                              }
-                           ],
-                           "type" : "array"
-                        }
-                     }
-                  },
-                  "leaf" : 1,
-                  "path" : "/nodes/{node}/cpu",
-                  "text" : "cpu"
-               },
                {
                   "children" : [
                      {
@@ -22844,7 +25286,8 @@ var pveapi = [
                                              "type" : "boolean"
                                           },
                                           "description" : {
-                                             "description" : "Container description. Only used on the configuration web interface.",
+                                             "description" : "Description for the Container. Shown in the web-interface CT's summary. This is saved as comment inside the configuration file.",
+                                             "maxLength" : 8192,
                                              "optional" : 1,
                                              "type" : "string"
                                           },
@@ -22945,7 +25388,7 @@ var pveapi = [
                                              "type" : "integer"
                                           },
                                           "mp[n]" : {
-                                             "description" : "Use volume as container mount point.",
+                                             "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
                                              "format" : {
                                                 "acl" : {
                                                    "description" : "Explicitly enable or disable ACL support.",
@@ -22962,7 +25405,7 @@ var pveapi = [
                                                    "description" : "Extra mount options for rootfs/mps.",
                                                    "format_description" : "opt[;opt...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "pattern" : "(?^:(?^:(noatime|lazytime|nodev|nosuid|noexec))(;(?^:(noatime|lazytime|nodev|nosuid|noexec)))*)",
                                                    "type" : "string"
                                                 },
                                                 "mp" : {
@@ -23015,7 +25458,7 @@ var pveapi = [
                                           },
                                           "nameserver" : {
                                              "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
-                                             "format" : "address-list",
+                                             "format" : "lxc-ip-with-ll-iface-list",
                                              "optional" : 1,
                                              "type" : "string"
                                           },
@@ -23124,6 +25567,7 @@ var pveapi = [
                                              "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
                                              "enum" : [
                                                 "debian",
+                                                "devuan",
                                                 "ubuntu",
                                                 "centos",
                                                 "fedora",
@@ -23131,6 +25575,7 @@ var pveapi = [
                                                 "archlinux",
                                                 "alpine",
                                                 "gentoo",
+                                                "nixos",
                                                 "unmanaged"
                                              ],
                                              "optional" : 1,
@@ -23154,7 +25599,7 @@ var pveapi = [
                                                    "description" : "Extra mount options for rootfs/mps.",
                                                    "format_description" : "opt[;opt...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "pattern" : "(?^:(?^:(noatime|lazytime|nodev|nosuid|noexec))(;(?^:(noatime|lazytime|nodev|nosuid|noexec)))*)",
                                                    "type" : "string"
                                                 },
                                                 "quota" : {
@@ -23347,7 +25792,8 @@ var pveapi = [
                                              "typetext" : "<string>"
                                           },
                                           "description" : {
-                                             "description" : "Container description. Only used on the configuration web interface.",
+                                             "description" : "Description for the Container. Shown in the web-interface CT's summary. This is saved as comment inside the configuration file.",
+                                             "maxLength" : 8192,
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -23445,7 +25891,7 @@ var pveapi = [
                                              "typetext" : "<integer> (16 - N)"
                                           },
                                           "mp[n]" : {
-                                             "description" : "Use volume as container mount point.",
+                                             "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
                                              "format" : {
                                                 "acl" : {
                                                    "description" : "Explicitly enable or disable ACL support.",
@@ -23462,7 +25908,7 @@ var pveapi = [
                                                    "description" : "Extra mount options for rootfs/mps.",
                                                    "format_description" : "opt[;opt...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "pattern" : "(?^:(?^:(noatime|lazytime|nodev|nosuid|noexec))(;(?^:(noatime|lazytime|nodev|nosuid|noexec)))*)",
                                                    "type" : "string"
                                                 },
                                                 "mp" : {
@@ -23516,7 +25962,7 @@ var pveapi = [
                                           },
                                           "nameserver" : {
                                              "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
-                                             "format" : "address-list",
+                                             "format" : "lxc-ip-with-ll-iface-list",
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -23634,6 +26080,7 @@ var pveapi = [
                                              "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
                                              "enum" : [
                                                 "debian",
+                                                "devuan",
                                                 "ubuntu",
                                                 "centos",
                                                 "fedora",
@@ -23641,6 +26088,7 @@ var pveapi = [
                                                 "archlinux",
                                                 "alpine",
                                                 "gentoo",
+                                                "nixos",
                                                 "unmanaged"
                                              ],
                                              "optional" : 1,
@@ -23672,7 +26120,7 @@ var pveapi = [
                                                    "description" : "Extra mount options for rootfs/mps.",
                                                    "format_description" : "opt[;opt...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "pattern" : "(?^:(?^:(noatime|lazytime|nodev|nosuid|noexec))(;(?^:(noatime|lazytime|nodev|nosuid|noexec)))*)",
                                                    "type" : "string"
                                                 },
                                                 "quota" : {
@@ -24111,7 +26559,7 @@ var pveapi = [
                                     "info" : {
                                        "POST" : {
                                           "allowtoken" : 1,
-                                          "description" : "Suspend the container.",
+                                          "description" : "Suspend the container. This is experimental.",
                                           "method" : "POST",
                                           "name" : "vm_suspend",
                                           "parameters" : {
@@ -24905,6 +27353,7 @@ var pveapi = [
                                                       "dest" : {
                                                          "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                          "format" : "pve-fw-addr-spec",
+                                                         "maxLength" : 512,
                                                          "optional" : 1,
                                                          "type" : "string",
                                                          "typetext" : "<string>"
@@ -24999,6 +27448,7 @@ var pveapi = [
                                                       "source" : {
                                                          "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                          "format" : "pve-fw-addr-spec",
+                                                         "maxLength" : 512,
                                                          "optional" : 1,
                                                          "type" : "string",
                                                          "typetext" : "<string>"
@@ -25127,6 +27577,7 @@ var pveapi = [
                                                 "dest" : {
                                                    "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                    "format" : "pve-fw-addr-spec",
+                                                   "maxLength" : 512,
                                                    "optional" : 1,
                                                    "type" : "string",
                                                    "typetext" : "<string>"
@@ -25214,6 +27665,7 @@ var pveapi = [
                                                 "source" : {
                                                    "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                                    "format" : "pve-fw-addr-spec",
+                                                   "maxLength" : 512,
                                                    "optional" : 1,
                                                    "type" : "string",
                                                    "typetext" : "<string>"
@@ -26151,7 +28603,7 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "macfilter" : {
-                                                   "default" : 0,
+                                                   "default" : 1,
                                                    "description" : "Enable/disable MAC address filter.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
@@ -26266,7 +28718,7 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "macfilter" : {
-                                                   "default" : 0,
+                                                   "default" : 1,
                                                    "description" : "Enable/disable MAC address filter.",
                                                    "optional" : 1,
                                                    "type" : "boolean",
@@ -26962,12 +29414,6 @@ var pveapi = [
                                              "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,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
-                                          },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
@@ -26992,6 +29438,13 @@ var pveapi = [
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "target-storage" : {
+                                             "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
+                                             "format" : "storage-pair-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "timeout" : {
                                              "default" : 180,
                                              "description" : "Timeout in seconds for shutdown for restart migration",
@@ -27600,7 +30053,7 @@ var pveapi = [
                               "info" : {
                                  "POST" : {
                                     "allowtoken" : 1,
-                                    "description" : "Move a rootfs-/mp-volume to a different storage",
+                                    "description" : "Move a rootfs-/mp-volume to a different storage or to a different container.",
                                     "method" : "POST",
                                     "name" : "move_volume",
                                     "parameters" : {
@@ -27622,7 +30075,7 @@ var pveapi = [
                                              "typetext" : "<boolean>"
                                           },
                                           "digest" : {
-                                             "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                             "description" : "Prevent changes if current configuration file has different SHA1 \" .\n\t\t    \"digest. This can be used to prevent concurrent modifications.",
                                              "maxLength" : 40,
                                              "optional" : 1,
                                              "type" : "string",
@@ -27637,9 +30090,545 @@ var pveapi = [
                                           "storage" : {
                                              "description" : "Target Storage.",
                                              "format" : "pve-storage-id",
+                                             "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
+                                          "target-digest" : {
+                                             "description" : "Prevent changes if current configuration file of the target \" .\n\t\t    \"container has a different SHA1 digest. This can be used to prevent \" .\n\t\t    \"concurrent modifications.",
+                                             "maxLength" : 40,
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "target-vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          },
+                                          "target-volume" : {
+                                             "description" : "The config key the volume will be moved to. Default is the source volume key.",
+                                             "enum" : [
+                                                "rootfs",
+                                                "mp0",
+                                                "mp1",
+                                                "mp2",
+                                                "mp3",
+                                                "mp4",
+                                                "mp5",
+                                                "mp6",
+                                                "mp7",
+                                                "mp8",
+                                                "mp9",
+                                                "mp10",
+                                                "mp11",
+                                                "mp12",
+                                                "mp13",
+                                                "mp14",
+                                                "mp15",
+                                                "mp16",
+                                                "mp17",
+                                                "mp18",
+                                                "mp19",
+                                                "mp20",
+                                                "mp21",
+                                                "mp22",
+                                                "mp23",
+                                                "mp24",
+                                                "mp25",
+                                                "mp26",
+                                                "mp27",
+                                                "mp28",
+                                                "mp29",
+                                                "mp30",
+                                                "mp31",
+                                                "mp32",
+                                                "mp33",
+                                                "mp34",
+                                                "mp35",
+                                                "mp36",
+                                                "mp37",
+                                                "mp38",
+                                                "mp39",
+                                                "mp40",
+                                                "mp41",
+                                                "mp42",
+                                                "mp43",
+                                                "mp44",
+                                                "mp45",
+                                                "mp46",
+                                                "mp47",
+                                                "mp48",
+                                                "mp49",
+                                                "mp50",
+                                                "mp51",
+                                                "mp52",
+                                                "mp53",
+                                                "mp54",
+                                                "mp55",
+                                                "mp56",
+                                                "mp57",
+                                                "mp58",
+                                                "mp59",
+                                                "mp60",
+                                                "mp61",
+                                                "mp62",
+                                                "mp63",
+                                                "mp64",
+                                                "mp65",
+                                                "mp66",
+                                                "mp67",
+                                                "mp68",
+                                                "mp69",
+                                                "mp70",
+                                                "mp71",
+                                                "mp72",
+                                                "mp73",
+                                                "mp74",
+                                                "mp75",
+                                                "mp76",
+                                                "mp77",
+                                                "mp78",
+                                                "mp79",
+                                                "mp80",
+                                                "mp81",
+                                                "mp82",
+                                                "mp83",
+                                                "mp84",
+                                                "mp85",
+                                                "mp86",
+                                                "mp87",
+                                                "mp88",
+                                                "mp89",
+                                                "mp90",
+                                                "mp91",
+                                                "mp92",
+                                                "mp93",
+                                                "mp94",
+                                                "mp95",
+                                                "mp96",
+                                                "mp97",
+                                                "mp98",
+                                                "mp99",
+                                                "mp100",
+                                                "mp101",
+                                                "mp102",
+                                                "mp103",
+                                                "mp104",
+                                                "mp105",
+                                                "mp106",
+                                                "mp107",
+                                                "mp108",
+                                                "mp109",
+                                                "mp110",
+                                                "mp111",
+                                                "mp112",
+                                                "mp113",
+                                                "mp114",
+                                                "mp115",
+                                                "mp116",
+                                                "mp117",
+                                                "mp118",
+                                                "mp119",
+                                                "mp120",
+                                                "mp121",
+                                                "mp122",
+                                                "mp123",
+                                                "mp124",
+                                                "mp125",
+                                                "mp126",
+                                                "mp127",
+                                                "mp128",
+                                                "mp129",
+                                                "mp130",
+                                                "mp131",
+                                                "mp132",
+                                                "mp133",
+                                                "mp134",
+                                                "mp135",
+                                                "mp136",
+                                                "mp137",
+                                                "mp138",
+                                                "mp139",
+                                                "mp140",
+                                                "mp141",
+                                                "mp142",
+                                                "mp143",
+                                                "mp144",
+                                                "mp145",
+                                                "mp146",
+                                                "mp147",
+                                                "mp148",
+                                                "mp149",
+                                                "mp150",
+                                                "mp151",
+                                                "mp152",
+                                                "mp153",
+                                                "mp154",
+                                                "mp155",
+                                                "mp156",
+                                                "mp157",
+                                                "mp158",
+                                                "mp159",
+                                                "mp160",
+                                                "mp161",
+                                                "mp162",
+                                                "mp163",
+                                                "mp164",
+                                                "mp165",
+                                                "mp166",
+                                                "mp167",
+                                                "mp168",
+                                                "mp169",
+                                                "mp170",
+                                                "mp171",
+                                                "mp172",
+                                                "mp173",
+                                                "mp174",
+                                                "mp175",
+                                                "mp176",
+                                                "mp177",
+                                                "mp178",
+                                                "mp179",
+                                                "mp180",
+                                                "mp181",
+                                                "mp182",
+                                                "mp183",
+                                                "mp184",
+                                                "mp185",
+                                                "mp186",
+                                                "mp187",
+                                                "mp188",
+                                                "mp189",
+                                                "mp190",
+                                                "mp191",
+                                                "mp192",
+                                                "mp193",
+                                                "mp194",
+                                                "mp195",
+                                                "mp196",
+                                                "mp197",
+                                                "mp198",
+                                                "mp199",
+                                                "mp200",
+                                                "mp201",
+                                                "mp202",
+                                                "mp203",
+                                                "mp204",
+                                                "mp205",
+                                                "mp206",
+                                                "mp207",
+                                                "mp208",
+                                                "mp209",
+                                                "mp210",
+                                                "mp211",
+                                                "mp212",
+                                                "mp213",
+                                                "mp214",
+                                                "mp215",
+                                                "mp216",
+                                                "mp217",
+                                                "mp218",
+                                                "mp219",
+                                                "mp220",
+                                                "mp221",
+                                                "mp222",
+                                                "mp223",
+                                                "mp224",
+                                                "mp225",
+                                                "mp226",
+                                                "mp227",
+                                                "mp228",
+                                                "mp229",
+                                                "mp230",
+                                                "mp231",
+                                                "mp232",
+                                                "mp233",
+                                                "mp234",
+                                                "mp235",
+                                                "mp236",
+                                                "mp237",
+                                                "mp238",
+                                                "mp239",
+                                                "mp240",
+                                                "mp241",
+                                                "mp242",
+                                                "mp243",
+                                                "mp244",
+                                                "mp245",
+                                                "mp246",
+                                                "mp247",
+                                                "mp248",
+                                                "mp249",
+                                                "mp250",
+                                                "mp251",
+                                                "mp252",
+                                                "mp253",
+                                                "mp254",
+                                                "mp255",
+                                                "unused0",
+                                                "unused1",
+                                                "unused2",
+                                                "unused3",
+                                                "unused4",
+                                                "unused5",
+                                                "unused6",
+                                                "unused7",
+                                                "unused8",
+                                                "unused9",
+                                                "unused10",
+                                                "unused11",
+                                                "unused12",
+                                                "unused13",
+                                                "unused14",
+                                                "unused15",
+                                                "unused16",
+                                                "unused17",
+                                                "unused18",
+                                                "unused19",
+                                                "unused20",
+                                                "unused21",
+                                                "unused22",
+                                                "unused23",
+                                                "unused24",
+                                                "unused25",
+                                                "unused26",
+                                                "unused27",
+                                                "unused28",
+                                                "unused29",
+                                                "unused30",
+                                                "unused31",
+                                                "unused32",
+                                                "unused33",
+                                                "unused34",
+                                                "unused35",
+                                                "unused36",
+                                                "unused37",
+                                                "unused38",
+                                                "unused39",
+                                                "unused40",
+                                                "unused41",
+                                                "unused42",
+                                                "unused43",
+                                                "unused44",
+                                                "unused45",
+                                                "unused46",
+                                                "unused47",
+                                                "unused48",
+                                                "unused49",
+                                                "unused50",
+                                                "unused51",
+                                                "unused52",
+                                                "unused53",
+                                                "unused54",
+                                                "unused55",
+                                                "unused56",
+                                                "unused57",
+                                                "unused58",
+                                                "unused59",
+                                                "unused60",
+                                                "unused61",
+                                                "unused62",
+                                                "unused63",
+                                                "unused64",
+                                                "unused65",
+                                                "unused66",
+                                                "unused67",
+                                                "unused68",
+                                                "unused69",
+                                                "unused70",
+                                                "unused71",
+                                                "unused72",
+                                                "unused73",
+                                                "unused74",
+                                                "unused75",
+                                                "unused76",
+                                                "unused77",
+                                                "unused78",
+                                                "unused79",
+                                                "unused80",
+                                                "unused81",
+                                                "unused82",
+                                                "unused83",
+                                                "unused84",
+                                                "unused85",
+                                                "unused86",
+                                                "unused87",
+                                                "unused88",
+                                                "unused89",
+                                                "unused90",
+                                                "unused91",
+                                                "unused92",
+                                                "unused93",
+                                                "unused94",
+                                                "unused95",
+                                                "unused96",
+                                                "unused97",
+                                                "unused98",
+                                                "unused99",
+                                                "unused100",
+                                                "unused101",
+                                                "unused102",
+                                                "unused103",
+                                                "unused104",
+                                                "unused105",
+                                                "unused106",
+                                                "unused107",
+                                                "unused108",
+                                                "unused109",
+                                                "unused110",
+                                                "unused111",
+                                                "unused112",
+                                                "unused113",
+                                                "unused114",
+                                                "unused115",
+                                                "unused116",
+                                                "unused117",
+                                                "unused118",
+                                                "unused119",
+                                                "unused120",
+                                                "unused121",
+                                                "unused122",
+                                                "unused123",
+                                                "unused124",
+                                                "unused125",
+                                                "unused126",
+                                                "unused127",
+                                                "unused128",
+                                                "unused129",
+                                                "unused130",
+                                                "unused131",
+                                                "unused132",
+                                                "unused133",
+                                                "unused134",
+                                                "unused135",
+                                                "unused136",
+                                                "unused137",
+                                                "unused138",
+                                                "unused139",
+                                                "unused140",
+                                                "unused141",
+                                                "unused142",
+                                                "unused143",
+                                                "unused144",
+                                                "unused145",
+                                                "unused146",
+                                                "unused147",
+                                                "unused148",
+                                                "unused149",
+                                                "unused150",
+                                                "unused151",
+                                                "unused152",
+                                                "unused153",
+                                                "unused154",
+                                                "unused155",
+                                                "unused156",
+                                                "unused157",
+                                                "unused158",
+                                                "unused159",
+                                                "unused160",
+                                                "unused161",
+                                                "unused162",
+                                                "unused163",
+                                                "unused164",
+                                                "unused165",
+                                                "unused166",
+                                                "unused167",
+                                                "unused168",
+                                                "unused169",
+                                                "unused170",
+                                                "unused171",
+                                                "unused172",
+                                                "unused173",
+                                                "unused174",
+                                                "unused175",
+                                                "unused176",
+                                                "unused177",
+                                                "unused178",
+                                                "unused179",
+                                                "unused180",
+                                                "unused181",
+                                                "unused182",
+                                                "unused183",
+                                                "unused184",
+                                                "unused185",
+                                                "unused186",
+                                                "unused187",
+                                                "unused188",
+                                                "unused189",
+                                                "unused190",
+                                                "unused191",
+                                                "unused192",
+                                                "unused193",
+                                                "unused194",
+                                                "unused195",
+                                                "unused196",
+                                                "unused197",
+                                                "unused198",
+                                                "unused199",
+                                                "unused200",
+                                                "unused201",
+                                                "unused202",
+                                                "unused203",
+                                                "unused204",
+                                                "unused205",
+                                                "unused206",
+                                                "unused207",
+                                                "unused208",
+                                                "unused209",
+                                                "unused210",
+                                                "unused211",
+                                                "unused212",
+                                                "unused213",
+                                                "unused214",
+                                                "unused215",
+                                                "unused216",
+                                                "unused217",
+                                                "unused218",
+                                                "unused219",
+                                                "unused220",
+                                                "unused221",
+                                                "unused222",
+                                                "unused223",
+                                                "unused224",
+                                                "unused225",
+                                                "unused226",
+                                                "unused227",
+                                                "unused228",
+                                                "unused229",
+                                                "unused230",
+                                                "unused231",
+                                                "unused232",
+                                                "unused233",
+                                                "unused234",
+                                                "unused235",
+                                                "unused236",
+                                                "unused237",
+                                                "unused238",
+                                                "unused239",
+                                                "unused240",
+                                                "unused241",
+                                                "unused242",
+                                                "unused243",
+                                                "unused244",
+                                                "unused245",
+                                                "unused246",
+                                                "unused247",
+                                                "unused248",
+                                                "unused249",
+                                                "unused250",
+                                                "unused251",
+                                                "unused252",
+                                                "unused253",
+                                                "unused254",
+                                                "unused255"
+                                             ],
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "vmid" : {
                                              "description" : "The (unique) ID of the VM.",
                                              "format" : "pve-vmid",
@@ -27906,7 +30895,263 @@ var pveapi = [
                                                 "mp252",
                                                 "mp253",
                                                 "mp254",
-                                                "mp255"
+                                                "mp255",
+                                                "unused0",
+                                                "unused1",
+                                                "unused2",
+                                                "unused3",
+                                                "unused4",
+                                                "unused5",
+                                                "unused6",
+                                                "unused7",
+                                                "unused8",
+                                                "unused9",
+                                                "unused10",
+                                                "unused11",
+                                                "unused12",
+                                                "unused13",
+                                                "unused14",
+                                                "unused15",
+                                                "unused16",
+                                                "unused17",
+                                                "unused18",
+                                                "unused19",
+                                                "unused20",
+                                                "unused21",
+                                                "unused22",
+                                                "unused23",
+                                                "unused24",
+                                                "unused25",
+                                                "unused26",
+                                                "unused27",
+                                                "unused28",
+                                                "unused29",
+                                                "unused30",
+                                                "unused31",
+                                                "unused32",
+                                                "unused33",
+                                                "unused34",
+                                                "unused35",
+                                                "unused36",
+                                                "unused37",
+                                                "unused38",
+                                                "unused39",
+                                                "unused40",
+                                                "unused41",
+                                                "unused42",
+                                                "unused43",
+                                                "unused44",
+                                                "unused45",
+                                                "unused46",
+                                                "unused47",
+                                                "unused48",
+                                                "unused49",
+                                                "unused50",
+                                                "unused51",
+                                                "unused52",
+                                                "unused53",
+                                                "unused54",
+                                                "unused55",
+                                                "unused56",
+                                                "unused57",
+                                                "unused58",
+                                                "unused59",
+                                                "unused60",
+                                                "unused61",
+                                                "unused62",
+                                                "unused63",
+                                                "unused64",
+                                                "unused65",
+                                                "unused66",
+                                                "unused67",
+                                                "unused68",
+                                                "unused69",
+                                                "unused70",
+                                                "unused71",
+                                                "unused72",
+                                                "unused73",
+                                                "unused74",
+                                                "unused75",
+                                                "unused76",
+                                                "unused77",
+                                                "unused78",
+                                                "unused79",
+                                                "unused80",
+                                                "unused81",
+                                                "unused82",
+                                                "unused83",
+                                                "unused84",
+                                                "unused85",
+                                                "unused86",
+                                                "unused87",
+                                                "unused88",
+                                                "unused89",
+                                                "unused90",
+                                                "unused91",
+                                                "unused92",
+                                                "unused93",
+                                                "unused94",
+                                                "unused95",
+                                                "unused96",
+                                                "unused97",
+                                                "unused98",
+                                                "unused99",
+                                                "unused100",
+                                                "unused101",
+                                                "unused102",
+                                                "unused103",
+                                                "unused104",
+                                                "unused105",
+                                                "unused106",
+                                                "unused107",
+                                                "unused108",
+                                                "unused109",
+                                                "unused110",
+                                                "unused111",
+                                                "unused112",
+                                                "unused113",
+                                                "unused114",
+                                                "unused115",
+                                                "unused116",
+                                                "unused117",
+                                                "unused118",
+                                                "unused119",
+                                                "unused120",
+                                                "unused121",
+                                                "unused122",
+                                                "unused123",
+                                                "unused124",
+                                                "unused125",
+                                                "unused126",
+                                                "unused127",
+                                                "unused128",
+                                                "unused129",
+                                                "unused130",
+                                                "unused131",
+                                                "unused132",
+                                                "unused133",
+                                                "unused134",
+                                                "unused135",
+                                                "unused136",
+                                                "unused137",
+                                                "unused138",
+                                                "unused139",
+                                                "unused140",
+                                                "unused141",
+                                                "unused142",
+                                                "unused143",
+                                                "unused144",
+                                                "unused145",
+                                                "unused146",
+                                                "unused147",
+                                                "unused148",
+                                                "unused149",
+                                                "unused150",
+                                                "unused151",
+                                                "unused152",
+                                                "unused153",
+                                                "unused154",
+                                                "unused155",
+                                                "unused156",
+                                                "unused157",
+                                                "unused158",
+                                                "unused159",
+                                                "unused160",
+                                                "unused161",
+                                                "unused162",
+                                                "unused163",
+                                                "unused164",
+                                                "unused165",
+                                                "unused166",
+                                                "unused167",
+                                                "unused168",
+                                                "unused169",
+                                                "unused170",
+                                                "unused171",
+                                                "unused172",
+                                                "unused173",
+                                                "unused174",
+                                                "unused175",
+                                                "unused176",
+                                                "unused177",
+                                                "unused178",
+                                                "unused179",
+                                                "unused180",
+                                                "unused181",
+                                                "unused182",
+                                                "unused183",
+                                                "unused184",
+                                                "unused185",
+                                                "unused186",
+                                                "unused187",
+                                                "unused188",
+                                                "unused189",
+                                                "unused190",
+                                                "unused191",
+                                                "unused192",
+                                                "unused193",
+                                                "unused194",
+                                                "unused195",
+                                                "unused196",
+                                                "unused197",
+                                                "unused198",
+                                                "unused199",
+                                                "unused200",
+                                                "unused201",
+                                                "unused202",
+                                                "unused203",
+                                                "unused204",
+                                                "unused205",
+                                                "unused206",
+                                                "unused207",
+                                                "unused208",
+                                                "unused209",
+                                                "unused210",
+                                                "unused211",
+                                                "unused212",
+                                                "unused213",
+                                                "unused214",
+                                                "unused215",
+                                                "unused216",
+                                                "unused217",
+                                                "unused218",
+                                                "unused219",
+                                                "unused220",
+                                                "unused221",
+                                                "unused222",
+                                                "unused223",
+                                                "unused224",
+                                                "unused225",
+                                                "unused226",
+                                                "unused227",
+                                                "unused228",
+                                                "unused229",
+                                                "unused230",
+                                                "unused231",
+                                                "unused232",
+                                                "unused233",
+                                                "unused234",
+                                                "unused235",
+                                                "unused236",
+                                                "unused237",
+                                                "unused238",
+                                                "unused239",
+                                                "unused240",
+                                                "unused241",
+                                                "unused242",
+                                                "unused243",
+                                                "unused244",
+                                                "unused245",
+                                                "unused246",
+                                                "unused247",
+                                                "unused248",
+                                                "unused249",
+                                                "unused250",
+                                                "unused251",
+                                                "unused252",
+                                                "unused253",
+                                                "unused254",
+                                                "unused255"
                                              ],
                                              "type" : "string"
                                           }
@@ -27914,23 +31159,13 @@ var pveapi = [
                                     },
                                     "permissions" : {
                                        "check" : [
-                                          "and",
-                                          [
-                                             "perm",
-                                             "/vms/{vmid}",
-                                             [
-                                                "VM.Config.Disk"
-                                             ]
-                                          ],
+                                          "perm",
+                                          "/vms/{vmid}",
                                           [
-                                             "perm",
-                                             "/storage/{storage}",
-                                             [
-                                                "Datastore.AllocateSpace"
-                                             ]
+                                             "VM.Config.Disk"
                                           ]
                                        ],
-                                       "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
+                                       "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage. To move a volume to another container, you need the permissions on the target container as well."
                                     },
                                     "protected" : 1,
                                     "proxyto" : "node",
@@ -28023,6 +31258,12 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "destroy-unreferenced-disks" : {
+                                       "description" : "If set, destroy additionally all disks with the VMID from all enabled storages which are not referenced in the config.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "force" : {
                                        "default" : 0,
                                        "description" : "Force destroy, even if running.",
@@ -28294,7 +31535,8 @@ var pveapi = [
                                  "typetext" : "<boolean>"
                               },
                               "description" : {
-                                 "description" : "Container description. Only used on the configuration web interface.",
+                                 "description" : "Description for the Container. Shown in the web-interface CT's summary. This is saved as comment inside the configuration file.",
+                                 "maxLength" : 8192,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -28397,7 +31639,7 @@ var pveapi = [
                                  "typetext" : "<integer> (16 - N)"
                               },
                               "mp[n]" : {
-                                 "description" : "Use volume as container mount point.",
+                                 "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
                                  "format" : {
                                     "acl" : {
                                        "description" : "Explicitly enable or disable ACL support.",
@@ -28414,7 +31656,7 @@ var pveapi = [
                                        "description" : "Extra mount options for rootfs/mps.",
                                        "format_description" : "opt[;opt...]",
                                        "optional" : 1,
-                                       "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                       "pattern" : "(?^:(?^:(noatime|lazytime|nodev|nosuid|noexec))(;(?^:(noatime|lazytime|nodev|nosuid|noexec)))*)",
                                        "type" : "string"
                                     },
                                     "mp" : {
@@ -28468,7 +31710,7 @@ var pveapi = [
                               },
                               "nameserver" : {
                                  "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
-                                 "format" : "address-list",
+                                 "format" : "lxc-ip-with-ll-iface-list",
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -28592,6 +31834,7 @@ var pveapi = [
                                  "description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
                                  "enum" : [
                                     "debian",
+                                    "devuan",
                                     "ubuntu",
                                     "centos",
                                     "fedora",
@@ -28599,6 +31842,7 @@ var pveapi = [
                                     "archlinux",
                                     "alpine",
                                     "gentoo",
+                                    "nixos",
                                     "unmanaged"
                                  ],
                                  "optional" : 1,
@@ -28643,7 +31887,7 @@ var pveapi = [
                                        "description" : "Extra mount options for rootfs/mps.",
                                        "format_description" : "opt[;opt...]",
                                        "optional" : 1,
-                                       "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                       "pattern" : "(?^:(?^:(noatime|lazytime|nodev|nosuid|noexec))(;(?^:(noatime|lazytime|nodev|nosuid|noexec)))*)",
                                        "type" : "string"
                                     },
                                     "quota" : {
@@ -29053,7 +32297,7 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "db_size" : {
+                                    "db_dev_size" : {
                                        "default" : "bluestore_block_db_size or 10% of OSD size",
                                        "description" : "Size in GiB for block.db.",
                                        "minimum" : 1,
@@ -29087,7 +32331,7 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "wal_size" : {
+                                    "wal_dev_size" : {
                                        "default" : "bluestore_block_wal_size or 1% of OSD size",
                                        "description" : "Size in GiB for block.wal.",
                                        "minimum" : 0.5,
@@ -29476,8 +32720,8 @@ var pveapi = [
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "mon-address" : {
-                                             "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
-                                             "format" : "ip",
+                                             "description" : "Overwrites autodetected monitor IP address(es). Must be in the public network(s) of Ceph.",
+                                             "format" : "ip-list",
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -29708,95 +32952,673 @@ var pveapi = [
                         "text" : "fs"
                      },
                      {
-                        "info" : {
-                           "GET" : {
-                              "allowtoken" : 1,
-                              "description" : "List local disks.",
-                              "method" : "GET",
-                              "name" : "disks",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "node" : {
-                                       "description" : "The cluster node name.",
-                                       "format" : "pve-node",
-                                       "type" : "string",
-                                       "typetext" : "<string>"
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Destroy pool",
+                                    "method" : "DELETE",
+                                    "name" : "destroypool",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "force" : {
+                                             "default" : 0,
+                                             "description" : "If true, destroys pool even if in use",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "name" : {
+                                             "description" : "The name of the pool. It must be unique.",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "remove_ecprofile" : {
+                                             "default" : 1,
+                                             "description" : "Remove the erasure code profile. Defaults to true, if applicable.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "remove_storages" : {
+                                             "default" : 0,
+                                             "description" : "Remove all pveceph-managed storages configured for this pool",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          }
+                                       }
                                     },
-                                    "type" : {
-                                       "description" : "Only list specific types of disks.",
-                                       "enum" : [
-                                          "unused",
-                                          "journal_disks"
-                                       ],
-                                       "optional" : 1,
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
                                        "type" : "string"
                                     }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Audit",
-                                       "Datastore.Audit"
-                                    ],
-                                    "any",
-                                    1
-                                 ]
-                              },
-                              "protected" : 1,
-                              "proxyto" : "node",
-                              "returns" : {
-                                 "items" : {
-                                    "properties" : {
-                                       "dev" : {
-                                          "type" : "string"
-                                       },
-                                       "gpt" : {
-                                          "type" : "boolean"
-                                       },
-                                       "model" : {
-                                          "optional" : 1,
-                                          "type" : "string"
-                                       },
-                                       "osdid" : {
-                                          "type" : "integer"
-                                       },
-                                       "serial" : {
-                                          "optional" : 1,
-                                          "type" : "string"
-                                       },
-                                       "size" : {
-                                          "type" : "integer"
-                                       },
-                                       "used" : {
-                                          "optional" : 1,
-                                          "type" : "string"
-                                       },
-                                       "vendor" : {
-                                          "optional" : 1,
-                                          "type" : "string"
+                                 },
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "List pool settings.",
+                                    "method" : "GET",
+                                    "name" : "getpool",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "name" : {
+                                             "description" : "The name of the pool. It must be unique.",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "verbose" : {
+                                             "default" : 0,
+                                             "description" : "If enabled, will display additional data(eg. statistics).",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          }
                                        }
                                     },
-                                    "type" : "object"
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Audit",
+                                             "Datastore.Audit"
+                                          ],
+                                          "any",
+                                          1
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "properties" : {
+                                          "application" : {
+                                             "default" : "rbd",
+                                             "description" : "The application of the pool.",
+                                             "enum" : [
+                                                "rbd",
+                                                "cephfs",
+                                                "rgw"
+                                             ],
+                                             "optional" : 1,
+                                             "title" : "Application",
+                                             "type" : "string"
+                                          },
+                                          "application_list" : {
+                                             "optional" : 1,
+                                             "title" : "Application",
+                                             "type" : "array"
+                                          },
+                                          "autoscale_status" : {
+                                             "optional" : 1,
+                                             "title" : "Autoscale Status",
+                                             "type" : "object"
+                                          },
+                                          "crush_rule" : {
+                                             "description" : "The rule to use for mapping object placement in the cluster.",
+                                             "optional" : 1,
+                                             "title" : "Crush Rule Name",
+                                             "type" : "string"
+                                          },
+                                          "fast_read" : {
+                                             "title" : "Fast Read",
+                                             "type" : "boolean"
+                                          },
+                                          "hashpspool" : {
+                                             "title" : "hashpspool",
+                                             "type" : "boolean"
+                                          },
+                                          "id" : {
+                                             "title" : "ID",
+                                             "type" : "integer"
+                                          },
+                                          "min_size" : {
+                                             "default" : 2,
+                                             "description" : "Minimum number of replicas per object",
+                                             "maximum" : 7,
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "title" : "Min Size",
+                                             "type" : "integer"
+                                          },
+                                          "name" : {
+                                             "description" : "The name of the pool. It must be unique.",
+                                             "title" : "Name",
+                                             "type" : "string"
+                                          },
+                                          "nodeep-scrub" : {
+                                             "title" : "nodeep-scrub",
+                                             "type" : "boolean"
+                                          },
+                                          "nodelete" : {
+                                             "title" : "nodelete",
+                                             "type" : "boolean"
+                                          },
+                                          "nopgchange" : {
+                                             "title" : "nopgchange",
+                                             "type" : "boolean"
+                                          },
+                                          "noscrub" : {
+                                             "title" : "noscrub",
+                                             "type" : "boolean"
+                                          },
+                                          "nosizechange" : {
+                                             "title" : "nosizechange",
+                                             "type" : "boolean"
+                                          },
+                                          "pg_autoscale_mode" : {
+                                             "default" : "warn",
+                                             "description" : "The automatic PG scaling mode of the pool.",
+                                             "enum" : [
+                                                "on",
+                                                "off",
+                                                "warn"
+                                             ],
+                                             "optional" : 1,
+                                             "title" : "PG Autoscale Mode",
+                                             "type" : "string"
+                                          },
+                                          "pg_num" : {
+                                             "default" : 128,
+                                             "description" : "Number of placement groups.",
+                                             "maximum" : 32768,
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "title" : "PG Num",
+                                             "type" : "integer"
+                                          },
+                                          "pg_num_min" : {
+                                             "description" : "Minimal number of placement groups.",
+                                             "maximum" : 32768,
+                                             "optional" : 1,
+                                             "title" : "min. PG Num",
+                                             "type" : "integer"
+                                          },
+                                          "pgp_num" : {
+                                             "title" : "PGP num",
+                                             "type" : "integer"
+                                          },
+                                          "size" : {
+                                             "default" : 3,
+                                             "description" : "Number of replicas per object",
+                                             "maximum" : 7,
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "title" : "Size",
+                                             "type" : "integer"
+                                          },
+                                          "statistics" : {
+                                             "optional" : 1,
+                                             "title" : "Statistics",
+                                             "type" : "object"
+                                          },
+                                          "target_size" : {
+                                             "description" : "The estimated target size of the pool for the PG autoscaler.",
+                                             "optional" : 1,
+                                             "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
+                                             "title" : "PG Autoscale Target Size",
+                                             "type" : "string"
+                                          },
+                                          "target_size_ratio" : {
+                                             "description" : "The estimated target ratio of the pool for the PG autoscaler.",
+                                             "optional" : 1,
+                                             "title" : "PG Autoscale Target Ratio",
+                                             "type" : "number"
+                                          },
+                                          "use_gmt_hitset" : {
+                                             "title" : "use_gmt_hitset",
+                                             "type" : "boolean"
+                                          },
+                                          "write_fadvise_dontneed" : {
+                                             "title" : "write_fadvise_dontneed",
+                                             "type" : "boolean"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
                                  },
-                                 "type" : "array"
-                              }
+                                 "PUT" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Change POOL settings",
+                                    "method" : "PUT",
+                                    "name" : "setpool",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "application" : {
+                                             "description" : "The application of the pool.",
+                                             "enum" : [
+                                                "rbd",
+                                                "cephfs",
+                                                "rgw"
+                                             ],
+                                             "optional" : 1,
+                                             "title" : "Application",
+                                             "type" : "string"
+                                          },
+                                          "crush_rule" : {
+                                             "description" : "The rule to use for mapping object placement in the cluster.",
+                                             "optional" : 1,
+                                             "title" : "Crush Rule Name",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "min_size" : {
+                                             "description" : "Minimum number of replicas per object",
+                                             "maximum" : 7,
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "title" : "Min Size",
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - 7)"
+                                          },
+                                          "name" : {
+                                             "description" : "The name of the pool. It must be unique.",
+                                             "title" : "Name",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "pg_autoscale_mode" : {
+                                             "description" : "The automatic PG scaling mode of the pool.",
+                                             "enum" : [
+                                                "on",
+                                                "off",
+                                                "warn"
+                                             ],
+                                             "optional" : 1,
+                                             "title" : "PG Autoscale Mode",
+                                             "type" : "string"
+                                          },
+                                          "pg_num" : {
+                                             "description" : "Number of placement groups.",
+                                             "maximum" : 32768,
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "title" : "PG Num",
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - 32768)"
+                                          },
+                                          "pg_num_min" : {
+                                             "description" : "Minimal number of placement groups.",
+                                             "maximum" : 32768,
+                                             "optional" : 1,
+                                             "title" : "min. PG Num",
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (-N - 32768)"
+                                          },
+                                          "size" : {
+                                             "description" : "Number of replicas per object",
+                                             "maximum" : 7,
+                                             "minimum" : 1,
+                                             "optional" : 1,
+                                             "title" : "Size",
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - 7)"
+                                          },
+                                          "target_size" : {
+                                             "description" : "The estimated target size of the pool for the PG autoscaler.",
+                                             "optional" : 1,
+                                             "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
+                                             "title" : "PG Autoscale Target Size",
+                                             "type" : "string"
+                                          },
+                                          "target_size_ratio" : {
+                                             "description" : "The estimated target ratio of the pool for the PG autoscaler.",
+                                             "optional" : 1,
+                                             "title" : "PG Autoscale Target Ratio",
+                                             "type" : "number",
+                                             "typetext" : "<number>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/ceph/pools/{name}",
+                              "text" : "{name}"
                            }
-                        },
-                        "leaf" : 1,
-                        "path" : "/nodes/{node}/ceph/disks",
-                        "text" : "disks"
-                     },
-                     {
+                        ],
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Get Ceph configuration.",
+                              "description" : "List all pools.",
                               "method" : "GET",
-                              "name" : "config",
+                              "name" : "lspools",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "autoscale_status" : {
+                                          "optional" : 1,
+                                          "title" : "Autoscale Status",
+                                          "type" : "object"
+                                       },
+                                       "bytes_used" : {
+                                          "title" : "Used",
+                                          "type" : "integer"
+                                       },
+                                       "crush_rule" : {
+                                          "title" : "Crush Rule",
+                                          "type" : "integer"
+                                       },
+                                       "crush_rule_name" : {
+                                          "title" : "Crush Rule Name",
+                                          "type" : "string"
+                                       },
+                                       "min_size" : {
+                                          "title" : "Min Size",
+                                          "type" : "integer"
+                                       },
+                                       "percent_used" : {
+                                          "title" : "%-Used",
+                                          "type" : "number"
+                                       },
+                                       "pg_autoscale_mode" : {
+                                          "optional" : 1,
+                                          "title" : "PG Autoscale Mode",
+                                          "type" : "string"
+                                       },
+                                       "pg_num" : {
+                                          "title" : "PG Num",
+                                          "type" : "integer"
+                                       },
+                                       "pg_num_final" : {
+                                          "optional" : 1,
+                                          "title" : "Optimal PG Num",
+                                          "type" : "integer"
+                                       },
+                                       "pg_num_min" : {
+                                          "optional" : 1,
+                                          "title" : "min. PG Num",
+                                          "type" : "integer"
+                                       },
+                                       "pool" : {
+                                          "title" : "ID",
+                                          "type" : "integer"
+                                       },
+                                       "pool_name" : {
+                                          "title" : "Name",
+                                          "type" : "string"
+                                       },
+                                       "size" : {
+                                          "title" : "Size",
+                                          "type" : "integer"
+                                       },
+                                       "target_size" : {
+                                          "optional" : 1,
+                                          "title" : "PG Autoscale Target Size",
+                                          "type" : "integer"
+                                       },
+                                       "target_size_ratio" : {
+                                          "optional" : 1,
+                                          "title" : "PG Autoscale Target Ratio",
+                                          "type" : "number"
+                                       },
+                                       "type" : {
+                                          "enum" : [
+                                             "replicated",
+                                             "erasure",
+                                             "unknown"
+                                          ],
+                                          "title" : "Type",
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{pool_name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
+                              }
+                           },
+                           "POST" : {
+                              "allowtoken" : 1,
+                              "description" : "Create Ceph pool",
+                              "method" : "POST",
+                              "name" : "createpool",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "add_storages" : {
+                                       "default" : "0; for erasure coded pools: 1",
+                                       "description" : "Configure VM and CT storage using the new pool.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "application" : {
+                                       "default" : "rbd",
+                                       "description" : "The application of the pool.",
+                                       "enum" : [
+                                          "rbd",
+                                          "cephfs",
+                                          "rgw"
+                                       ],
+                                       "optional" : 1,
+                                       "title" : "Application",
+                                       "type" : "string"
+                                    },
+                                    "crush_rule" : {
+                                       "description" : "The rule to use for mapping object placement in the cluster.",
+                                       "optional" : 1,
+                                       "title" : "Crush Rule Name",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "erasure-coding" : {
+                                       "description" : "Create an erasure coded pool for RBD with an accompaning replicated pool for metadata storage. With EC, the common ceph options 'size', 'min_size' and 'crush_rule' parameters will be applied to the metadata pool.",
+                                       "format" : {
+                                          "device-class" : {
+                                             "description" : "CRUSH device class. Will create an erasure coded pool plus a replicated pool for metadata.",
+                                             "format_description" : "class",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "failure-domain" : {
+                                             "default" : "host",
+                                             "description" : "CRUSH failure domain. Default is 'host'. Will create an erasure coded pool plus a replicated pool for metadata.",
+                                             "format_description" : "domain",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "k" : {
+                                             "description" : "Number of data chunks. Will create an erasure coded pool plus a replicated pool for metadata.",
+                                             "minimum" : 2,
+                                             "type" : "integer"
+                                          },
+                                          "m" : {
+                                             "description" : "Number of coding chunks. Will create an erasure coded pool plus a replicated pool for metadata.",
+                                             "minimum" : 1,
+                                             "type" : "integer"
+                                          },
+                                          "profile" : {
+                                             "description" : "Override the erasure code (EC) profile to use. Will create an erasure coded pool plus a replicated pool for metadata.",
+                                             "format_description" : "profile",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "k=<integer> ,m=<integer> [,device-class=<class>] [,failure-domain=<domain>] [,profile=<profile>]"
+                                    },
+                                    "min_size" : {
+                                       "default" : 2,
+                                       "description" : "Minimum number of replicas per object",
+                                       "maximum" : 7,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "title" : "Min Size",
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 7)"
+                                    },
+                                    "name" : {
+                                       "description" : "The name of the pool. It must be unique.",
+                                       "title" : "Name",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "pg_autoscale_mode" : {
+                                       "default" : "warn",
+                                       "description" : "The automatic PG scaling mode of the pool.",
+                                       "enum" : [
+                                          "on",
+                                          "off",
+                                          "warn"
+                                       ],
+                                       "optional" : 1,
+                                       "title" : "PG Autoscale Mode",
+                                       "type" : "string"
+                                    },
+                                    "pg_num" : {
+                                       "default" : 128,
+                                       "description" : "Number of placement groups.",
+                                       "maximum" : 32768,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "title" : "PG Num",
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 32768)"
+                                    },
+                                    "pg_num_min" : {
+                                       "description" : "Minimal number of placement groups.",
+                                       "maximum" : 32768,
+                                       "optional" : 1,
+                                       "title" : "min. PG Num",
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (-N - 32768)"
+                                    },
+                                    "size" : {
+                                       "default" : 3,
+                                       "description" : "Number of replicas per object",
+                                       "maximum" : 7,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "title" : "Size",
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 7)"
+                                    },
+                                    "target_size" : {
+                                       "description" : "The estimated target size of the pool for the PG autoscaler.",
+                                       "optional" : 1,
+                                       "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
+                                       "title" : "PG Autoscale Target Size",
+                                       "type" : "string"
+                                    },
+                                    "target_size_ratio" : {
+                                       "description" : "The estimated target ratio of the pool for the PG autoscaler.",
+                                       "optional" : 1,
+                                       "title" : "PG Autoscale Target Ratio",
+                                       "type" : "number",
+                                       "typetext" : "<number>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/pools",
+                        "text" : "pools"
+                     },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Get Ceph configuration.",
+                              "method" : "GET",
+                              "name" : "config",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -30160,157 +33982,12 @@ var pveapi = [
                         "text" : "status"
                      },
                      {
-                        "children" : [
-                           {
-                              "info" : {
-                                 "DELETE" : {
-                                    "allowtoken" : 1,
-                                    "description" : "Destroy pool",
-                                    "method" : "DELETE",
-                                    "name" : "destroypool",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "force" : {
-                                             "default" : 0,
-                                             "description" : "If true, destroys pool even if in use",
-                                             "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
-                                          },
-                                          "name" : {
-                                             "description" : "The name of the pool. It must be unique.",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "remove_storages" : {
-                                             "default" : 0,
-                                             "description" : "Remove all pveceph-managed storages configured for this pool",
-                                             "optional" : 1,
-                                             "type" : "boolean",
-                                             "typetext" : "<boolean>"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Modify"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "type" : "string"
-                                    }
-                                 },
-                                 "PUT" : {
-                                    "allowtoken" : 1,
-                                    "description" : "Change POOL settings",
-                                    "method" : "PUT",
-                                    "name" : "setpool",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "application" : {
-                                             "description" : "The application of the pool.",
-                                             "enum" : [
-                                                "rbd",
-                                                "cephfs",
-                                                "rgw"
-                                             ],
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "crush_rule" : {
-                                             "description" : "The rule to use for mapping object placement in the cluster.",
-                                             "optional" : 1,
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "min_size" : {
-                                             "description" : "Minimum number of replicas per object",
-                                             "maximum" : 7,
-                                             "minimum" : 1,
-                                             "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - 7)"
-                                          },
-                                          "name" : {
-                                             "description" : "The name of the pool. It must be unique.",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          },
-                                          "pg_autoscale_mode" : {
-                                             "description" : "The automatic PG scaling mode of the pool.",
-                                             "enum" : [
-                                                "on",
-                                                "off",
-                                                "warn"
-                                             ],
-                                             "optional" : 1,
-                                             "type" : "string"
-                                          },
-                                          "pg_num" : {
-                                             "description" : "Number of placement groups.",
-                                             "maximum" : 32768,
-                                             "minimum" : 8,
-                                             "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (8 - 32768)"
-                                          },
-                                          "size" : {
-                                             "description" : "Number of replicas per object",
-                                             "maximum" : 7,
-                                             "minimum" : 1,
-                                             "optional" : 1,
-                                             "type" : "integer",
-                                             "typetext" : "<integer> (1 - 7)"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Modify"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "type" : "string"
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/ceph/pools/{name}",
-                              "text" : "{name}"
-                           }
-                        ],
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "List all pools.",
+                              "description" : "Get OSD crush map",
                               "method" : "GET",
-                              "name" : "lspools",
+                              "name" : "crush",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -30337,105 +34014,29 @@ var pveapi = [
                               "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
-                                 "items" : {
-                                    "properties" : {
-                                       "bytes_used" : {
-                                          "title" : "Used",
-                                          "type" : "integer"
-                                       },
-                                       "crush_rule" : {
-                                          "title" : "Crush Rule",
-                                          "type" : "integer"
-                                       },
-                                       "crush_rule_name" : {
-                                          "title" : "Crush Rule Name",
-                                          "type" : "string"
-                                       },
-                                       "min_size" : {
-                                          "title" : "Min Size",
-                                          "type" : "integer"
-                                       },
-                                       "percent_used" : {
-                                          "title" : "%-Used",
-                                          "type" : "number"
-                                       },
-                                       "pg_autoscale_mode" : {
-                                          "optional" : 1,
-                                          "title" : "PG Autoscale Mode",
-                                          "type" : "string"
-                                       },
-                                       "pg_num" : {
-                                          "title" : "PG Num",
-                                          "type" : "integer"
-                                       },
-                                       "pool" : {
-                                          "title" : "ID",
-                                          "type" : "integer"
-                                       },
-                                       "pool_name" : {
-                                          "title" : "Name",
-                                          "type" : "string"
-                                       },
-                                       "size" : {
-                                          "title" : "Size",
-                                          "type" : "integer"
-                                       }
-                                    },
-                                    "type" : "object"
-                                 },
-                                 "links" : [
-                                    {
-                                       "href" : "{pool_name}",
-                                       "rel" : "child"
-                                    }
-                                 ],
-                                 "type" : "array"
+                                 "type" : "string"
                               }
-                           },
-                           "POST" : {
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/ceph/crush",
+                        "text" : "crush"
+                     },
+                     {
+                        "info" : {
+                           "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Create POOL",
-                              "method" : "POST",
-                              "name" : "createpool",
+                              "description" : "Read ceph log",
+                              "method" : "GET",
+                              "name" : "log",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "add_storages" : {
-                                       "description" : "Configure VM and CT storage using the new pool.",
-                                       "optional" : 1,
-                                       "type" : "boolean",
-                                       "typetext" : "<boolean>"
-                                    },
-                                    "application" : {
-                                       "default" : "rbd",
-                                       "description" : "The application of the pool.",
-                                       "enum" : [
-                                          "rbd",
-                                          "cephfs",
-                                          "rgw"
-                                       ],
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "crush_rule" : {
-                                       "description" : "The rule to use for mapping object placement in the cluster.",
-                                       "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    },
-                                    "min_size" : {
-                                       "default" : 2,
-                                       "description" : "Minimum number of replicas per object",
-                                       "maximum" : 7,
-                                       "minimum" : 1,
+                                    "limit" : {
+                                       "minimum" : 0,
                                        "optional" : 1,
                                        "type" : "integer",
-                                       "typetext" : "<integer> (1 - 7)"
-                                    },
-                                    "name" : {
-                                       "description" : "The name of the pool. It must be unique.",
-                                       "type" : "string",
-                                       "typetext" : "<string>"
+                                       "typetext" : "<integer> (0 - N)"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
@@ -30443,265 +34044,8 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
-                                    "pg_autoscale_mode" : {
-                                       "default" : "warn",
-                                       "description" : "The automatic PG scaling mode of the pool.",
-                                       "enum" : [
-                                          "on",
-                                          "off",
-                                          "warn"
-                                       ],
-                                       "optional" : 1,
-                                       "type" : "string"
-                                    },
-                                    "pg_num" : {
-                                       "default" : 128,
-                                       "description" : "Number of placement groups.",
-                                       "maximum" : 32768,
-                                       "minimum" : 8,
-                                       "optional" : 1,
-                                       "type" : "integer",
-                                       "typetext" : "<integer> (8 - 32768)"
-                                    },
-                                    "size" : {
-                                       "default" : 3,
-                                       "description" : "Number of replicas per object",
-                                       "maximum" : 7,
-                                       "minimum" : 1,
-                                       "optional" : 1,
-                                       "type" : "integer",
-                                       "typetext" : "<integer> (1 - 7)"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Modify"
-                                    ]
-                                 ]
-                              },
-                              "protected" : 1,
-                              "proxyto" : "node",
-                              "returns" : {
-                                 "type" : "string"
-                              }
-                           }
-                        },
-                        "leaf" : 0,
-                        "path" : "/nodes/{node}/ceph/pools",
-                        "text" : "pools"
-                     },
-                     {
-                        "children" : [
-                           {
-                              "info" : {
-                                 "DELETE" : {
-                                    "allowtoken" : 1,
-                                    "description" : "Unset a ceph flag",
-                                    "method" : "DELETE",
-                                    "name" : "unset_flag",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "flag" : {
-                                             "description" : "The ceph flag to unset",
-                                             "enum" : [
-                                                "nobackfill",
-                                                "nodeep-scrub",
-                                                "nodown",
-                                                "noin",
-                                                "noout",
-                                                "norebalance",
-                                                "norecover",
-                                                "noscrub",
-                                                "notieragent",
-                                                "noup",
-                                                "pause"
-                                             ],
-                                             "type" : "string"
-                                          },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Modify"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "type" : "null"
-                                    }
-                                 },
-                                 "POST" : {
-                                    "allowtoken" : 1,
-                                    "description" : "Set a specific ceph flag",
-                                    "method" : "POST",
-                                    "name" : "set_flag",
-                                    "parameters" : {
-                                       "additionalProperties" : 0,
-                                       "properties" : {
-                                          "flag" : {
-                                             "description" : "The ceph flag to set",
-                                             "enum" : [
-                                                "nobackfill",
-                                                "nodeep-scrub",
-                                                "nodown",
-                                                "noin",
-                                                "noout",
-                                                "norebalance",
-                                                "norecover",
-                                                "noscrub",
-                                                "notieragent",
-                                                "noup",
-                                                "pause"
-                                             ],
-                                             "type" : "string"
-                                          },
-                                          "node" : {
-                                             "description" : "The cluster node name.",
-                                             "format" : "pve-node",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
-                                          }
-                                       }
-                                    },
-                                    "permissions" : {
-                                       "check" : [
-                                          "perm",
-                                          "/",
-                                          [
-                                             "Sys.Modify"
-                                          ]
-                                       ]
-                                    },
-                                    "protected" : 1,
-                                    "proxyto" : "node",
-                                    "returns" : {
-                                       "type" : "null"
-                                    }
-                                 }
-                              },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/ceph/flags/{flag}",
-                              "text" : "{flag}"
-                           }
-                        ],
-                        "info" : {
-                           "GET" : {
-                              "allowtoken" : 1,
-                              "description" : "get all set ceph flags",
-                              "method" : "GET",
-                              "name" : "get_flags",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "node" : {
-                                       "description" : "The cluster node name.",
-                                       "format" : "pve-node",
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    }
-                                 }
-                              },
-                              "permissions" : {
-                                 "check" : [
-                                    "perm",
-                                    "/",
-                                    [
-                                       "Sys.Audit"
-                                    ]
-                                 ]
-                              },
-                              "protected" : 1,
-                              "proxyto" : "node",
-                              "returns" : {
-                                 "type" : "string"
-                              }
-                           }
-                        },
-                        "leaf" : 0,
-                        "path" : "/nodes/{node}/ceph/flags",
-                        "text" : "flags"
-                     },
-                     {
-                        "info" : {
-                           "GET" : {
-                              "allowtoken" : 1,
-                              "description" : "Get OSD crush map",
-                              "method" : "GET",
-                              "name" : "crush",
-                              "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" : {
-                                 "type" : "string"
-                              }
-                           }
-                        },
-                        "leaf" : 1,
-                        "path" : "/nodes/{node}/ceph/crush",
-                        "text" : "crush"
-                     },
-                     {
-                        "info" : {
-                           "GET" : {
-                              "allowtoken" : 1,
-                              "description" : "Read ceph log",
-                              "method" : "GET",
-                              "name" : "log",
-                              "parameters" : {
-                                 "additionalProperties" : 0,
-                                 "properties" : {
-                                    "limit" : {
-                                       "minimum" : 0,
-                                       "optional" : 1,
-                                       "type" : "integer",
-                                       "typetext" : "<integer> (0 - N)"
-                                    },
-                                    "node" : {
-                                       "description" : "The cluster node name.",
-                                       "format" : "pve-node",
-                                       "type" : "string",
-                                       "typetext" : "<string>"
-                                    },
-                                    "start" : {
-                                       "minimum" : 0,
+                                    "start" : {
+                                       "minimum" : 0,
                                        "optional" : 1,
                                        "type" : "integer",
                                        "typetext" : "<integer> (0 - N)"
@@ -30843,6 +34187,234 @@ var pveapi = [
                },
                {
                   "children" : [
+                     {
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Get the currently configured vzdump defaults.",
+                              "method" : "GET",
+                              "name" : "defaults",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "storage" : {
+                                       "description" : "The storage identifier.",
+                                       "format" : "pve-storage-id",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "description" : "The user needs 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions for the specified storage (or default storage if none specified). Some properties are only returned when the user has 'Sys.Audit' permissions for the node.",
+                                 "user" : "all"
+                              },
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "all" : {
+                                       "default" : 0,
+                                       "description" : "Backup all known guest systems on this host.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "bwlimit" : {
+                                       "default" : 0,
+                                       "description" : "Limit I/O bandwidth (KBytes per second).",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "compress" : {
+                                       "default" : "0",
+                                       "description" : "Compress dump file.",
+                                       "enum" : [
+                                          "0",
+                                          "1",
+                                          "gzip",
+                                          "lzo",
+                                          "zstd"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "dumpdir" : {
+                                       "description" : "Store resulting files to specified directory.",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "exclude" : {
+                                       "description" : "Exclude specified guest systems (assumes --all)",
+                                       "format" : "pve-vmid-list",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "exclude-path" : {
+                                       "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root,  other paths match relative to each subdirectory.",
+                                       "format" : "string-alist",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "ionice" : {
+                                       "default" : 7,
+                                       "description" : "Set CFQ ionice priority.",
+                                       "maximum" : 8,
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "lockwait" : {
+                                       "default" : 180,
+                                       "description" : "Maximal time to wait for the global lock (minutes).",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "mailnotification" : {
+                                       "default" : "always",
+                                       "description" : "Specify when to send an email",
+                                       "enum" : [
+                                          "always",
+                                          "failure"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "mailto" : {
+                                       "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
+                                       "format" : "email-or-username-list",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "maxfiles" : {
+                                       "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "mode" : {
+                                       "default" : "snapshot",
+                                       "description" : "Backup mode.",
+                                       "enum" : [
+                                          "snapshot",
+                                          "suspend",
+                                          "stop"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "node" : {
+                                       "description" : "Only run if executed on this node.",
+                                       "format" : "pve-node",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "notes-template" : {
+                                       "description" : "Template string for generating notes for the backup(s). It can contain variables which will be replaced by their values. Currently supported are {{cluster}}, {{guestname}}, {{node}}, and {{vmid}}, but more might be added in the future.",
+                                       "optional" : 1,
+                                       "requires" : "storage",
+                                       "type" : "string"
+                                    },
+                                    "pigz" : {
+                                       "default" : 0,
+                                       "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "pool" : {
+                                       "description" : "Backup all known guest systems included in the specified pool.",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "protected" : {
+                                       "description" : "If true, mark backup(s) as protected.",
+                                       "optional" : 1,
+                                       "requires" : "storage",
+                                       "type" : "boolean"
+                                    },
+                                    "prune-backups" : {
+                                       "default" : "keep-all=1",
+                                       "description" : "Use these retention options instead of those from the storage configuration.",
+                                       "format" : "prune-backups",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "quiet" : {
+                                       "default" : 0,
+                                       "description" : "Be quiet.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "remove" : {
+                                       "default" : 1,
+                                       "description" : "Prune older backups according to 'prune-backups'.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "script" : {
+                                       "description" : "Use specified hook script.",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "stdexcludes" : {
+                                       "default" : 1,
+                                       "description" : "Exclude temporary files and logs.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "stop" : {
+                                       "default" : 0,
+                                       "description" : "Stop running backup jobs on this host.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "stopwait" : {
+                                       "default" : 10,
+                                       "description" : "Maximal time to wait until a guest system is stopped (minutes).",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "storage" : {
+                                       "description" : "Store resulting file to this storage.",
+                                       "format" : "pve-storage-id",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "tmpdir" : {
+                                       "description" : "Store temporary files to specified directory.",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "vmid" : {
+                                       "description" : "The ID of the guest system you want to backup.",
+                                       "format" : "pve-vmid-list",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "zstd" : {
+                                       "default" : 1,
+                                       "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/vzdump/defaults",
+                        "text" : "defaults"
+                     },
                      {
                         "info" : {
                            "GET" : {
@@ -30933,7 +34505,7 @@ var pveapi = [
                                  "typetext" : "<string>"
                               },
                               "exclude-path" : {
-                                 "description" : "Exclude certain files/directories (shell globs).",
+                                 "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root,  other paths match relative to each subdirectory.",
                                  "format" : "string-alist",
                                  "optional" : 1,
                                  "type" : "string",
@@ -30967,15 +34539,14 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "mailto" : {
-                                 "description" : "Comma-separated list of email addresses that should receive email notifications.",
-                                 "format" : "string-list",
+                                 "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
+                                 "format" : "email-or-username-list",
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
                               "maxfiles" : {
-                                 "default" : 1,
-                                 "description" : "Maximal number of backup files per guest system.",
+                                 "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
                                  "minimum" : 1,
                                  "optional" : 1,
                                  "type" : "integer",
@@ -30999,6 +34570,13 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "notes-template" : {
+                                 "description" : "Template string for generating notes for the backup(s). It can contain variables which will be replaced by their values. Currently supported are {{cluster}}, {{guestname}}, {{node}}, and {{vmid}}, but more might be added in the future.",
+                                 "optional" : 1,
+                                 "requires" : "storage",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "pigz" : {
                                  "default" : 0,
                                  "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
@@ -31012,7 +34590,15 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "protected" : {
+                                 "description" : "If true, mark backup(s) as protected.",
+                                 "optional" : 1,
+                                 "requires" : "storage",
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "prune-backups" : {
+                                 "default" : "keep-all=1",
                                  "description" : "Use these retention options instead of those from the storage configuration.",
                                  "format" : "prune-backups",
                                  "optional" : 1,
@@ -31028,7 +34614,7 @@ var pveapi = [
                               },
                               "remove" : {
                                  "default" : 1,
-                                 "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
+                                 "description" : "Prune older backups according to 'prune-backups'.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -31039,14 +34625,6 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
-                              "size" : {
-                                 "default" : 1024,
-                                 "description" : "Unused, will be removed in a future release.",
-                                 "minimum" : 500,
-                                 "optional" : 1,
-                                 "type" : "integer",
-                                 "typetext" : "<integer> (500 - N)"
-                              },
                               "stdexcludes" : {
                                  "default" : 1,
                                  "description" : "Exclude temporary files and logs.",
@@ -31142,21 +34720,24 @@ var pveapi = [
                                           "service" : {
                                              "description" : "Service ID",
                                              "enum" : [
-                                                "pveproxy",
-                                                "pvedaemon",
-                                                "spiceproxy",
-                                                "pvestatd",
-                                                "pve-cluster",
+                                                "chrony",
                                                 "corosync",
+                                                "cron",
+                                                "ksmtuned",
+                                                "postfix",
+                                                "pve-cluster",
                                                 "pve-firewall",
-                                                "pvefw-logger",
                                                 "pve-ha-crm",
                                                 "pve-ha-lrm",
+                                                "pvedaemon",
+                                                "pvefw-logger",
+                                                "pveproxy",
+                                                "pvescheduler",
+                                                "pvestatd",
+                                                "spiceproxy",
                                                 "sshd",
                                                 "syslog",
-                                                "cron",
-                                                "postfix",
-                                                "ksmtuned",
+                                                "systemd-journald",
                                                 "systemd-timesyncd"
                                              ],
                                              "type" : "string"
@@ -31202,21 +34783,24 @@ var pveapi = [
                                           "service" : {
                                              "description" : "Service ID",
                                              "enum" : [
-                                                "pveproxy",
-                                                "pvedaemon",
-                                                "spiceproxy",
-                                                "pvestatd",
-                                                "pve-cluster",
+                                                "chrony",
                                                 "corosync",
+                                                "cron",
+                                                "ksmtuned",
+                                                "postfix",
+                                                "pve-cluster",
                                                 "pve-firewall",
-                                                "pvefw-logger",
                                                 "pve-ha-crm",
                                                 "pve-ha-lrm",
+                                                "pvedaemon",
+                                                "pvefw-logger",
+                                                "pveproxy",
+                                                "pvescheduler",
+                                                "pvestatd",
+                                                "spiceproxy",
                                                 "sshd",
                                                 "syslog",
-                                                "cron",
-                                                "postfix",
-                                                "ksmtuned",
+                                                "systemd-journald",
                                                 "systemd-timesyncd"
                                              ],
                                              "type" : "string"
@@ -31262,21 +34846,24 @@ var pveapi = [
                                           "service" : {
                                              "description" : "Service ID",
                                              "enum" : [
-                                                "pveproxy",
-                                                "pvedaemon",
-                                                "spiceproxy",
-                                                "pvestatd",
-                                                "pve-cluster",
+                                                "chrony",
                                                 "corosync",
+                                                "cron",
+                                                "ksmtuned",
+                                                "postfix",
+                                                "pve-cluster",
                                                 "pve-firewall",
-                                                "pvefw-logger",
                                                 "pve-ha-crm",
                                                 "pve-ha-lrm",
+                                                "pvedaemon",
+                                                "pvefw-logger",
+                                                "pveproxy",
+                                                "pvescheduler",
+                                                "pvestatd",
+                                                "spiceproxy",
                                                 "sshd",
                                                 "syslog",
-                                                "cron",
-                                                "postfix",
-                                                "ksmtuned",
+                                                "systemd-journald",
                                                 "systemd-timesyncd"
                                              ],
                                              "type" : "string"
@@ -31322,21 +34909,24 @@ var pveapi = [
                                           "service" : {
                                              "description" : "Service ID",
                                              "enum" : [
-                                                "pveproxy",
-                                                "pvedaemon",
-                                                "spiceproxy",
-                                                "pvestatd",
-                                                "pve-cluster",
+                                                "chrony",
                                                 "corosync",
+                                                "cron",
+                                                "ksmtuned",
+                                                "postfix",
+                                                "pve-cluster",
                                                 "pve-firewall",
-                                                "pvefw-logger",
                                                 "pve-ha-crm",
                                                 "pve-ha-lrm",
+                                                "pvedaemon",
+                                                "pvefw-logger",
+                                                "pveproxy",
+                                                "pvescheduler",
+                                                "pvestatd",
+                                                "spiceproxy",
                                                 "sshd",
                                                 "syslog",
-                                                "cron",
-                                                "postfix",
-                                                "ksmtuned",
+                                                "systemd-journald",
                                                 "systemd-timesyncd"
                                              ],
                                              "type" : "string"
@@ -31382,21 +34972,24 @@ var pveapi = [
                                           "service" : {
                                              "description" : "Service ID",
                                              "enum" : [
-                                                "pveproxy",
-                                                "pvedaemon",
-                                                "spiceproxy",
-                                                "pvestatd",
-                                                "pve-cluster",
+                                                "chrony",
                                                 "corosync",
+                                                "cron",
+                                                "ksmtuned",
+                                                "postfix",
+                                                "pve-cluster",
                                                 "pve-firewall",
-                                                "pvefw-logger",
                                                 "pve-ha-crm",
                                                 "pve-ha-lrm",
+                                                "pvedaemon",
+                                                "pvefw-logger",
+                                                "pveproxy",
+                                                "pvescheduler",
+                                                "pvestatd",
+                                                "spiceproxy",
                                                 "sshd",
                                                 "syslog",
-                                                "cron",
-                                                "postfix",
-                                                "ksmtuned",
+                                                "systemd-journald",
                                                 "systemd-timesyncd"
                                              ],
                                              "type" : "string"
@@ -31442,21 +35035,24 @@ var pveapi = [
                                     "service" : {
                                        "description" : "Service ID",
                                        "enum" : [
-                                          "pveproxy",
-                                          "pvedaemon",
-                                          "spiceproxy",
-                                          "pvestatd",
-                                          "pve-cluster",
+                                          "chrony",
                                           "corosync",
+                                          "cron",
+                                          "ksmtuned",
+                                          "postfix",
+                                          "pve-cluster",
                                           "pve-firewall",
-                                          "pvefw-logger",
                                           "pve-ha-crm",
                                           "pve-ha-lrm",
+                                          "pvedaemon",
+                                          "pvefw-logger",
+                                          "pveproxy",
+                                          "pvescheduler",
+                                          "pvestatd",
+                                          "spiceproxy",
                                           "sshd",
                                           "syslog",
-                                          "cron",
-                                          "postfix",
-                                          "ksmtuned",
+                                          "systemd-journald",
                                           "systemd-timesyncd"
                                        ],
                                        "type" : "string"
@@ -32411,6 +36007,7 @@ var pveapi = [
                                        "properties" : {
                                           "limit" : {
                                              "default" : 50,
+                                             "description" : "The maximum amount of lines that should be printed.",
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer",
@@ -32424,19 +36021,21 @@ var pveapi = [
                                           },
                                           "start" : {
                                              "default" : 0,
+                                             "description" : "The line number to start printing at.",
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer",
                                              "typetext" : "<integer> (0 - N)"
                                           },
                                           "upid" : {
+                                             "description" : "The task's unique ID.",
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           }
                                        }
                                     },
                                     "permissions" : {
-                                       "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
+                                       "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if they aren't the owner of the task.",
                                        "user" : "all"
                                     },
                                     "protected" : 1,
@@ -32480,28 +36079,51 @@ var pveapi = [
                                              "typetext" : "<string>"
                                           },
                                           "upid" : {
+                                             "description" : "The task's unique ID.",
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           }
                                        }
                                     },
                                     "permissions" : {
-                                       "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
+                                       "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if they are not the owner of the task.",
                                        "user" : "all"
                                     },
                                     "protected" : 1,
                                     "proxyto" : "node",
                                     "returns" : {
                                        "properties" : {
+                                          "exitstatus" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "id" : {
+                                             "type" : "string"
+                                          },
+                                          "node" : {
+                                             "type" : "string"
+                                          },
                                           "pid" : {
                                              "type" : "integer"
                                           },
+                                          "starttime" : {
+                                             "type" : "number"
+                                          },
                                           "status" : {
                                              "enum" : [
                                                 "running",
                                                 "stopped"
                                              ],
                                              "type" : "string"
+                                          },
+                                          "type" : {
+                                             "type" : "string"
+                                          },
+                                          "upid" : {
+                                             "type" : "string"
+                                          },
+                                          "user" : {
+                                             "type" : "string"
                                           }
                                        },
                                        "type" : "object"
@@ -32535,7 +36157,7 @@ var pveapi = [
                                  }
                               },
                               "permissions" : {
-                                 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
+                                 "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if they aren't the owner of the task.",
                                  "user" : "all"
                               },
                               "protected" : 1,
@@ -32598,6 +36220,7 @@ var pveapi = [
                            "properties" : {
                               "errors" : {
                                  "default" : 0,
+                                 "description" : "Only list tasks with a status of ERROR.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -32616,6 +36239,12 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "since" : {
+                                 "description" : "Only list tasks since this UNIX epoch.",
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              },
                               "source" : {
                                  "default" : "archive",
                                  "description" : "List archived, active or all tasks.",
@@ -32635,12 +36264,25 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (0 - N)"
                               },
+                              "statusfilter" : {
+                                 "description" : "List of Task States that should be returned.",
+                                 "format" : "pve-task-status-type-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "typefilter" : {
                                  "description" : "Only list tasks of this type (e.g., vzstart, vzdump).",
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "until" : {
+                                 "description" : "Only list tasks until this UNIX epoch.",
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer>"
+                              },
                               "userfilter" : {
                                  "description" : "Only list tasks from this user.",
                                  "optional" : 1,
@@ -32729,9 +36371,9 @@ var pveapi = [
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Scan zfs pool list on local node.",
+                              "description" : "Scan remote NFS server.",
                               "method" : "GET",
-                              "name" : "zfsscan",
+                              "name" : "nfsscan",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -32740,6 +36382,12 @@ var pveapi = [
                                        "format" : "pve-node",
                                        "type" : "string",
                                        "typetext" : "<string>"
+                                    },
+                                    "server" : {
+                                       "description" : "The server address (name or IP).",
+                                       "format" : "pve-storage-server",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -32757,8 +36405,12 @@ var pveapi = [
                               "returns" : {
                                  "items" : {
                                     "properties" : {
-                                       "pool" : {
-                                          "description" : "ZFS pool name.",
+                                       "options" : {
+                                          "description" : "NFS export options.",
+                                          "type" : "string"
+                                       },
+                                       "path" : {
+                                          "description" : "The exported path.",
                                           "type" : "string"
                                        }
                                     },
@@ -32769,30 +36421,48 @@ var pveapi = [
                            }
                         },
                         "leaf" : 1,
-                        "path" : "/nodes/{node}/scan/zfs",
-                        "text" : "zfs"
+                        "path" : "/nodes/{node}/scan/nfs",
+                        "text" : "nfs"
                      },
                      {
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Scan remote NFS server.",
+                              "description" : "Scan remote CIFS server.",
                               "method" : "GET",
-                              "name" : "nfsscan",
+                              "name" : "cifsscan",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "domain" : {
+                                       "description" : "SMB domain (Workgroup).",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "password" : {
+                                       "description" : "User password.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "server" : {
                                        "description" : "The server address (name or IP).",
                                        "format" : "pve-storage-server",
                                        "type" : "string",
                                        "typetext" : "<string>"
+                                    },
+                                    "username" : {
+                                       "description" : "User name.",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -32810,12 +36480,12 @@ var pveapi = [
                               "returns" : {
                                  "items" : {
                                     "properties" : {
-                                       "options" : {
-                                          "description" : "NFS export options.",
+                                       "description" : {
+                                          "description" : "Descriptive text from server.",
                                           "type" : "string"
                                        },
-                                       "path" : {
-                                          "description" : "The exported path.",
+                                       "share" : {
+                                          "description" : "The cifs share name.",
                                           "type" : "string"
                                        }
                                     },
@@ -32826,24 +36496,24 @@ var pveapi = [
                            }
                         },
                         "leaf" : 1,
-                        "path" : "/nodes/{node}/scan/nfs",
-                        "text" : "nfs"
+                        "path" : "/nodes/{node}/scan/cifs",
+                        "text" : "cifs"
                      },
                      {
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Scan remote CIFS server.",
+                              "description" : "Scan remote Proxmox Backup Server.",
                               "method" : "GET",
-                              "name" : "cifsscan",
+                              "name" : "pbsscan",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
-                                    "domain" : {
-                                       "description" : "SMB domain (Workgroup).",
+                                    "fingerprint" : {
+                                       "description" : "Certificate SHA 256 fingerprint.",
                                        "optional" : 1,
-                                       "type" : "string",
-                                       "typetext" : "<string>"
+                                       "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
+                                       "type" : "string"
                                     },
                                     "node" : {
                                        "description" : "The cluster node name.",
@@ -32852,11 +36522,19 @@ var pveapi = [
                                        "typetext" : "<string>"
                                     },
                                     "password" : {
-                                       "description" : "User password.",
-                                       "optional" : 1,
+                                       "description" : "User password or API token secret.",
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "port" : {
+                                       "default" : 8007,
+                                       "description" : "Optional port.",
+                                       "maximum" : 65535,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 65535)"
+                                    },
                                     "server" : {
                                        "description" : "The server address (name or IP).",
                                        "format" : "pve-storage-server",
@@ -32864,8 +36542,7 @@ var pveapi = [
                                        "typetext" : "<string>"
                                     },
                                     "username" : {
-                                       "description" : "User name.",
-                                       "optional" : 1,
+                                       "description" : "User-name or API token-ID.",
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     }
@@ -32885,12 +36562,13 @@ var pveapi = [
                               "returns" : {
                                  "items" : {
                                     "properties" : {
-                                       "description" : {
-                                          "description" : "Descriptive text from server.",
+                                       "comment" : {
+                                          "description" : "Comment from server.",
+                                          "optional" : 1,
                                           "type" : "string"
                                        },
-                                       "share" : {
-                                          "description" : "The cifs share name.",
+                                       "store" : {
+                                          "description" : "The datastore name.",
                                           "type" : "string"
                                        }
                                     },
@@ -32901,8 +36579,8 @@ var pveapi = [
                            }
                         },
                         "leaf" : 1,
-                        "path" : "/nodes/{node}/scan/cifs",
-                        "text" : "cifs"
+                        "path" : "/nodes/{node}/scan/pbs",
+                        "text" : "pbs"
                      },
                      {
                         "info" : {
@@ -33117,9 +36795,9 @@ var pveapi = [
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "List local USB devices.",
+                              "description" : "Scan zfs pool list on local node.",
                               "method" : "GET",
-                              "name" : "usbscan",
+                              "name" : "zfsscan",
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
@@ -33134,9 +36812,9 @@ var pveapi = [
                               "permissions" : {
                                  "check" : [
                                     "perm",
-                                    "/",
+                                    "/storage",
                                     [
-                                       "Sys.Modify"
+                                       "Datastore.Allocate"
                                     ]
                                  ]
                               },
@@ -33145,44 +36823,8 @@ var pveapi = [
                               "returns" : {
                                  "items" : {
                                     "properties" : {
-                                       "busnum" : {
-                                          "type" : "integer"
-                                       },
-                                       "class" : {
-                                          "type" : "integer"
-                                       },
-                                       "devnum" : {
-                                          "type" : "integer"
-                                       },
-                                       "level" : {
-                                          "type" : "integer"
-                                       },
-                                       "manufacturer" : {
-                                          "optional" : 1,
-                                          "type" : "string"
-                                       },
-                                       "port" : {
-                                          "type" : "integer"
-                                       },
-                                       "prodid" : {
-                                          "type" : "string"
-                                       },
-                                       "product" : {
-                                          "optional" : 1,
-                                          "type" : "string"
-                                       },
-                                       "serial" : {
-                                          "optional" : 1,
-                                          "type" : "string"
-                                       },
-                                       "speed" : {
-                                          "type" : "string"
-                                       },
-                                       "usbpath" : {
-                                          "optional" : 1,
-                                          "type" : "string"
-                                       },
-                                       "vendid" : {
+                                       "pool" : {
+                                          "description" : "ZFS pool name.",
                                           "type" : "string"
                                        }
                                     },
@@ -33193,8 +36835,8 @@ var pveapi = [
                            }
                         },
                         "leaf" : 1,
-                        "path" : "/nodes/{node}/scan/usb",
-                        "text" : "usb"
+                        "path" : "/nodes/{node}/scan/zfs",
+                        "text" : "zfs"
                      }
                   ],
                   "info" : {
@@ -33370,8 +37012,8 @@ var pveapi = [
                                        "typetext" : "<string>"
                                     },
                                     "pci-class-blacklist" : {
-                                       "default" : "05;06;08;0b",
-                                       "description" : "A list of blacklisted PCI classes, which will not be returned. Following are filtered by default: Memory Controller (05), Bridge (06), Generic System Peripheral (08) and Processor (0b).",
+                                       "default" : "05;06;0b",
+                                       "description" : "A list of blacklisted PCI classes, which will not be returned. Following are filtered by default: Memory Controller (05), Bridge (06) and Processor (0b).",
                                        "format" : "string-list",
                                        "optional" : 1,
                                        "type" : "string",
@@ -33467,6 +37109,89 @@ var pveapi = [
                         "leaf" : 0,
                         "path" : "/nodes/{node}/hardware/pci",
                         "text" : "pci"
+                     },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "List local USB devices.",
+                              "method" : "GET",
+                              "name" : "usbscan",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "busnum" : {
+                                          "type" : "integer"
+                                       },
+                                       "class" : {
+                                          "type" : "integer"
+                                       },
+                                       "devnum" : {
+                                          "type" : "integer"
+                                       },
+                                       "level" : {
+                                          "type" : "integer"
+                                       },
+                                       "manufacturer" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "port" : {
+                                          "type" : "integer"
+                                       },
+                                       "prodid" : {
+                                          "type" : "string"
+                                       },
+                                       "product" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "serial" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "speed" : {
+                                          "type" : "string"
+                                       },
+                                       "usbpath" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "vendid" : {
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/hardware/usb",
+                        "text" : "usb"
                      }
                   ],
                   "info" : {
@@ -33512,6 +37237,197 @@ var pveapi = [
                   "path" : "/nodes/{node}/hardware",
                   "text" : "hardware"
                },
+               {
+                  "children" : [
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "List all custom and default CPU models.",
+                                    "method" : "GET",
+                                    "name" : "index",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "description" : "Only returns custom models when the current user has Sys.Audit on /nodes.",
+                                       "user" : "all"
+                                    },
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {
+                                             "custom" : {
+                                                "description" : "True if this is a custom CPU model.",
+                                                "type" : "boolean"
+                                             },
+                                             "name" : {
+                                                "description" : "Name of the CPU model. Identifies it for subsequent API calls. Prefixed with 'custom-' for custom models.",
+                                                "type" : "string"
+                                             },
+                                             "vendor" : {
+                                                "description" : "CPU vendor visible to the guest when this model is selected. Vendor of 'reported-model' in case of custom models.",
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "links" : [
+                                          {
+                                             "href" : "{name}",
+                                             "rel" : "child"
+                                          }
+                                       ],
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/capabilities/qemu/cpu",
+                              "text" : "cpu"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Get available QEMU/KVM machine types.",
+                                    "method" : "GET",
+                                    "name" : "types",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "user" : "all"
+                                    },
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "items" : {
+                                          "additionalProperties" : 1,
+                                          "properties" : {
+                                             "id" : {
+                                                "description" : "Full name of machine type and version.",
+                                                "type" : "string"
+                                             },
+                                             "type" : {
+                                                "description" : "The machine type.",
+                                                "enum" : [
+                                                   "q35",
+                                                   "i440fx"
+                                                ],
+                                                "type" : "string"
+                                             },
+                                             "version" : {
+                                                "description" : "The machine version.",
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/capabilities/qemu/machines",
+                              "text" : "machines"
+                           }
+                        ],
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "QEMU capabilities index.",
+                              "method" : "GET",
+                              "name" : "qemu_caps_index",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "user" : "all"
+                              },
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {},
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/capabilities/qemu",
+                        "text" : "qemu"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Node capabilities index.",
+                        "method" : "GET",
+                        "name" : "index",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "user" : "all"
+                        },
+                        "returns" : {
+                           "items" : {
+                              "properties" : {},
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{name}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/nodes/{node}/capabilities",
+                  "text" : "capabilities"
+               },
                {
                   "children" : [
                      {
@@ -33642,7 +37558,13 @@ var pveapi = [
                                                 "type" : "integer"
                                              },
                                              "mark" : {
-                                                "description" : "Whether the backup would be kept or removed. For backups that don't use the standard naming scheme, it's 'protected'.",
+                                                "description" : "Whether the backup would be kept or removed. Backups that are protected or don't use the standard naming scheme are not removed.",
+                                                "enum" : [
+                                                   "keep",
+                                                   "remove",
+                                                   "protected",
+                                                   "renamed"
+                                                ],
                                                 "type" : "string"
                                              },
                                              "type" : {
@@ -33769,6 +37691,11 @@ var pveapi = [
                                                    "description" : "The Path",
                                                    "type" : "string"
                                                 },
+                                                "protected" : {
+                                                   "description" : "Protection status. Currently only supported for backups.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "size" : {
                                                    "description" : "Volume size in bytes.",
                                                    "renderer" : "bytes",
@@ -33849,6 +37776,12 @@ var pveapi = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "protected" : {
+                                                   "description" : "Protection status. Currently only supported for backups.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
                                                 "storage" : {
                                                    "description" : "The storage identifier.",
                                                    "format" : "pve-storage-id",
@@ -33940,6 +37873,11 @@ var pveapi = [
                                                 "optional" : 1,
                                                 "type" : "integer"
                                              },
+                                             "encrypted" : {
+                                                "description" : "If whole backup is encrypted, value is the fingerprint or '1'  if encrypted. Only useful for the Proxmox Backup Server storage type.",
+                                                "optional" : 1,
+                                                "type" : "string"
+                                             },
                                              "format" : {
                                                 "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
                                                 "type" : "string"
@@ -33954,6 +37892,11 @@ var pveapi = [
                                                 "optional" : 1,
                                                 "type" : "string"
                                              },
+                                             "protected" : {
+                                                "description" : "Protection status. Currently only supported for backups.",
+                                                "optional" : 1,
+                                                "type" : "boolean"
+                                             },
                                              "size" : {
                                                 "description" : "Volume size in bytes.",
                                                 "renderer" : "bytes",
@@ -34071,6 +38014,142 @@ var pveapi = [
                               "path" : "/nodes/{node}/storage/{storage}/content",
                               "text" : "content"
                            },
+                           {
+                              "children" : [
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "allowtoken" : 1,
+                                          "description" : "List files and directories for single file restore under the given path.",
+                                          "method" : "GET",
+                                          "name" : "list",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "filepath" : {
+                                                   "description" : "base64-path to the directory or file being listed, or \"/\".",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "storage" : {
+                                                   "description" : "The storage identifier.",
+                                                   "format" : "pve-storage-id",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "volume" : {
+                                                   "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "description" : "You need read access for the volume.",
+                                             "user" : "all"
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "items" : {
+                                                "properties" : {
+                                                   "filepath" : {
+                                                      "description" : "base64 path of the current entry",
+                                                      "type" : "string"
+                                                   },
+                                                   "leaf" : {
+                                                      "description" : "If this entry is a leaf in the directory graph.",
+                                                      "type" : "boolean"
+                                                   },
+                                                   "mtime" : {
+                                                      "description" : "Entry last-modified time (unix timestamp).",
+                                                      "optional" : 1,
+                                                      "type" : "integer"
+                                                   },
+                                                   "size" : {
+                                                      "description" : "Entry file size.",
+                                                      "optional" : 1,
+                                                      "type" : "integer"
+                                                   },
+                                                   "text" : {
+                                                      "description" : "Entry display text.",
+                                                      "type" : "string"
+                                                   },
+                                                   "type" : {
+                                                      "description" : "Entry type.",
+                                                      "type" : "string"
+                                                   }
+                                                },
+                                                "type" : "object"
+                                             },
+                                             "type" : "array"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/storage/{storage}/file-restore/list",
+                                    "text" : "list"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Extract a file or directory (as zip archive) from a PBS backup.",
+                                          "method" : "GET",
+                                          "name" : "download",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "filepath" : {
+                                                   "description" : "base64-path to the directory or file to download.",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "storage" : {
+                                                   "description" : "The storage identifier.",
+                                                   "format" : "pve-storage-id",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "volume" : {
+                                                   "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "description" : "You need read access for the volume.",
+                                             "user" : "all"
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "type" : "any"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/storage/{storage}/file-restore/download",
+                                    "text" : "download"
+                                 }
+                              ],
+                              "leaf" : 0,
+                              "path" : "/nodes/{node}/storage/{storage}/file-restore",
+                              "text" : "file-restore"
+                           },
                            {
                               "info" : {
                                  "GET" : {
@@ -34277,14 +38356,39 @@ var pveapi = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "checksum" : {
+                                             "description" : "The expected checksum of the file.",
+                                             "optional" : 1,
+                                             "requires" : "checksum-algorithm",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "checksum-algorithm" : {
+                                             "description" : "The algorithm to calculate the checksum of the file.",
+                                             "enum" : [
+                                                "md5",
+                                                "sha1",
+                                                "sha224",
+                                                "sha256",
+                                                "sha384",
+                                                "sha512"
+                                             ],
+                                             "optional" : 1,
+                                             "requires" : "checksum",
+                                             "type" : "string"
+                                          },
                                           "content" : {
                                              "description" : "Content type.",
+                                             "enum" : [
+                                                "iso",
+                                                "vztmpl"
+                                             ],
                                              "format" : "pve-storage-content",
-                                             "type" : "string",
-                                             "typetext" : "<string>"
+                                             "type" : "string"
                                           },
                                           "filename" : {
-                                             "description" : "The name of the file to create.",
+                                             "description" : "The name of the file to create. Caution: This will be normalized!",
+                                             "maxLength" : 255,
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
@@ -34326,6 +38430,109 @@ var pveapi = [
                               "leaf" : 1,
                               "path" : "/nodes/{node}/storage/{storage}/upload",
                               "text" : "upload"
+                           },
+                           {
+                              "info" : {
+                                 "POST" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Download templates and ISO images by using an URL.",
+                                    "method" : "POST",
+                                    "name" : "download_url",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "checksum" : {
+                                             "description" : "The expected checksum of the file.",
+                                             "optional" : 1,
+                                             "requires" : "checksum-algorithm",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "checksum-algorithm" : {
+                                             "description" : "The algorithm to calculate the checksum of the file.",
+                                             "enum" : [
+                                                "md5",
+                                                "sha1",
+                                                "sha224",
+                                                "sha256",
+                                                "sha384",
+                                                "sha512"
+                                             ],
+                                             "optional" : 1,
+                                             "requires" : "checksum",
+                                             "type" : "string"
+                                          },
+                                          "content" : {
+                                             "description" : "Content type.",
+                                             "enum" : [
+                                                "iso",
+                                                "vztmpl"
+                                             ],
+                                             "format" : "pve-storage-content",
+                                             "type" : "string"
+                                          },
+                                          "filename" : {
+                                             "description" : "The name of the file to create. Caution: This will be normalized!",
+                                             "maxLength" : 255,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "storage" : {
+                                             "description" : "The storage identifier.",
+                                             "format" : "pve-storage-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "url" : {
+                                             "description" : "The URL to download the file from.",
+                                             "pattern" : "https?://.*",
+                                             "type" : "string"
+                                          },
+                                          "verify-certificates" : {
+                                             "default" : 1,
+                                             "description" : "If false, no SSL/TLS certificates will be verified.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "and",
+                                          [
+                                             "perm",
+                                             "/storage/{storage}",
+                                             [
+                                                "Datastore.AllocateTemplate"
+                                             ]
+                                          ],
+                                          [
+                                             "perm",
+                                             "/",
+                                             [
+                                                "Sys.Audit",
+                                                "Sys.Modify"
+                                             ]
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/storage/{storage}/download-url",
+                              "text" : "download-url"
                            }
                         ],
                         "info" : {
@@ -34521,6 +38728,67 @@ var pveapi = [
                {
                   "children" : [
                      {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Remove an LVM Volume Group.",
+                                    "method" : "DELETE",
+                                    "name" : "delete",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "cleanup-config" : {
+                                             "default" : 0,
+                                             "description" : "Marks associated storage(s) as not available on this node anymore or removes them from the configuration (if configured for this node only).",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "cleanup-disks" : {
+                                             "default" : 0,
+                                             "description" : "Also wipe disks so they can be repurposed afterwards.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "name" : {
+                                             "description" : "The storage identifier.",
+                                             "format" : "pve-storage-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify",
+                                             "Datastore.Allocate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/disks/lvm/{name}",
+                              "text" : "{name}"
+                           }
+                        ],
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
@@ -34660,11 +38928,78 @@ var pveapi = [
                               }
                            }
                         },
-                        "leaf" : 1,
+                        "leaf" : 0,
                         "path" : "/nodes/{node}/disks/lvm",
                         "text" : "lvm"
                      },
                      {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Remove an LVM thin pool.",
+                                    "method" : "DELETE",
+                                    "name" : "delete",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "cleanup-config" : {
+                                             "default" : 0,
+                                             "description" : "Marks associated storage(s) as not available on this node anymore or removes them from the configuration (if configured for this node only).",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "cleanup-disks" : {
+                                             "default" : 0,
+                                             "description" : "Also wipe disks so they can be repurposed afterwards.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "name" : {
+                                             "description" : "The storage identifier.",
+                                             "format" : "pve-storage-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "volume-group" : {
+                                             "description" : "The storage identifier.",
+                                             "format" : "pve-storage-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify",
+                                             "Datastore.Allocate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/disks/lvmthin/{name}",
+                              "text" : "{name}"
+                           }
+                        ],
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
@@ -34718,6 +39053,10 @@ var pveapi = [
                                        "used" : {
                                           "description" : "The used bytes of the thinpool.",
                                           "type" : "integer"
+                                       },
+                                       "vg" : {
+                                          "description" : "The associated volume group.",
+                                          "type" : "string"
                                        }
                                     },
                                     "type" : "object"
@@ -34776,11 +39115,72 @@ var pveapi = [
                               }
                            }
                         },
-                        "leaf" : 1,
+                        "leaf" : 0,
                         "path" : "/nodes/{node}/disks/lvmthin",
                         "text" : "lvmthin"
                      },
                      {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Unmounts the storage and removes the mount unit.",
+                                    "method" : "DELETE",
+                                    "name" : "delete",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "cleanup-config" : {
+                                             "default" : 0,
+                                             "description" : "Marks associated storage(s) as not available on this node anymore or removes them from the configuration (if configured for this node only).",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "cleanup-disks" : {
+                                             "default" : 0,
+                                             "description" : "Also wipe disk so it can be repurposed afterwards.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "name" : {
+                                             "description" : "The storage identifier.",
+                                             "format" : "pve-storage-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify",
+                                             "Datastore.Allocate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/disks/directory/{name}",
+                              "text" : "{name}"
+                           }
+                        ],
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
@@ -34902,7 +39302,7 @@ var pveapi = [
                               }
                            }
                         },
-                        "leaf" : 1,
+                        "leaf" : 0,
                         "path" : "/nodes/{node}/disks/directory",
                         "text" : "directory"
                      },
@@ -34910,6 +39310,58 @@ var pveapi = [
                         "children" : [
                            {
                               "info" : {
+                                 "DELETE" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Destroy a ZFS pool.",
+                                    "method" : "DELETE",
+                                    "name" : "delete",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "cleanup-config" : {
+                                             "default" : 0,
+                                             "description" : "Marks associated storage(s) as not available on this node anymore or removes them from the configuration (if configured for this node only).",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "cleanup-disks" : {
+                                             "default" : 0,
+                                             "description" : "Also wipe disks so they can be repurposed afterwards.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "name" : {
+                                             "description" : "The storage identifier.",
+                                             "format" : "pve-storage-id",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify",
+                                             "Datastore.Allocate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 },
                                  "GET" : {
                                     "allowtoken" : 1,
                                     "description" : "Get details about a zpool.",
@@ -34997,6 +39449,7 @@ var pveapi = [
                                           },
                                           "scan" : {
                                              "description" : "Information about the last/current scrub.",
+                                             "optional" : 1,
                                              "type" : "string"
                                           },
                                           "state" : {
@@ -35125,7 +39578,8 @@ var pveapi = [
                                           "gzip",
                                           "lz4",
                                           "lzjb",
-                                          "zle"
+                                          "zle",
+                                          "zstd"
                                        ],
                                        "optional" : 1,
                                        "type" : "string"
@@ -35193,6 +39647,13 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "include-partitions" : {
+                                       "default" : 0,
+                                       "description" : "Also include partitions.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
@@ -35219,14 +39680,27 @@ var pveapi = [
                               },
                               "permissions" : {
                                  "check" : [
-                                    "perm",
-                                    "/",
+                                    "or",
                                     [
-                                       "Sys.Audit",
-                                       "Datastore.Audit"
+                                       "perm",
+                                       "/",
+                                       [
+                                          "Sys.Audit",
+                                          "Datastore.Audit"
+                                       ],
+                                       "any",
+                                       1
                                     ],
-                                    "any",
-                                    1
+                                    [
+                                       "perm",
+                                       "/nodes/{node}",
+                                       [
+                                          "Sys.Audit",
+                                          "Datastore.Audit"
+                                       ],
+                                       "any",
+                                       1
+                                    ]
                                  ]
                               },
                               "protected" : 1,
@@ -35249,9 +39723,17 @@ var pveapi = [
                                           "optional" : 1,
                                           "type" : "string"
                                        },
+                                       "mounted" : {
+                                          "type" : "boolean"
+                                       },
                                        "osdid" : {
                                           "type" : "integer"
                                        },
+                                       "parent" : {
+                                          "description" : "For partitions only. The device path of the disk the partition resides on.",
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
                                        "serial" : {
                                           "optional" : 1,
                                           "type" : "string"
@@ -35400,6 +39882,40 @@ var pveapi = [
                         "leaf" : 1,
                         "path" : "/nodes/{node}/disks/initgpt",
                         "text" : "initgpt"
+                     },
+                     {
+                        "info" : {
+                           "PUT" : {
+                              "allowtoken" : 1,
+                              "description" : "Wipe a disk or partition.",
+                              "method" : "PUT",
+                              "name" : "wipe_disk",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "disk" : {
+                                       "description" : "Block device name",
+                                       "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
+                                       "type" : "string"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "string"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/disks/wipedisk",
+                        "text" : "wipedisk"
                      }
                   ],
                   "info" : {
@@ -35579,6 +40095,322 @@ var pveapi = [
                         "path" : "/nodes/{node}/apt/changelog",
                         "text" : "changelog"
                      },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Get APT repository information.",
+                              "method" : "GET",
+                              "name" : "repositories",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/nodes/{node}",
+                                    [
+                                       "Sys.Audit"
+                                    ]
+                                 ]
+                              },
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "description" : "Result from parsing the APT repository files in /etc/apt/.",
+                                 "properties" : {
+                                    "digest" : {
+                                       "description" : "Common digest of all files.",
+                                       "type" : "string"
+                                    },
+                                    "errors" : {
+                                       "description" : "List of problematic repository files.",
+                                       "items" : {
+                                          "properties" : {
+                                             "error" : {
+                                                "description" : "The error message",
+                                                "type" : "string"
+                                             },
+                                             "path" : {
+                                                "description" : "Path to the problematic file.",
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    },
+                                    "files" : {
+                                       "description" : "List of parsed repository files.",
+                                       "items" : {
+                                          "properties" : {
+                                             "digest" : {
+                                                "description" : "Digest of the file as bytes.",
+                                                "items" : {
+                                                   "type" : "integer"
+                                                },
+                                                "type" : "array"
+                                             },
+                                             "file-type" : {
+                                                "description" : "Format of the file.",
+                                                "enum" : [
+                                                   "list",
+                                                   "sources"
+                                                ],
+                                                "type" : "string"
+                                             },
+                                             "path" : {
+                                                "description" : "Path to the problematic file.",
+                                                "type" : "string"
+                                             },
+                                             "repositories" : {
+                                                "description" : "The parsed repositories.",
+                                                "items" : {
+                                                   "properties" : {
+                                                      "Comment" : {
+                                                         "description" : "Associated comment",
+                                                         "optional" : 1,
+                                                         "type" : "string"
+                                                      },
+                                                      "Components" : {
+                                                         "description" : "List of repository components",
+                                                         "items" : {
+                                                            "type" : "string"
+                                                         },
+                                                         "optional" : 1,
+                                                         "type" : "array"
+                                                      },
+                                                      "Enabled" : {
+                                                         "description" : "Whether the repository is enabled or not",
+                                                         "type" : "boolean"
+                                                      },
+                                                      "FileType" : {
+                                                         "description" : "Format of the defining file.",
+                                                         "enum" : [
+                                                            "list",
+                                                            "sources"
+                                                         ],
+                                                         "type" : "string"
+                                                      },
+                                                      "Options" : {
+                                                         "description" : "Additional options",
+                                                         "items" : {
+                                                            "properties" : {
+                                                               "Key" : {
+                                                                  "type" : "string"
+                                                               },
+                                                               "Values" : {
+                                                                  "items" : {
+                                                                     "type" : "string"
+                                                                  },
+                                                                  "type" : "array"
+                                                               }
+                                                            },
+                                                            "type" : "object"
+                                                         },
+                                                         "optional" : 1,
+                                                         "type" : "array"
+                                                      },
+                                                      "Suites" : {
+                                                         "description" : "List of package distribuitions",
+                                                         "items" : {
+                                                            "type" : "string"
+                                                         },
+                                                         "type" : "array"
+                                                      },
+                                                      "Types" : {
+                                                         "description" : "List of package types.",
+                                                         "items" : {
+                                                            "enum" : [
+                                                               "deb",
+                                                               "deb-src"
+                                                            ],
+                                                            "type" : "string"
+                                                         },
+                                                         "type" : "array"
+                                                      },
+                                                      "URIs" : {
+                                                         "description" : "List of repository URIs.",
+                                                         "items" : {
+                                                            "type" : "string"
+                                                         },
+                                                         "type" : "array"
+                                                      }
+                                                   },
+                                                   "type" : "object"
+                                                },
+                                                "type" : "array"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    },
+                                    "infos" : {
+                                       "description" : "Additional information/warnings for APT repositories.",
+                                       "items" : {
+                                          "properties" : {
+                                             "index" : {
+                                                "description" : "Index of the associated repository within the file.",
+                                                "type" : "string"
+                                             },
+                                             "kind" : {
+                                                "description" : "Kind of the information (e.g. warning).",
+                                                "type" : "string"
+                                             },
+                                             "message" : {
+                                                "description" : "Information message.",
+                                                "type" : "string"
+                                             },
+                                             "path" : {
+                                                "description" : "Path to the associated file.",
+                                                "type" : "string"
+                                             },
+                                             "property" : {
+                                                "description" : "Property from which the info originates.",
+                                                "optional" : 1,
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    },
+                                    "standard-repos" : {
+                                       "description" : "List of standard repositories and their configuration status",
+                                       "items" : {
+                                          "properties" : {
+                                             "handle" : {
+                                                "description" : "Handle to identify the repository.",
+                                                "type" : "string"
+                                             },
+                                             "name" : {
+                                                "description" : "Full name of the repository.",
+                                                "type" : "string"
+                                             },
+                                             "status" : {
+                                                "description" : "Indicating enabled/disabled status, if the repository is configured.",
+                                                "optional" : 1,
+                                                "type" : "boolean"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
+                           },
+                           "POST" : {
+                              "allowtoken" : 1,
+                              "description" : "Change the properties of a repository. Currently only allows enabling/disabling.",
+                              "method" : "POST",
+                              "name" : "change_repository",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "digest" : {
+                                       "description" : "Digest to detect modifications.",
+                                       "maxLength" : 80,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "enabled" : {
+                                       "description" : "Whether the repository should be enabled or not.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "index" : {
+                                       "description" : "Index within the file (starting from 0).",
+                                       "type" : "integer",
+                                       "typetext" : "<integer>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "path" : {
+                                       "description" : "Path to the containing file.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/nodes/{node}",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           },
+                           "PUT" : {
+                              "allowtoken" : 1,
+                              "description" : "Add a standard repository to the configuration",
+                              "method" : "PUT",
+                              "name" : "add_repository",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "digest" : {
+                                       "description" : "Digest to detect modifications.",
+                                       "maxLength" : 80,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "handle" : {
+                                       "description" : "Handle that identifies a repository.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/nodes/{node}",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/apt/repositories",
+                        "text" : "repositories"
+                     },
                      {
                         "info" : {
                            "GET" : {
@@ -35855,6 +40687,7 @@ var pveapi = [
                                           "dest" : {
                                              "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                              "format" : "pve-fw-addr-spec",
+                                             "maxLength" : 512,
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -35949,6 +40782,7 @@ var pveapi = [
                                           "source" : {
                                              "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                              "format" : "pve-fw-addr-spec",
+                                             "maxLength" : 512,
                                              "optional" : 1,
                                              "type" : "string",
                                              "typetext" : "<string>"
@@ -36063,6 +40897,7 @@ var pveapi = [
                                     "dest" : {
                                        "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                        "format" : "pve-fw-addr-spec",
+                                       "maxLength" : 512,
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
@@ -36150,6 +40985,7 @@ var pveapi = [
                                     "source" : {
                                        "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
                                        "format" : "pve-fw-addr-spec",
+                                       "maxLength" : 512,
                                        "optional" : 1,
                                        "type" : "string",
                                        "typetext" : "<string>"
@@ -37420,6 +42256,85 @@ var pveapi = [
                         },
                         "proxyto" : "node",
                         "returns" : {
+                           "properties" : {
+                              "acme" : {
+                                 "description" : "Node specific ACME settings.",
+                                 "format" : {
+                                    "account" : {
+                                       "default" : "default",
+                                       "description" : "ACME account config file name.",
+                                       "format" : "pve-configid",
+                                       "format_description" : "name",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "domains" : {
+                                       "description" : "List of domains for this node's ACME certificate",
+                                       "format" : "pve-acme-domain-list",
+                                       "format_description" : "domain[;domain;...]",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "acmedomain[n]" : {
+                                 "description" : "ACME domain and validation plugin",
+                                 "format" : {
+                                    "alias" : {
+                                       "description" : "Alias for the Domain to verify ACME Challenge over DNS",
+                                       "format" : "pve-acme-alias",
+                                       "format_description" : "domain",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "domain" : {
+                                       "default_key" : 1,
+                                       "description" : "domain for this node's ACME certificate",
+                                       "format" : "pve-acme-domain",
+                                       "format_description" : "domain",
+                                       "type" : "string"
+                                    },
+                                    "plugin" : {
+                                       "default" : "standalone",
+                                       "description" : "The ACME plugin ID",
+                                       "format" : "pve-configid",
+                                       "format_description" : "name of the plugin configuration",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "description" : {
+                                 "description" : "Description for the Node. Shown in the web-interface node notes panel. This is saved as comment inside the configuration file.",
+                                 "maxLength" : 65536,
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "digest" : {
+                                 "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+                                 "maxLength" : 40,
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "startall-onboot-delay" : {
+                                 "default" : 0,
+                                 "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.",
+                                 "maximum" : 300,
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer"
+                              },
+                              "wakeonlan" : {
+                                 "description" : "MAC address for wake on LAN",
+                                 "format" : "mac-addr",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           },
                            "type" : "object"
                         }
                      },
@@ -37492,7 +42407,8 @@ var pveapi = [
                                  "typetext" : "<string>"
                               },
                               "description" : {
-                                 "description" : "Node description/comment.",
+                                 "description" : "Description for the Node. Shown in the web-interface node notes panel. This is saved as comment inside the configuration file.",
+                                 "maxLength" : 65536,
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
@@ -37955,8 +42871,10 @@ var pveapi = [
                            "properties" : {
                               "commands" : {
                                  "description" : "JSON encoded array of commands.",
+                                 "format" : "pve-command-batch",
                                  "type" : "string",
-                                 "typetext" : "<string>"
+                                 "typetext" : "<string>",
+                                 "verbose_description" : "JSON encoded array of commands, where each command is an object with the following properties:\n  args:      <object>\n\n\t     A set of parameter names and their values.\n\n  method:    (GET|POST|PUT|DELETE)\n\n\t     A method related to the API endpoint (GET, POST etc.).\n\n  path:      <string>\n\n\t     A relative path to an API endpoint on this node.\n\n"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
@@ -37978,6 +42896,10 @@ var pveapi = [
                         "protected" : 1,
                         "proxyto" : "node",
                         "returns" : {
+                           "items" : {
+                              "properties" : {},
+                              "type" : "object"
+                           },
                            "type" : "array"
                         }
                      }
@@ -38324,8 +43246,8 @@ var pveapi = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "login",
                                     "upgrade",
+                                    "login",
                                     "ceph_install"
                                  ],
                                  "optional" : 1,
@@ -38353,13 +43275,6 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
-                              "upgrade" : {
-                                 "default" : 0,
-                                 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
-                                 "optional" : 1,
-                                 "type" : "boolean",
-                                 "typetext" : "<boolean>"
-                              },
                               "websocket" : {
                                  "description" : "use websocket instead of standard vnc.",
                                  "optional" : 1,
@@ -38427,8 +43342,8 @@ var pveapi = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "login",
                                     "upgrade",
+                                    "login",
                                     "ceph_install"
                                  ],
                                  "optional" : 1,
@@ -38447,13 +43362,6 @@ var pveapi = [
                                  "format" : "pve-node",
                                  "type" : "string",
                                  "typetext" : "<string>"
-                              },
-                              "upgrade" : {
-                                 "default" : 0,
-                                 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
-                                 "optional" : 1,
-                                 "type" : "boolean",
-                                 "typetext" : "<boolean>"
                               }
                            }
                         },
@@ -38495,7 +43403,7 @@ var pveapi = [
                   "info" : {
                      "GET" : {
                         "allowtoken" : 1,
-                        "description" : "Opens a weksocket for VNC traffic.",
+                        "description" : "Opens a websocket for VNC traffic.",
                         "method" : "GET",
                         "name" : "vncwebsocket",
                         "parameters" : {
@@ -38560,8 +43468,8 @@ var pveapi = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "login",
                                     "upgrade",
+                                    "login",
                                     "ceph_install"
                                  ],
                                  "optional" : 1,
@@ -38587,13 +43495,6 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
-                              },
-                              "upgrade" : {
-                                 "default" : 0,
-                                 "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
-                                 "optional" : 1,
-                                 "type" : "boolean",
-                                 "typetext" : "<boolean>"
                               }
                            }
                         },
@@ -38923,6 +43824,71 @@ var pveapi = [
                   "path" : "/nodes/{node}/aplinfo",
                   "text" : "aplinfo"
                },
+               {
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Query metadata of an URL: file size, file name and mime type.",
+                        "method" : "GET",
+                        "name" : "query_url_metadata",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "url" : {
+                                 "description" : "The URL to query the metadata from.",
+                                 "pattern" : "https?://.*",
+                                 "type" : "string"
+                              },
+                              "verify-certificates" : {
+                                 "default" : 1,
+                                 "description" : "If false, no SSL/TLS certificates will be verified.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit",
+                                 "Sys.Modify"
+                              ]
+                           ]
+                        },
+                        "proxyto" : "node",
+                        "returns" : {
+                           "properties" : {
+                              "filename" : {
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "mimetype" : {
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "size" : {
+                                 "optional" : 1,
+                                 "renderer" : "bytes",
+                                 "type" : "integer"
+                              }
+                           },
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/nodes/{node}/query-url-metadata",
+                  "text" : "query-url-metadata"
+               },
                {
                   "info" : {
                      "GET" : {
@@ -39480,6 +44446,12 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "data-pool" : {
+                           "description" : "Data Pool (for erasure coding only)",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "delete" : {
                            "description" : "A list of settings you want to delete.",
                            "format" : "pve-configid-list",
@@ -39527,6 +44499,13 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "fs-name" : {
+                           "description" : "The Ceph filesystem name.",
+                           "format" : "pve-configid",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "fuse" : {
                            "description" : "Mount CephFS through FUSE.",
                            "optional" : 1,
@@ -39540,6 +44519,12 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "keyring" : {
+                           "description" : "Client keyring contents (for external clusters).",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "krbd" : {
                            "description" : "Always access rbd through krbd kernel module.",
                            "optional" : 1,
@@ -39552,8 +44537,22 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "master-pubkey" : {
+                           "description" : "Base64-encoded, PEM-formatted public RSA key. Used to encrypt a copy of the encryption-key which will be added to each encrypted backup.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "max-protected-backups" : {
+                           "default" : "Unlimited for users with Datastore.Allocate privilege, 5 for other users",
+                           "description" : "Maximal number of protected backups per guest. Use '-1' for unlimited.",
+                           "minimum" : -1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (-1 - N)"
+                        },
                         "maxfiles" : {
-                           "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
+                           "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per VM. Use '0' for unlimited.",
                            "minimum" : 0,
                            "optional" : 1,
                            "type" : "integer",
@@ -39580,6 +44579,19 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "namespace" : {
+                           "description" : "Namespace.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "nocow" : {
+                           "default" : 0,
+                           "description" : "Set the NOCOW flag on files. Disables data checksumming and causes data errors to be unrecoverable from while allowing direct I/O. Only use this if data does not need to be any more safe than on a single ext4 formatted disk with no underlying raid system.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
                         "nodes" : {
                            "description" : "List of cluster node names.",
                            "format" : "pve-node-list",
@@ -39622,6 +44634,18 @@ var pveapi = [
                            "type" : "integer",
                            "typetext" : "<integer> (1 - 65535)"
                         },
+                        "preallocation" : {
+                           "default" : "metadata",
+                           "description" : "Preallocation mode for raw and qcow2 images. Using 'metadata' on raw images results in preallocation=off.",
+                           "enum" : [
+                              "off",
+                              "metadata",
+                              "falloc",
+                              "full"
+                           ],
+                           "optional" : 1,
+                           "type" : "string"
+                        },
                         "prune-backups" : {
                            "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
                            "format" : "prune-backups",
@@ -39629,15 +44653,6 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
                         },
-                        "redundancy" : {
-                           "default" : 2,
-                           "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.",
-                           "maximum" : 16,
-                           "minimum" : 1,
-                           "optional" : 1,
-                           "type" : "integer",
-                           "typetext" : "<integer> (1 - 16)"
-                        },
                         "saferemove" : {
                            "description" : "Zero-out data when removing LVs.",
                            "optional" : 1,
@@ -39672,11 +44687,15 @@ var pveapi = [
                            "typetext" : "<boolean>"
                         },
                         "smbversion" : {
-                           "description" : "SMB protocol version",
+                           "default" : "default",
+                           "description" : "SMB protocol version. 'default' if not set, negotiates the highest SMB2+ version supported by both the client and server.",
                            "enum" : [
+                              "default",
                               "2.0",
                               "2.1",
-                              "3.0"
+                              "3",
+                              "3.0",
+                              "3.11"
                            ],
                            "optional" : 1,
                            "type" : "string"
@@ -39757,10 +44776,10 @@ var pveapi = [
                         "type" : {
                            "description" : "The type of the created storage.",
                            "enum" : [
+                              "btrfs",
                               "cephfs",
                               "cifs",
                               "dir",
-                              "drbd",
                               "glusterfs",
                               "iscsi",
                               "iscsidirect",
@@ -39796,10 +44815,10 @@ var pveapi = [
                   "type" : {
                      "description" : "Only list storage of specific type",
                      "enum" : [
+                        "btrfs",
                         "cephfs",
                         "cifs",
                         "dir",
-                        "drbd",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -39927,6 +44946,12 @@ var pveapi = [
                      "type" : "string",
                      "typetext" : "<string>"
                   },
+                  "data-pool" : {
+                     "description" : "Data Pool (for erasure coding only)",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
                   "datastore" : {
                      "description" : "Proxmox Backup Server datastore name.",
                      "optional" : 1,
@@ -39972,6 +44997,13 @@ var pveapi = [
                      "type" : "string",
                      "typetext" : "<string>"
                   },
+                  "fs-name" : {
+                     "description" : "The Ceph filesystem name.",
+                     "format" : "pve-configid",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
                   "fuse" : {
                      "description" : "Mount CephFS through FUSE.",
                      "optional" : 1,
@@ -39991,6 +45023,12 @@ var pveapi = [
                      "type" : "string",
                      "typetext" : "<string>"
                   },
+                  "keyring" : {
+                     "description" : "Client keyring contents (for external clusters).",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
                   "krbd" : {
                      "description" : "Always access rbd through krbd kernel module.",
                      "optional" : 1,
@@ -40003,8 +45041,22 @@ var pveapi = [
                      "type" : "string",
                      "typetext" : "<string>"
                   },
+                  "master-pubkey" : {
+                     "description" : "Base64-encoded, PEM-formatted public RSA key. Used to encrypt a copy of the encryption-key which will be added to each encrypted backup.",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "max-protected-backups" : {
+                     "default" : "Unlimited for users with Datastore.Allocate privilege, 5 for other users",
+                     "description" : "Maximal number of protected backups per guest. Use '-1' for unlimited.",
+                     "minimum" : -1,
+                     "optional" : 1,
+                     "type" : "integer",
+                     "typetext" : "<integer> (-1 - N)"
+                  },
                   "maxfiles" : {
-                     "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
+                     "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per VM. Use '0' for unlimited.",
                      "minimum" : 0,
                      "optional" : 1,
                      "type" : "integer",
@@ -40031,6 +45083,19 @@ var pveapi = [
                      "type" : "string",
                      "typetext" : "<string>"
                   },
+                  "namespace" : {
+                     "description" : "Namespace.",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
+                  "nocow" : {
+                     "default" : 0,
+                     "description" : "Set the NOCOW flag on files. Disables data checksumming and causes data errors to be unrecoverable from while allowing direct I/O. Only use this if data does not need to be any more safe than on a single ext4 formatted disk with no underlying raid system.",
+                     "optional" : 1,
+                     "type" : "boolean",
+                     "typetext" : "<boolean>"
+                  },
                   "nodes" : {
                      "description" : "List of cluster node names.",
                      "format" : "pve-node-list",
@@ -40087,6 +45152,18 @@ var pveapi = [
                      "type" : "string",
                      "typetext" : "<string>"
                   },
+                  "preallocation" : {
+                     "default" : "metadata",
+                     "description" : "Preallocation mode for raw and qcow2 images. Using 'metadata' on raw images results in preallocation=off.",
+                     "enum" : [
+                        "off",
+                        "metadata",
+                        "falloc",
+                        "full"
+                     ],
+                     "optional" : 1,
+                     "type" : "string"
+                  },
                   "prune-backups" : {
                      "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
                      "format" : "prune-backups",
@@ -40094,15 +45171,6 @@ var pveapi = [
                      "type" : "string",
                      "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
                   },
-                  "redundancy" : {
-                     "default" : 2,
-                     "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.",
-                     "maximum" : 16,
-                     "minimum" : 1,
-                     "optional" : 1,
-                     "type" : "integer",
-                     "typetext" : "<integer> (1 - 16)"
-                  },
                   "saferemove" : {
                      "description" : "Zero-out data when removing LVs.",
                      "optional" : 1,
@@ -40143,11 +45211,15 @@ var pveapi = [
                      "typetext" : "<boolean>"
                   },
                   "smbversion" : {
-                     "description" : "SMB protocol version",
+                     "default" : "default",
+                     "description" : "SMB protocol version. 'default' if not set, negotiates the highest SMB2+ version supported by both the client and server.",
                      "enum" : [
+                        "default",
                         "2.0",
                         "2.1",
-                        "3.0"
+                        "3",
+                        "3.0",
+                        "3.11"
                      ],
                      "optional" : 1,
                      "type" : "string"
@@ -40203,10 +45275,10 @@ var pveapi = [
                   "type" : {
                      "description" : "Storage type.",
                      "enum" : [
+                        "btrfs",
                         "cephfs",
                         "cifs",
                         "dir",
-                        "drbd",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -40274,10 +45346,10 @@ var pveapi = [
                   "type" : {
                      "description" : "The type of the created storage.",
                      "enum" : [
+                        "btrfs",
                         "cephfs",
                         "cifs",
                         "dir",
-                        "drbd",
                         "glusterfs",
                         "iscsi",
                         "iscsidirect",
@@ -40316,6 +45388,13 @@ var pveapi = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "multiple" : {
+                                       "default" : 0,
+                                       "description" : "Request all entries as an array.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "userid" : {
                                        "description" : "User ID",
                                        "format" : "pve-userid",
@@ -40354,8 +45433,24 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "types" : {
+                                       "description" : "Array of the user configured TFA types, if any. Only available if 'multiple' was not passed.",
+                                       "items" : {
+                                          "description" : "A TFA type.",
+                                          "enum" : [
+                                             "totp",
+                                             "u2f",
+                                             "yubico",
+                                             "webauthn",
+                                             "recovedry"
+                                          ],
+                                          "type" : "string"
+                                       },
+                                       "optional" : 1,
+                                       "type" : "array"
+                                    },
                                     "user" : {
-                                       "description" : "The type of TFA the user has set, if any.",
+                                       "description" : "The type of TFA the user has set, if any. Only set if 'multiple' was not passed.",
                                        "enum" : [
                                           "oath",
                                           "u2f"
@@ -40406,8 +45501,7 @@ var pveapi = [
                                              "self"
                                           ],
                                           [
-                                             "perm",
-                                             "/access/users/{userid}",
+                                             "userid-group",
                                              [
                                                 "User.Modify"
                                              ]
@@ -40449,8 +45543,7 @@ var pveapi = [
                                              "self"
                                           ],
                                           [
-                                             "perm",
-                                             "/access/users/{userid}",
+                                             "userid-group",
                                              [
                                                 "User.Modify"
                                              ]
@@ -40530,8 +45623,7 @@ var pveapi = [
                                              "self"
                                           ],
                                           [
-                                             "perm",
-                                             "/access/users/{userid}",
+                                             "userid-group",
                                              [
                                                 "User.Modify"
                                              ]
@@ -40627,8 +45719,7 @@ var pveapi = [
                                              "self"
                                           ],
                                           [
-                                             "perm",
-                                             "/access/users/{userid}",
+                                             "userid-group",
                                              [
                                                 "User.Modify"
                                              ]
@@ -40692,8 +45783,7 @@ var pveapi = [
                                        "self"
                                     ],
                                     [
-                                       "perm",
-                                       "/access/users/{userid}",
+                                       "userid-group",
                                        [
                                           "User.Modify"
                                        ]
@@ -40853,6 +45943,28 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "tokens" : {
+                                 "additionalProperties" : {
+                                    "properties" : {
+                                       "comment" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "expire" : {
+                                          "default" : "same as user",
+                                          "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
+                                          "minimum" : 0,
+                                          "optional" : 1,
+                                          "type" : "integer"
+                                       },
+                                       "privsep" : {
+                                          "default" : 1,
+                                          "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
+                                          "optional" : 1,
+                                          "type" : "boolean"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
                                  "optional" : 1,
                                  "type" : "object"
                               }
@@ -40937,7 +46049,7 @@ var pveapi = [
                                  "User.Modify"
                               ],
                               "groups_param",
-                              1
+                              "update"
                            ]
                         },
                         "protected" : 1,
@@ -41021,6 +46133,12 @@ var pveapi = [
                               "optional" : 1,
                               "type" : "string"
                            },
+                           "realm-type" : {
+                              "description" : "The type of the users realm",
+                              "format" : "pve-realm",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
                            "tokens" : {
                               "items" : {
                                  "properties" : {
@@ -41155,7 +46273,7 @@ var pveapi = [
                               "User.Modify"
                            ],
                            "groups_param",
-                           1
+                           "create"
                         ]
                      ],
                      "description" : "You need 'Realm.AllocateUser' on '/access/realm/<realm>' on the realm of user <userid>, and 'User.Modify' permissions to '/access/groups/<group>' for any group specified (or 'User.Modify' on '/access/groups' if you pass no groups."
@@ -41453,6 +46571,10 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "boolean"
                               },
+                              "Pool.Audit" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
                               "Realm.Allocate" : {
                                  "optional" : 1,
                                  "type" : "boolean"
@@ -41845,13 +46967,13 @@ var pveapi = [
                                        "typetext" : "<boolean>"
                                     },
                                     "full" : {
-                                       "description" : "If set, uses the LDAP Directory as source of truth, deleting users or groups not returned from the sync. Otherwise only syncs information which is not already present, and does not deletes or modifies anything else.",
+                                       "description" : "DEPRECATED: use 'remove-vanished' instead. If set, uses the LDAP Directory as source of truth, deleting users or groups not returned from the sync and removing all locally modified properties of synced users. If not set, only syncs information which is present in the synced data, and does not delete or modify anything else.",
                                        "optional" : "1",
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
                                     },
                                     "purge" : {
-                                       "description" : "Remove ACLs for users or groups which were removed from the config during a sync.",
+                                       "description" : "DEPRECATED: use 'remove-vanished' instead. Remove ACLs for users or groups which were removed from the config during a sync.",
                                        "optional" : "1",
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
@@ -41863,6 +46985,13 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "remove-vanished" : {
+                                       "description" : "A semicolon-seperated list of things to remove when they or the user vanishes during a sync. The following values are possible: 'entry' removes the user/group when not returned from the sync. 'properties' removes the set properties on existing user/group that do not appear in the source (even custom ones). 'acl' removes acls when the user/group is not returned from the sync.",
+                                       "optional" : "1",
+                                       "pattern" : "(?:(?:acl|properties|entry);)*(?:acl|properties|entry)",
+                                       "type" : "string",
+                                       "typetext" : "[acl];[properties];[entry]"
+                                    },
                                     "scope" : {
                                        "description" : "Select what to sync.",
                                        "enum" : [
@@ -41879,11 +47008,15 @@ var pveapi = [
                                  "check" : [
                                     "and",
                                     [
-                                       "userid-param",
-                                       "Realm.AllocateUser"
+                                       "perm",
+                                       "/access/realm/{realm}",
+                                       [
+                                          "Realm.AllocateUser"
+                                       ]
                                     ],
                                     [
-                                       "userid-group",
+                                       "perm",
+                                       "/access/groups",
                                        [
                                           "User.Modify"
                                        ]
@@ -41974,6 +47107,19 @@ var pveapi = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "acr-values" : {
+                                 "description" : "Specifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "autocreate" : {
+                                 "default" : 0,
+                                 "description" : "Automatically create users if they do not exist.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "base_dn" : {
                                  "description" : "LDAP base domain name",
                                  "maxLength" : 256,
@@ -42014,6 +47160,20 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "client-id" : {
+                                 "description" : "OpenID Client ID",
+                                 "maxLength" : 256,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "client-key" : {
+                                 "description" : "OpenID Client Key",
+                                 "maxLength" : 256,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "comment" : {
                                  "description" : "Description.",
                                  "maxLength" : 4096,
@@ -42086,6 +47246,13 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "issuer-url" : {
+                                 "description" : "OpenID Issuer Url",
+                                 "maxLength" : 256,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "mode" : {
                                  "default" : "ldap",
                                  "description" : "LDAP protocol mode.",
@@ -42111,6 +47278,12 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (1 - 65535)"
                               },
+                              "prompt" : {
+                                 "description" : "Specifies whether the Authorization Server prompts the End-User for reauthentication and consent.",
+                                 "optional" : 1,
+                                 "pattern" : "(?:none|login|consent|select_account|\\S+)",
+                                 "type" : "string"
+                              },
                               "realm" : {
                                  "description" : "Authentication domain ID",
                                  "format" : "pve-realm",
@@ -42118,6 +47291,13 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "scopes" : {
+                                 "default" : "email profile",
+                                 "description" : "Specifies the scopes (user details) that should be authorized and returned, for example 'email' or 'profile'.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "secure" : {
                                  "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
                                  "optional" : 1,
@@ -42140,375 +47320,1047 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
-                              "sslversion" : {
-                                 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
-                                 "enum" : [
-                                    "tlsv1",
-                                    "tlsv1_1",
-                                    "tlsv1_2",
-                                    "tlsv1_3"
-                                 ],
-                                 "optional" : 1,
-                                 "type" : "string"
-                              },
-                              "sync-defaults-options" : {
-                                 "description" : "The default options for behavior of synchronizations.",
-                                 "format" : "realm-sync-options",
+                              "sslversion" : {
+                                 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
+                                 "enum" : [
+                                    "tlsv1",
+                                    "tlsv1_1",
+                                    "tlsv1_2",
+                                    "tlsv1_3"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "sync-defaults-options" : {
+                                 "description" : "The default options for behavior of synchronizations.",
+                                 "format" : "realm-sync-options",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,remove-vanished=[acl];[properties];[entry]] [,scope=<users|groups|both>]"
+                              },
+                              "sync_attributes" : {
+                                 "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write  'email=mail'. By default, each PVE user field is represented  by an LDAP attribute of the same name.",
+                                 "optional" : 1,
+                                 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                                 "type" : "string"
+                              },
+                              "tfa" : {
+                                 "description" : "Use Two-factor authentication.",
+                                 "format" : "pve-tfa-config",
+                                 "maxLength" : 128,
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
+                              },
+                              "user_attr" : {
+                                 "description" : "LDAP user attribute name",
+                                 "maxLength" : 256,
+                                 "optional" : 1,
+                                 "pattern" : "\\S{2,}",
+                                 "type" : "string"
+                              },
+                              "user_classes" : {
+                                 "default" : "inetorgperson, posixaccount, person, user",
+                                 "description" : "The objectclasses for users.",
+                                 "format" : "ldap-simple-attr-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "verify" : {
+                                 "default" : 0,
+                                 "description" : "Verify the server's SSL certificate",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              }
+                           },
+                           "type" : "object"
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/access/realm",
+                              [
+                                 "Realm.Allocate"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "null"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/access/domains/{realm}",
+                  "text" : "{realm}"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "allowtoken" : 1,
+                  "description" : "Authentication domain index.",
+                  "method" : "GET",
+                  "name" : "index",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
+                     "user" : "world"
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {
+                           "comment" : {
+                              "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "realm" : {
+                              "type" : "string"
+                           },
+                           "tfa" : {
+                              "description" : "Two-factor authentication provider.",
+                              "enum" : [
+                                 "yubico",
+                                 "oath"
+                              ],
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "type" : {
+                              "type" : "string"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{realm}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               },
+               "POST" : {
+                  "allowtoken" : 1,
+                  "description" : "Add an authentication server.",
+                  "method" : "POST",
+                  "name" : "create",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "acr-values" : {
+                           "description" : "Specifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "autocreate" : {
+                           "default" : 0,
+                           "description" : "Automatically create users if they do not exist.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "base_dn" : {
+                           "description" : "LDAP base domain name",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                           "type" : "string"
+                        },
+                        "bind_dn" : {
+                           "description" : "LDAP bind domain name",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                           "type" : "string"
+                        },
+                        "capath" : {
+                           "default" : "/etc/ssl/certs",
+                           "description" : "Path to the CA certificate store",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "case-sensitive" : {
+                           "default" : 1,
+                           "description" : "username is case-sensitive",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "cert" : {
+                           "description" : "Path to the client certificate",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "certkey" : {
+                           "description" : "Path to the client certificate key",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "client-id" : {
+                           "description" : "OpenID Client ID",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "client-key" : {
+                           "description" : "OpenID Client Key",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "comment" : {
+                           "description" : "Description.",
+                           "maxLength" : 4096,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "default" : {
+                           "description" : "Use this as default realm",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "domain" : {
+                           "description" : "AD domain name",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "pattern" : "\\S+",
+                           "type" : "string"
+                        },
+                        "filter" : {
+                           "description" : "LDAP filter for user sync.",
+                           "maxLength" : 2048,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "group_classes" : {
+                           "default" : "groupOfNames, group, univentionGroup, ipausergroup",
+                           "description" : "The objectclasses for groups.",
+                           "format" : "ldap-simple-attr-list",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "group_dn" : {
+                           "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                           "type" : "string"
+                        },
+                        "group_filter" : {
+                           "description" : "LDAP filter for group sync.",
+                           "maxLength" : 2048,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "group_name_attr" : {
+                           "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
+                           "format" : "ldap-simple-attr",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "issuer-url" : {
+                           "description" : "OpenID Issuer Url",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "mode" : {
+                           "default" : "ldap",
+                           "description" : "LDAP protocol mode.",
+                           "enum" : [
+                              "ldap",
+                              "ldaps",
+                              "ldap+starttls"
+                           ],
+                           "optional" : 1,
+                           "type" : "string"
+                        },
+                        "password" : {
+                           "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "port" : {
+                           "description" : "Server port.",
+                           "maximum" : 65535,
+                           "minimum" : 1,
+                           "optional" : 1,
+                           "type" : "integer",
+                           "typetext" : "<integer> (1 - 65535)"
+                        },
+                        "prompt" : {
+                           "description" : "Specifies whether the Authorization Server prompts the End-User for reauthentication and consent.",
+                           "optional" : 1,
+                           "pattern" : "(?:none|login|consent|select_account|\\S+)",
+                           "type" : "string"
+                        },
+                        "realm" : {
+                           "description" : "Authentication domain ID",
+                           "format" : "pve-realm",
+                           "maxLength" : 32,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "scopes" : {
+                           "default" : "email profile",
+                           "description" : "Specifies the scopes (user details) that should be authorized and returned, for example 'email' or 'profile'.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "secure" : {
+                           "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
+                        "server1" : {
+                           "description" : "Server IP address (or DNS name)",
+                           "format" : "address",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "server2" : {
+                           "description" : "Fallback Server IP address (or DNS name)",
+                           "format" : "address",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "sslversion" : {
+                           "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
+                           "enum" : [
+                              "tlsv1",
+                              "tlsv1_1",
+                              "tlsv1_2",
+                              "tlsv1_3"
+                           ],
+                           "optional" : 1,
+                           "type" : "string"
+                        },
+                        "sync-defaults-options" : {
+                           "description" : "The default options for behavior of synchronizations.",
+                           "format" : "realm-sync-options",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,remove-vanished=[acl];[properties];[entry]] [,scope=<users|groups|both>]"
+                        },
+                        "sync_attributes" : {
+                           "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write  'email=mail'. By default, each PVE user field is represented  by an LDAP attribute of the same name.",
+                           "optional" : 1,
+                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                           "type" : "string"
+                        },
+                        "tfa" : {
+                           "description" : "Use Two-factor authentication.",
+                           "format" : "pve-tfa-config",
+                           "maxLength" : 128,
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
+                        },
+                        "type" : {
+                           "description" : "Realm type.",
+                           "enum" : [
+                              "ad",
+                              "ldap",
+                              "openid",
+                              "pam",
+                              "pve"
+                           ],
+                           "type" : "string"
+                        },
+                        "user_attr" : {
+                           "description" : "LDAP user attribute name",
+                           "maxLength" : 256,
+                           "optional" : 1,
+                           "pattern" : "\\S{2,}",
+                           "type" : "string"
+                        },
+                        "user_classes" : {
+                           "default" : "inetorgperson, posixaccount, person, user",
+                           "description" : "The objectclasses for users.",
+                           "format" : "ldap-simple-attr-list",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "username-claim" : {
+                           "description" : "OpenID claim used to generate the unique username.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "verify" : {
+                           "default" : 0,
+                           "description" : "Verify the server's SSL certificate",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        }
+                     },
+                     "type" : "object"
+                  },
+                  "permissions" : {
+                     "check" : [
+                        "perm",
+                        "/access/realm",
+                        [
+                           "Realm.Allocate"
+                        ]
+                     ]
+                  },
+                  "protected" : 1,
+                  "returns" : {
+                     "type" : "null"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/access/domains",
+            "text" : "domains"
+         },
+         {
+            "children" : [
+               {
+                  "info" : {
+                     "POST" : {
+                        "allowtoken" : 1,
+                        "description" : "Get the OpenId Authorization Url for the specified realm.",
+                        "method" : "POST",
+                        "name" : "auth_url",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "realm" : {
+                                 "description" : "Authentication domain ID",
+                                 "format" : "pve-realm",
+                                 "maxLength" : 32,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "redirect-url" : {
+                                 "description" : "Redirection Url. The client should set this to the used server url (location.origin).",
+                                 "maxLength" : 255,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "user" : "world"
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "description" : "Redirection URL.",
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/access/openid/auth-url",
+                  "text" : "auth-url"
+               },
+               {
+                  "info" : {
+                     "POST" : {
+                        "allowtoken" : 1,
+                        "description" : " Verify OpenID authorization code and create a ticket.",
+                        "method" : "POST",
+                        "name" : "login",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "code" : {
+                                 "description" : "OpenId authorization code.",
+                                 "maxLength" : 4096,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "redirect-url" : {
+                                 "description" : "Redirection Url. The client should set this to the used server url (location.origin).",
+                                 "maxLength" : 255,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "state" : {
+                                 "description" : "OpenId state.",
+                                 "maxLength" : 1024,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "user" : "world"
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "properties" : {
+                              "CSRFPreventionToken" : {
+                                 "type" : "string"
+                              },
+                              "cap" : {
+                                 "type" : "object"
+                              },
+                              "clustername" : {
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "ticket" : {
+                                 "type" : "string"
+                              },
+                              "username" : {
+                                 "type" : "string"
+                              }
+                           }
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/access/openid/login",
+                  "text" : "login"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "allowtoken" : 1,
+                  "description" : "Directory index.",
+                  "method" : "GET",
+                  "name" : "index",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "user" : "all"
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {
+                           "subdir" : {
+                              "type" : "string"
+                           }
+                        },
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{subdir}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/access/openid",
+            "text" : "openid"
+         },
+         {
+            "children" : [
+               {
+                  "children" : [
+                     {
+                        "info" : {
+                           "DELETE" : {
+                              "allowtoken" : 0,
+                              "description" : "Delete a TFA entry by ID.",
+                              "method" : "DELETE",
+                              "name" : "delete_tfa",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "id" : {
+                                       "description" : "A TFA entry id.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "password" : {
+                                       "description" : "The current password.",
+                                       "maxLength" : 64,
+                                       "minLength" : 5,
+                                       "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"
+                                    ],
+                                    [
+                                       "userid-group",
+                                       [
+                                          "User.Modify"
+                                       ]
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           },
+                           "GET" : {
+                              "allowtoken" : 0,
+                              "description" : "Fetch a requested TFA entry if present.",
+                              "method" : "GET",
+                              "name" : "get_tfa_entry",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "id" : {
+                                       "description" : "A TFA entry id.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "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" : {
+                                 "description" : "TFA Entry.",
+                                 "properties" : {
+                                    "created" : {
+                                       "description" : "Creation time of this entry as unix epoch.",
+                                       "type" : "integer"
+                                    },
+                                    "description" : {
+                                       "description" : "User chosen description for this entry.",
+                                       "type" : "string"
+                                    },
+                                    "enable" : {
+                                       "default" : 1,
+                                       "description" : "Whether this TFA entry is currently enabled.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "id" : {
+                                       "description" : "The id used to reference this entry.",
+                                       "type" : "string"
+                                    },
+                                    "type" : {
+                                       "description" : "TFA Entry Type.",
+                                       "enum" : [
+                                          "totp",
+                                          "u2f",
+                                          "webauthn",
+                                          "recovery",
+                                          "yubico"
+                                       ],
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
+                           },
+                           "PUT" : {
+                              "allowtoken" : 0,
+                              "description" : "Add a TFA entry for a user.",
+                              "method" : "PUT",
+                              "name" : "update_tfa_entry",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "description" : {
+                                       "description" : "A description to distinguish multiple entries from one another",
+                                       "maxLength" : 255,
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "enable" : {
+                                       "description" : "Whether the entry should be enabled for login.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "id" : {
+                                       "description" : "A TFA entry id.",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "password" : {
+                                       "description" : "The current password.",
+                                       "maxLength" : 64,
+                                       "minLength" : 5,
+                                       "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"
+                                    ],
+                                    [
+                                       "userid-group",
+                                       [
+                                          "User.Modify"
+                                       ]
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/access/tfa/{userid}/{id}",
+                        "text" : "{id}"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 0,
+                        "description" : "List TFA configurations of users.",
+                        "method" : "GET",
+                        "name" : "list_user_tfa",
+                        "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" : {
+                           "description" : "A list of the user's TFA entries.",
+                           "items" : {
+                              "description" : "TFA Entry.",
+                              "properties" : {
+                                 "created" : {
+                                    "description" : "Creation time of this entry as unix epoch.",
+                                    "type" : "integer"
+                                 },
+                                 "description" : {
+                                    "description" : "User chosen description for this entry.",
+                                    "type" : "string"
+                                 },
+                                 "enable" : {
+                                    "default" : 1,
+                                    "description" : "Whether this TFA entry is currently enabled.",
+                                    "optional" : 1,
+                                    "type" : "boolean"
+                                 },
+                                 "id" : {
+                                    "description" : "The id used to reference this entry.",
+                                    "type" : "string"
+                                 },
+                                 "type" : {
+                                    "description" : "TFA Entry Type.",
+                                    "enum" : [
+                                       "totp",
+                                       "u2f",
+                                       "webauthn",
+                                       "recovery",
+                                       "yubico"
+                                    ],
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "type" : "array"
+                        }
+                     },
+                     "POST" : {
+                        "allowtoken" : 0,
+                        "description" : "Add a TFA entry for a user.",
+                        "method" : "POST",
+                        "name" : "add_tfa_entry",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "challenge" : {
+                                 "description" : "When responding to a u2f challenge: the original challenge string",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "description" : {
+                                 "description" : "A description to distinguish multiple entries from one another",
+                                 "maxLength" : 255,
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
+                                 "typetext" : "<string>"
                               },
-                              "sync_attributes" : {
-                                 "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write  'email=mail'. By default, each PVE user field is represented  by an LDAP attribute of the same name.",
+                              "password" : {
+                                 "description" : "The current password.",
+                                 "maxLength" : 64,
+                                 "minLength" : 5,
                                  "optional" : 1,
-                                 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
-                                 "type" : "string"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               },
-                              "tfa" : {
-                                 "description" : "Use Two-factor authentication.",
-                                 "format" : "pve-tfa-config",
-                                 "maxLength" : 128,
+                              "totp" : {
+                                 "description" : "A totp URI.",
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
+                                 "typetext" : "<string>"
                               },
-                              "user_attr" : {
-                                 "description" : "LDAP user attribute name",
-                                 "maxLength" : 256,
-                                 "optional" : 1,
-                                 "pattern" : "\\S{2,}",
+                              "type" : {
+                                 "description" : "TFA Entry Type.",
+                                 "enum" : [
+                                    "totp",
+                                    "u2f",
+                                    "webauthn",
+                                    "recovery",
+                                    "yubico"
+                                 ],
                                  "type" : "string"
                               },
-                              "user_classes" : {
-                                 "default" : "inetorgperson, posixaccount, person, user",
-                                 "description" : "The objectclasses for users.",
-                                 "format" : "ldap-simple-attr-list",
-                                 "optional" : 1,
+                              "userid" : {
+                                 "description" : "User ID",
+                                 "format" : "pve-userid",
+                                 "maxLength" : 64,
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
-                              "verify" : {
-                                 "default" : 0,
-                                 "description" : "Verify the server's SSL certificate",
+                              "value" : {
+                                 "description" : "The current value for the provided totp URI, or a Webauthn/U2F challenge response",
                                  "optional" : 1,
-                                 "type" : "boolean",
-                                 "typetext" : "<boolean>"
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
-                           },
-                           "type" : "object"
+                           }
                         },
                         "permissions" : {
                            "check" : [
-                              "perm",
-                              "/access/realm",
+                              "or",
                               [
-                                 "Realm.Allocate"
+                                 "userid-param",
+                                 "self"
+                              ],
+                              [
+                                 "userid-group",
+                                 [
+                                    "User.Modify"
+                                 ]
                               ]
                            ]
                         },
                         "protected" : 1,
                         "returns" : {
-                           "type" : "null"
+                           "properties" : {
+                              "challenge" : {
+                                 "description" : "When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.",
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "id" : {
+                                 "description" : "The id of a newly added TFA entry.",
+                                 "type" : "string"
+                              },
+                              "recovery" : {
+                                 "description" : "When adding recovery codes, this contains the list of codes to be displayed to the user",
+                                 "items" : {
+                                    "description" : "A recovery entry.",
+                                    "type" : "string"
+                                 },
+                                 "optional" : 1,
+                                 "type" : "array"
+                              }
+                           },
+                           "type" : "object"
                         }
                      }
                   },
                   "leaf" : 0,
-                  "path" : "/access/domains/{realm}",
-                  "text" : "{realm}"
+                  "path" : "/access/tfa/{userid}",
+                  "text" : "{userid}"
                }
             ],
             "info" : {
                "GET" : {
-                  "allowtoken" : 1,
-                  "description" : "Authentication domain index.",
+                  "allowtoken" : 0,
+                  "description" : "List TFA configurations of users.",
                   "method" : "GET",
-                  "name" : "index",
+                  "name" : "list_tfa",
                   "parameters" : {
                      "additionalProperties" : 0
                   },
                   "permissions" : {
-                     "description" : "Anyone can access that, because we need that list for the login box (before the user is authenticated).",
-                     "user" : "world"
+                     "description" : "Returns all or just the logged-in user, depending on privileges.",
+                     "user" : "all"
                   },
+                  "protected" : 1,
                   "returns" : {
+                     "description" : "The list tuples of user and TFA entries.",
                      "items" : {
                         "properties" : {
-                           "comment" : {
-                              "description" : "A comment. The GUI use this text when you select a domain (Realm) on the login window.",
-                              "optional" : 1,
-                              "type" : "string"
-                           },
-                           "realm" : {
-                              "type" : "string"
-                           },
-                           "tfa" : {
-                              "description" : "Two-factor authentication provider.",
-                              "enum" : [
-                                 "yubico",
-                                 "oath"
-                              ],
-                              "optional" : 1,
-                              "type" : "string"
+                           "entries" : {
+                              "items" : {
+                                 "description" : "TFA Entry.",
+                                 "properties" : {
+                                    "created" : {
+                                       "description" : "Creation time of this entry as unix epoch.",
+                                       "type" : "integer"
+                                    },
+                                    "description" : {
+                                       "description" : "User chosen description for this entry.",
+                                       "type" : "string"
+                                    },
+                                    "enable" : {
+                                       "default" : 1,
+                                       "description" : "Whether this TFA entry is currently enabled.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "id" : {
+                                       "description" : "The id used to reference this entry.",
+                                       "type" : "string"
+                                    },
+                                    "type" : {
+                                       "description" : "TFA Entry Type.",
+                                       "enum" : [
+                                          "totp",
+                                          "u2f",
+                                          "webauthn",
+                                          "recovery",
+                                          "yubico"
+                                       ],
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "type" : "array"
                            },
-                           "type" : {
+                           "userid" : {
+                              "description" : "User this entry belongs to.",
                               "type" : "string"
                            }
                         },
                         "type" : "object"
                      },
-                     "links" : [
-                        {
-                           "href" : "{realm}",
-                           "rel" : "child"
-                        }
-                     ],
                      "type" : "array"
                   }
                },
                "POST" : {
-                  "allowtoken" : 1,
-                  "description" : "Add an authentication server.",
+                  "allowtoken" : 0,
+                  "description" : "Finish a u2f challenge.",
                   "method" : "POST",
-                  "name" : "create",
+                  "name" : "verify_tfa",
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
-                        "base_dn" : {
-                           "description" : "LDAP base domain name",
-                           "maxLength" : 256,
-                           "optional" : 1,
-                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
-                           "type" : "string"
-                        },
-                        "bind_dn" : {
-                           "description" : "LDAP bind domain name",
-                           "maxLength" : 256,
-                           "optional" : 1,
-                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
-                           "type" : "string"
-                        },
-                        "capath" : {
-                           "default" : "/etc/ssl/certs",
-                           "description" : "Path to the CA certificate store",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "case-sensitive" : {
-                           "default" : 1,
-                           "description" : "username is case-sensitive",
-                           "optional" : 1,
-                           "type" : "boolean",
-                           "typetext" : "<boolean>"
-                        },
-                        "cert" : {
-                           "description" : "Path to the client certificate",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "certkey" : {
-                           "description" : "Path to the client certificate key",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "comment" : {
-                           "description" : "Description.",
-                           "maxLength" : 4096,
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "default" : {
-                           "description" : "Use this as default realm",
-                           "optional" : 1,
-                           "type" : "boolean",
-                           "typetext" : "<boolean>"
-                        },
-                        "domain" : {
-                           "description" : "AD domain name",
-                           "maxLength" : 256,
-                           "optional" : 1,
-                           "pattern" : "\\S+",
-                           "type" : "string"
-                        },
-                        "filter" : {
-                           "description" : "LDAP filter for user sync.",
-                           "maxLength" : 2048,
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "group_classes" : {
-                           "default" : "groupOfNames, group, univentionGroup, ipausergroup",
-                           "description" : "The objectclasses for groups.",
-                           "format" : "ldap-simple-attr-list",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "group_dn" : {
-                           "description" : "LDAP base domain name for group sync. If not set, the base_dn will be used.",
-                           "maxLength" : 256,
-                           "optional" : 1,
-                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
-                           "type" : "string"
-                        },
-                        "group_filter" : {
-                           "description" : "LDAP filter for group sync.",
-                           "maxLength" : 2048,
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "group_name_attr" : {
-                           "description" : "LDAP attribute representing a groups name. If not set or found, the first value of the DN will be used as name.",
-                           "format" : "ldap-simple-attr",
-                           "maxLength" : 256,
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "mode" : {
-                           "default" : "ldap",
-                           "description" : "LDAP protocol mode.",
-                           "enum" : [
-                              "ldap",
-                              "ldaps",
-                              "ldap+starttls"
-                           ],
-                           "optional" : 1,
-                           "type" : "string"
-                        },
-                        "password" : {
-                           "description" : "LDAP bind password. Will be stored in '/etc/pve/priv/realm/<REALM>.pw'.",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "port" : {
-                           "description" : "Server port.",
-                           "maximum" : 65535,
-                           "minimum" : 1,
-                           "optional" : 1,
-                           "type" : "integer",
-                           "typetext" : "<integer> (1 - 65535)"
-                        },
-                        "realm" : {
-                           "description" : "Authentication domain ID",
-                           "format" : "pve-realm",
-                           "maxLength" : 32,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "secure" : {
-                           "description" : "Use secure LDAPS protocol. DEPRECATED: use 'mode' instead.",
-                           "optional" : 1,
-                           "type" : "boolean",
-                           "typetext" : "<boolean>"
-                        },
-                        "server1" : {
-                           "description" : "Server IP address (or DNS name)",
-                           "format" : "address",
-                           "maxLength" : 256,
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "server2" : {
-                           "description" : "Fallback Server IP address (or DNS name)",
-                           "format" : "address",
-                           "maxLength" : 256,
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<string>"
-                        },
-                        "sslversion" : {
-                           "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
-                           "enum" : [
-                              "tlsv1",
-                              "tlsv1_1",
-                              "tlsv1_2",
-                              "tlsv1_3"
-                           ],
-                           "optional" : 1,
-                           "type" : "string"
-                        },
-                        "sync-defaults-options" : {
-                           "description" : "The default options for behavior of synchronizations.",
-                           "format" : "realm-sync-options",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,scope=<users|groups|both>]"
-                        },
-                        "sync_attributes" : {
-                           "description" : "Comma separated list of key=value pairs for specifying which LDAP attributes map to which PVE user field. For example, to map the LDAP attribute 'mail' to PVEs 'email', write  'email=mail'. By default, each PVE user field is represented  by an LDAP attribute of the same name.",
-                           "optional" : 1,
-                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
-                           "type" : "string"
-                        },
-                        "tfa" : {
-                           "description" : "Use Two-factor authentication.",
-                           "format" : "pve-tfa-config",
-                           "maxLength" : 128,
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "type=<TFATYPE> [,digits=<COUNT>] [,id=<ID>] [,key=<KEY>] [,step=<SECONDS>] [,url=<URL>]"
-                        },
-                        "type" : {
-                           "description" : "Realm type.",
-                           "enum" : [
-                              "ad",
-                              "ldap",
-                              "pam",
-                              "pve"
-                           ],
-                           "type" : "string"
-                        },
-                        "user_attr" : {
-                           "description" : "LDAP user attribute name",
-                           "maxLength" : 256,
-                           "optional" : 1,
-                           "pattern" : "\\S{2,}",
-                           "type" : "string"
-                        },
-                        "user_classes" : {
-                           "default" : "inetorgperson, posixaccount, person, user",
-                           "description" : "The objectclasses for users.",
-                           "format" : "ldap-simple-attr-list",
-                           "optional" : 1,
+                        "response" : {
+                           "description" : "The response to the current authentication challenge.",
                            "type" : "string",
                            "typetext" : "<string>"
-                        },
-                        "verify" : {
-                           "default" : 0,
-                           "description" : "Verify the server's SSL certificate",
-                           "optional" : 1,
-                           "type" : "boolean",
-                           "typetext" : "<boolean>"
                         }
-                     },
-                     "type" : "object"
+                     }
                   },
                   "permissions" : {
-                     "check" : [
-                        "perm",
-                        "/access/realm",
-                        [
-                           "Realm.Allocate"
-                        ]
-                     ]
+                     "user" : "all"
                   },
                   "protected" : 1,
                   "returns" : {
-                     "type" : "null"
+                     "properties" : {
+                        "ticket" : {
+                           "type" : "string"
+                        }
+                     },
+                     "type" : "object"
                   }
                }
             },
             "leaf" : 0,
-            "path" : "/access/domains",
-            "text" : "domains"
+            "path" : "/access/tfa",
+            "text" : "tfa"
          },
          {
             "info" : {
@@ -42535,6 +48387,13 @@ var pveapi = [
                   "parameters" : {
                      "additionalProperties" : 0,
                      "properties" : {
+                        "new-format" : {
+                           "default" : 0,
+                           "description" : "With webauthn the format of half-authenticated tickts changed. New clients should pass 1 here and not worry about the old format. The old format is deprecated and will be retired with PVE-8.0",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
+                        },
                         "otp" : {
                            "description" : "One-time password for Two-factor authentication.",
                            "optional" : 1,
@@ -42571,6 +48430,12 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "tfa-challenge" : {
+                           "description" : "The signed TFA challenge string the user wants to respond to.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "username" : {
                            "description" : "User name",
                            "maxLength" : 64,
@@ -42669,124 +48534,6 @@ var pveapi = [
             "path" : "/access/password",
             "text" : "password"
          },
-         {
-            "info" : {
-               "POST" : {
-                  "allowtoken" : 0,
-                  "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" : {
-                  "allowtoken" : 0,
-                  "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.",
-                           "format" : "pve-tfa-secret",
-                           "optional" : 1,
-                           "type" : "string",
-                           "typetext" : "<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" : {
                "GET" : {
@@ -42907,6 +48654,15 @@ var pveapi = [
                            "format" : "pve-poolid",
                            "type" : "string",
                            "typetext" : "<string>"
+                        },
+                        "type" : {
+                           "enum" : [
+                              "qemu",
+                              "lxc",
+                              "storage"
+                           ],
+                           "optional" : 1,
+                           "type" : "string"
                         }
                      }
                   },
@@ -42915,7 +48671,7 @@ var pveapi = [
                         "perm",
                         "/pool/{poolid}",
                         [
-                           "Pool.Allocate"
+                           "Pool.Audit"
                         ]
                      ]
                   },
@@ -43033,7 +48789,7 @@ var pveapi = [
                "additionalProperties" : 0
             },
             "permissions" : {
-               "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
+               "description" : "List all pools where you have Pool.Audit permissions on /pool/<pool>.",
                "user" : "all"
             },
             "returns" : {
@@ -43097,7 +48853,7 @@ var pveapi = [
       "info" : {
          "GET" : {
             "allowtoken" : 1,
-            "description" : "API version details. The result also includes the global datacenter confguration.",
+            "description" : "API version details, including some parts of the global datacenter config.",
             "method" : "GET",
             "name" : "version",
             "parameters" : {
@@ -43108,13 +48864,27 @@ var pveapi = [
             },
             "returns" : {
                "properties" : {
+                  "console" : {
+                     "description" : "The default console viewer to use.",
+                     "enum" : [
+                        "applet",
+                        "vv",
+                        "html5",
+                        "xtermjs"
+                     ],
+                     "optional" : 1,
+                     "type" : "string"
+                  },
                   "release" : {
+                     "description" : "The current Proxmox VE point release in `x.y` format.",
                      "type" : "string"
                   },
                   "repoid" : {
+                     "description" : "The short git revision from which this version was build.",
                      "type" : "string"
                   },
                   "version" : {
+                     "description" : "The full pve-manager package version of this node.",
                      "type" : "string"
                   }
                },