]> git.proxmox.com Git - pve-docs.git/blobdiff - api-viewer/apidata.js
update static/schema information
[pve-docs.git] / api-viewer / apidata.js
index 1d4f7a32e9ad3c0ce3d35d6a7506bcfa45a92208..7068f245890f093f0bb571ce3ded7d038197d986 100644 (file)
@@ -1498,7 +1498,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "icmp-type" : {
-                                             "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                             "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                              "format" : "pve-fw-icmp-type-spec",
                                              "optional" : 1,
                                              "type" : "string",
@@ -1741,7 +1741,7 @@ const apiSchema = [
                                        "type" : "string"
                                     },
                                     "icmp-type" : {
-                                       "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                       "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                        "format" : "pve-fw-icmp-type-spec",
                                        "optional" : 1,
                                        "type" : "string",
@@ -2145,7 +2145,7 @@ const apiSchema = [
                                        "typetext" : "<integer> (0 - N)"
                                     },
                                     "icmp-type" : {
-                                       "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                       "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                        "format" : "pve-fw-icmp-type-spec",
                                        "optional" : 1,
                                        "type" : "string",
@@ -2341,7 +2341,7 @@ const apiSchema = [
                                  "typetext" : "<integer> (0 - N)"
                               },
                               "icmp-type" : {
-                                 "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                 "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                  "format" : "pve-fw-icmp-type-spec",
                                  "optional" : 1,
                                  "type" : "string",
@@ -2596,6 +2596,12 @@ const apiSchema = [
                               "parameters" : {
                                  "additionalProperties" : 0,
                                  "properties" : {
+                                    "force" : {
+                                       "description" : "Delete all members of the IPSet, if there are any.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "name" : {
                                        "description" : "IP set name.",
                                        "maxLength" : 64,
@@ -3694,12 +3700,20 @@ const apiSchema = [
                                  "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.",
+                                 "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. Needs to be a single line, newline and backslash need to be escaped as '\\n' and '\\\\' respectively.",
+                                 "maxLength" : 1024,
                                  "optional" : 1,
                                  "requires" : "storage",
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "performance" : {
+                                 "description" : "Other performance-related settings.",
+                                 "format" : "backup-performance",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[max-workers=<integer>]"
+                              },
                               "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.",
@@ -4026,12 +4040,20 @@ const apiSchema = [
                            "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.",
+                           "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. Needs to be a single line, newline and backslash need to be escaped as '\\n' and '\\\\' respectively.",
+                           "maxLength" : 1024,
                            "optional" : 1,
                            "requires" : "storage",
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "performance" : {
+                           "description" : "Other performance-related settings.",
+                           "format" : "backup-performance",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[max-workers=<integer>]"
+                        },
                         "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.",
@@ -5171,20 +5193,24 @@ const apiSchema = [
                                           "aws",
                                           "azion",
                                           "azure",
+                                          "bunny",
                                           "cf",
                                           "clouddns",
                                           "cloudns",
                                           "cn",
                                           "conoha",
                                           "constellix",
-                                          "cx",
+                                          "cpanel",
+                                          "curanet",
                                           "cyon",
                                           "da",
                                           "ddnss",
                                           "desec",
                                           "df",
                                           "dgon",
+                                          "dnshome",
                                           "dnsimple",
+                                          "dnsservices",
                                           "do",
                                           "doapi",
                                           "domeneshop",
@@ -5200,11 +5226,12 @@ const apiSchema = [
                                           "edgedns",
                                           "euserv",
                                           "exoscale",
+                                          "fornex",
                                           "freedns",
                                           "gandi_livedns",
                                           "gcloud",
                                           "gd",
-                                          "gdnsdk",
+                                          "geoscaling",
                                           "he",
                                           "hetzner",
                                           "hexonet",
@@ -5222,6 +5249,7 @@ const apiSchema = [
                                           "kas",
                                           "kinghost",
                                           "knot",
+                                          "la",
                                           "leaseweb",
                                           "lexicon",
                                           "linode",
@@ -5235,6 +5263,7 @@ const apiSchema = [
                                           "myapi",
                                           "mydevil",
                                           "mydnsjp",
+                                          "mythic_beasts",
                                           "namecheap",
                                           "namecom",
                                           "namesilo",
@@ -5262,24 +5291,29 @@ const apiSchema = [
                                           "porkbun",
                                           "rackcorp",
                                           "rackspace",
+                                          "rage4",
                                           "rcode0",
                                           "regru",
                                           "scaleway",
                                           "schlundtech",
                                           "selectel",
+                                          "selfhost",
                                           "servercow",
                                           "simply",
                                           "tele3",
                                           "transip",
+                                          "udr",
                                           "ultra",
                                           "unoeuro",
                                           "variomedia",
                                           "veesp",
+                                          "vercel",
                                           "vscale",
                                           "vultr",
                                           "websupport",
                                           "world4you",
                                           "yandex",
+                                          "yc",
                                           "zilore",
                                           "zone",
                                           "zonomi"
@@ -5433,20 +5467,24 @@ const apiSchema = [
                                     "aws",
                                     "azion",
                                     "azure",
+                                    "bunny",
                                     "cf",
                                     "clouddns",
                                     "cloudns",
                                     "cn",
                                     "conoha",
                                     "constellix",
-                                    "cx",
+                                    "cpanel",
+                                    "curanet",
                                     "cyon",
                                     "da",
                                     "ddnss",
                                     "desec",
                                     "df",
                                     "dgon",
+                                    "dnshome",
                                     "dnsimple",
+                                    "dnsservices",
                                     "do",
                                     "doapi",
                                     "domeneshop",
@@ -5462,11 +5500,12 @@ const apiSchema = [
                                     "edgedns",
                                     "euserv",
                                     "exoscale",
+                                    "fornex",
                                     "freedns",
                                     "gandi_livedns",
                                     "gcloud",
                                     "gd",
-                                    "gdnsdk",
+                                    "geoscaling",
                                     "he",
                                     "hetzner",
                                     "hexonet",
@@ -5484,6 +5523,7 @@ const apiSchema = [
                                     "kas",
                                     "kinghost",
                                     "knot",
+                                    "la",
                                     "leaseweb",
                                     "lexicon",
                                     "linode",
@@ -5497,6 +5537,7 @@ const apiSchema = [
                                     "myapi",
                                     "mydevil",
                                     "mydnsjp",
+                                    "mythic_beasts",
                                     "namecheap",
                                     "namecom",
                                     "namesilo",
@@ -5524,24 +5565,29 @@ const apiSchema = [
                                     "porkbun",
                                     "rackcorp",
                                     "rackspace",
+                                    "rage4",
                                     "rcode0",
                                     "regru",
                                     "scaleway",
                                     "schlundtech",
                                     "selectel",
+                                    "selfhost",
                                     "servercow",
                                     "simply",
                                     "tele3",
                                     "transip",
+                                    "udr",
                                     "ultra",
                                     "unoeuro",
                                     "variomedia",
                                     "veesp",
+                                    "vercel",
                                     "vscale",
                                     "vultr",
                                     "websupport",
                                     "world4you",
                                     "yandex",
+                                    "yc",
                                     "zilore",
                                     "zone",
                                     "zonomi"
@@ -5978,6 +6024,230 @@ const apiSchema = [
                         },
                         "protected" : 1,
                         "returns" : {
+                           "description" : "Items for each type of service containing objects for each instance.",
+                           "properties" : {
+                              "mds" : {
+                                 "description" : "Metadata servers configured in the cluster and their properties.",
+                                 "properties" : {
+                                    "{id}" : {
+                                       "description" : "Useful properties are listed, but not the full list.",
+                                       "properties" : {
+                                          "addr" : {
+                                             "description" : "Bind addresses and ports.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_release" : {
+                                             "description" : "Ceph release codename currently used.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_version" : {
+                                             "description" : "Version info currently used by the service.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_version_short" : {
+                                             "description" : "Short version (numerical) info currently used by the service.",
+                                             "type" : "string"
+                                          },
+                                          "hostname" : {
+                                             "description" : "Hostname on which the service is running.",
+                                             "type" : "string"
+                                          },
+                                          "mem_swap_kb" : {
+                                             "description" : "Memory of the service currently in swap.",
+                                             "type" : "integer"
+                                          },
+                                          "mem_total_kb" : {
+                                             "description" : "Memory consumption of the service.",
+                                             "type" : "integer"
+                                          },
+                                          "name" : {
+                                             "description" : "Name of the service instance.",
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "mgr" : {
+                                 "description" : "Managers configured in the cluster and their properties.",
+                                 "properties" : {
+                                    "{id}" : {
+                                       "description" : "Useful properties are listed, but not the full list.",
+                                       "properties" : {
+                                          "addr" : {
+                                             "description" : "Bind address",
+                                             "type" : "string"
+                                          },
+                                          "ceph_release" : {
+                                             "description" : "Ceph release codename currently used.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_version" : {
+                                             "description" : "Version info currently used by the service.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_version_short" : {
+                                             "description" : "Short version (numerical) info currently used by the service.",
+                                             "type" : "string"
+                                          },
+                                          "hostname" : {
+                                             "description" : "Hostname on which the service is running.",
+                                             "type" : "string"
+                                          },
+                                          "mem_swap_kb" : {
+                                             "description" : "Memory of the service currently in swap.",
+                                             "type" : "integer"
+                                          },
+                                          "mem_total_kb" : {
+                                             "description" : "Memory consumption of the service.",
+                                             "type" : "integer"
+                                          },
+                                          "name" : {
+                                             "description" : "Name of the service instance.",
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "mon" : {
+                                 "description" : "Monitors configured in the cluster and their properties.",
+                                 "properties" : {
+                                    "{id}" : {
+                                       "description" : "Useful properties are listed, but not the full list.",
+                                       "properties" : {
+                                          "addrs" : {
+                                             "description" : "Bind addresses and ports.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_release" : {
+                                             "description" : "Ceph release codename currently used.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_version" : {
+                                             "description" : "Version info currently used by the service.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_version_short" : {
+                                             "description" : "Short version (numerical) info currently used by the service.",
+                                             "type" : "string"
+                                          },
+                                          "hostname" : {
+                                             "description" : "Hostname on which the service is running.",
+                                             "type" : "string"
+                                          },
+                                          "mem_swap_kb" : {
+                                             "description" : "Memory of the service currently in swap.",
+                                             "type" : "integer"
+                                          },
+                                          "mem_total_kb" : {
+                                             "description" : "Memory consumption of the service.",
+                                             "type" : "integer"
+                                          },
+                                          "name" : {
+                                             "description" : "Name of the service instance.",
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "node" : {
+                                 "description" : "Ceph version installed on the nodes.",
+                                 "properties" : {
+                                    "{node}" : {
+                                       "properties" : {
+                                          "buildcommit" : {
+                                             "description" : "GIT commit used for the build.",
+                                             "type" : "string"
+                                          },
+                                          "version" : {
+                                             "description" : "Version info.",
+                                             "properties" : {
+                                                "parts" : {
+                                                   "description" : "major, minor & patch",
+                                                   "type" : "array"
+                                                },
+                                                "str" : {
+                                                   "description" : "Version as single string.",
+                                                   "type" : "string"
+                                                }
+                                             },
+                                             "type" : "object"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "osd" : {
+                                 "description" : "OSDs configured in the cluster and their properties.",
+                                 "properties" : {
+                                    "{id}" : {
+                                       "description" : "Useful properties are listed, but not the full list.",
+                                       "properties" : {
+                                          "back_addr" : {
+                                             "description" : "Bind addresses and ports for backend inter OSD traffic.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_release" : {
+                                             "description" : "Ceph release codename currently used.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_version" : {
+                                             "description" : "Version info currently used by the service.",
+                                             "type" : "string"
+                                          },
+                                          "ceph_version_short" : {
+                                             "description" : "Short version (numerical) info currently used by the service.",
+                                             "type" : "string"
+                                          },
+                                          "device_id" : {
+                                             "description" : "Devices used by the OSD.",
+                                             "type" : "string"
+                                          },
+                                          "front_addr" : {
+                                             "description" : "Bind addresses and ports for frontend traffic to OSDs.",
+                                             "type" : "string"
+                                          },
+                                          "hostname" : {
+                                             "description" : "Hostname on which the service is running.",
+                                             "type" : "string"
+                                          },
+                                          "id" : {
+                                             "description" : "OSD ID.",
+                                             "type" : "integer"
+                                          },
+                                          "mem_swap_kb" : {
+                                             "description" : "Memory of the service currently in swap.",
+                                             "type" : "integer"
+                                          },
+                                          "mem_total_kb" : {
+                                             "description" : "Memory consumption of the service.",
+                                             "type" : "integer"
+                                          },
+                                          "osd_data" : {
+                                             "description" : "Path to the OSD data directory.",
+                                             "type" : "string"
+                                          },
+                                          "osd_objectstore" : {
+                                             "description" : "OSD objectstore type.",
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "type" : "array"
+                              }
+                           },
                            "type" : "object"
                         }
                      }
@@ -6138,6 +6408,10 @@ const apiSchema = [
                            "items" : {
                               "additionalProperties" : 1,
                               "properties" : {
+                                 "description" : {
+                                    "description" : "Flag description.",
+                                    "type" : "string"
+                                 },
                                  "name" : {
                                     "description" : "Flag name.",
                                     "enum" : [
@@ -6154,6 +6428,10 @@ const apiSchema = [
                                        "pause"
                                     ],
                                     "type" : "string"
+                                 },
+                                 "value" : {
+                                    "description" : "Flag value.",
+                                    "type" : "boolean"
                                  }
                               },
                               "type" : "object"
@@ -8418,6 +8696,11 @@ const apiSchema = [
                   "returns" : {
                      "items" : {
                         "properties" : {
+                           "cgroup-mode" : {
+                              "description" : "The cgroup mode the node operates under (when type == node).",
+                              "optional" : 1,
+                              "type" : "integer"
+                           },
                            "content" : {
                               "description" : "Allowed storage content types (when type == storage).",
                               "format" : "pve-storage-content-list",
@@ -8426,15 +8709,17 @@ const apiSchema = [
                            },
                            "cpu" : {
                               "description" : "CPU utilization (when type in node,qemu,lxc).",
+                              "minimum" : 0,
                               "optional" : 1,
                               "renderer" : "fraction_as_percentage",
                               "type" : "number"
                            },
                            "disk" : {
                               "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
+                              "minimum" : 0,
                               "optional" : 1,
                               "renderer" : "bytes",
-                              "type" : "string"
+                              "type" : "integer"
                            },
                            "hastate" : {
                               "description" : "HA service status (for HA managed VMs).",
@@ -8442,6 +8727,7 @@ const apiSchema = [
                               "type" : "string"
                            },
                            "id" : {
+                              "description" : "Resource id.",
                               "type" : "string"
                            },
                            "level" : {
@@ -8451,11 +8737,13 @@ const apiSchema = [
                            },
                            "maxcpu" : {
                               "description" : "Number of available CPUs (when type in node,qemu,lxc).",
+                              "minimum" : 0,
                               "optional" : 1,
                               "type" : "number"
                            },
                            "maxdisk" : {
                               "description" : "Storage size in bytes (when type in storage), root image size for VMs (type in qemu,lxc).",
+                              "minimum" : 0,
                               "optional" : 1,
                               "renderer" : "bytes",
                               "type" : "integer"
@@ -8468,9 +8756,10 @@ const apiSchema = [
                            },
                            "mem" : {
                               "description" : "Used memory in bytes (when type in node,qemu,lxc).",
+                              "minimum" : 0,
                               "optional" : 1,
                               "renderer" : "bytes",
-                              "type" : "string"
+                              "type" : "integer"
                            },
                            "name" : {
                               "description" : "Name of the resource.",
@@ -8522,6 +8811,12 @@ const apiSchema = [
                               "optional" : 1,
                               "renderer" : "duration",
                               "type" : "integer"
+                           },
+                           "vmid" : {
+                              "description" : "The numerical vmid (when type in qemu,lxc).",
+                              "minimum" : 1,
+                              "optional" : 1,
+                              "type" : "integer"
                            }
                         },
                         "type" : "object"
@@ -8568,7 +8863,7 @@ const apiSchema = [
             "info" : {
                "GET" : {
                   "allowtoken" : 1,
-                  "description" : "Get datacenter options.",
+                  "description" : "Get datacenter options. Without 'Sys.Audit' on '/' not all options are returned.",
                   "method" : "GET",
                   "name" : "get_options",
                   "parameters" : {
@@ -8581,7 +8876,8 @@ const apiSchema = [
                         [
                            "Sys.Audit"
                         ]
-                     ]
+                     ],
+                     "user" : "all"
                   },
                   "returns" : {
                      "type" : "object"
@@ -8649,6 +8945,31 @@ const apiSchema = [
                            "optional" : 1,
                            "type" : "string"
                         },
+                        "crs" : {
+                           "description" : "Cluster resource scheduling settings.",
+                           "format" : {
+                              "ha" : {
+                                 "default" : "basic",
+                                 "description" : "Use this resource scheduler mode for HA.",
+                                 "enum" : [
+                                    "basic",
+                                    "static"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "verbose_description" : "Configures how the HA manager should select nodes to start or recover services. With 'basic', only the number of services is used, with 'static', static CPU and memory configuration of services is considered."
+                              },
+                              "ha-rebalance-on-start" : {
+                                 "default" : 0,
+                                 "description" : "Set to use CRS for selecting a suited node when a HA services request-state changes from stop to start.",
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[ha=<basic|static>] [,ha-rebalance-on-start=<1|0>]"
+                        },
                         "delete" : {
                            "description" : "A list of settings you want to delete.",
                            "format" : "pve-configid-list",
@@ -8836,6 +9157,75 @@ const apiSchema = [
                            "type" : "string",
                            "typetext" : "[lower=<integer>] [,upper=<integer>]"
                         },
+                        "notify" : {
+                           "description" : "Cluster-wide notification settings.",
+                           "format" : {
+                              "package-updates" : {
+                                 "default" : "auto",
+                                 "description" : "Control when the daily update job should send out notification mails.",
+                                 "enum" : [
+                                    "auto",
+                                    "always",
+                                    "never"
+                                 ],
+                                 "type" : "string",
+                                 "verbose_description" : "Control how often the daily update job should send out notification mails:\n* 'auto' daily for systems with a valid subscription, as those are assumed to be  production-ready and thus should know about pending updates.\n* 'always' every update, if there are new pending updates.\n* 'never' never send a notification for new pending updates.\n"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "package-updates=<auto|always|never>"
+                        },
+                        "registered-tags" : {
+                           "description" : "A list of tags that require a `Sys.Modify` on '/' to set and delete. Tags set here that are also in 'user-tag-access' also require `Sys.Modify`.",
+                           "optional" : 1,
+                           "pattern" : "(?:(?^i:[a-z0-9_][a-z0-9_\\-\\+\\.]*);)*(?^i:[a-z0-9_][a-z0-9_\\-\\+\\.]*)",
+                           "type" : "string",
+                           "typetext" : "<tag>[;<tag>...]"
+                        },
+                        "tag-style" : {
+                           "description" : "Tag style options.",
+                           "format" : {
+                              "case-sensitive" : {
+                                 "default" : 0,
+                                 "description" : "Controls if filtering for unique tags on update should check case-sensitive.",
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "color-map" : {
+                                 "description" : "Manual color mapping for tags (semicolon separated).",
+                                 "optional" : 1,
+                                 "pattern" : "(?:(?^i:[a-z0-9_][a-z0-9_\\-\\+\\.]*):[0-9a-fA-F]{6}(?::[0-9a-fA-F]{6})?)(?:;(?:(?^i:[a-z0-9_][a-z0-9_\\-\\+\\.]*):[0-9a-fA-F]{6}(?::[0-9a-fA-F]{6})?))*",
+                                 "type" : "string",
+                                 "typetext" : "<tag>:<hex-color>[:<hex-color-for-text>][;<tag>=...]"
+                              },
+                              "ordering" : {
+                                 "default" : "alphabetical",
+                                 "description" : "Controls the sorting of the tags in the web-interface and the API update.",
+                                 "enum" : [
+                                    "config",
+                                    "alphabetical"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
+                              "shape" : {
+                                 "default" : "circle",
+                                 "description" : "Tag shape for the web ui tree. 'full' draws the full tag. 'circle' draws only a circle with the background color. 'dense' only draws a small rectancle (useful when many tags are assigned to each guest).'none' disables showing the tags.",
+                                 "enum" : [
+                                    "full",
+                                    "circle",
+                                    "dense",
+                                    "none"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[case-sensitive=<1|0>] [,color-map=<tag>:<hex-color>[:<hex-color-for-text>][;<tag>=...]] [,ordering=<config|alphabetical>] [,shape=<enum>]"
+                        },
                         "u2f" : {
                            "description" : "u2f",
                            "format" : {
@@ -8856,11 +9246,45 @@ const apiSchema = [
                            "type" : "string",
                            "typetext" : "[appid=<APPID>] [,origin=<URL>]"
                         },
+                        "user-tag-access" : {
+                           "description" : "Privilege options for user-settable tags",
+                           "format" : {
+                              "user-allow" : {
+                                 "default" : "free",
+                                 "description" : "Controls tag usage for users without `Sys.Modify` on `/` by either allowing `none`, a `list`, already `existing` or anything (`free`).",
+                                 "enum" : [
+                                    "none",
+                                    "list",
+                                    "existing",
+                                    "free"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "verbose_description" : "Controls which tags can be set or deleted on resources a user controls (such as guests). Users with the `Sys.Modify` privilege on `/` are always  unrestricted. * 'none' no tags are usable. * 'list' tags from 'user-allow-list' are usable. * 'existing' like list, but already existing tags of resources are also usable.* 'free' no tag restrictions."
+                              },
+                              "user-allow-list" : {
+                                 "description" : "List of tags users are allowed to set and delete (semicolon separated) for 'user-allow' values 'list' and 'existing'.",
+                                 "optional" : 1,
+                                 "pattern" : "(?^i:[a-z0-9_][a-z0-9_\\-\\+\\.]*)(?:;(?^i:[a-z0-9_][a-z0-9_\\-\\+\\.]*))*",
+                                 "type" : "string",
+                                 "typetext" : "<tag>[;<tag>...]"
+                              }
+                           },
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "[user-allow=<enum>] [,user-allow-list=<tag>[;<tag>...]]"
+                        },
                         "webauthn" : {
                            "description" : "webauthn configuration",
                            "format" : {
+                              "allow-subdomains" : {
+                                 "default" : 1,
+                                 "description" : "Whether to allow the origin to be a subdomain, rather than the exact URL.",
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
                               "id" : {
-                                 "description" : "Relying part ID. Must be the domain name without protocol, port or location. Changing this *will* break existing credentials.",
+                                 "description" : "Relying party ID. Must be the domain name without protocol, port or location. Changing this *will* break existing credentials.",
                                  "format_description" : "DOMAINNAME",
                                  "optional" : 1,
                                  "type" : "string"
@@ -8880,7 +9304,7 @@ const apiSchema = [
                            },
                            "optional" : 1,
                            "type" : "string",
-                           "typetext" : "[id=<DOMAINNAME>] [,origin=<URL>] [,rp=<RELYING_PARTY>]"
+                           "typetext" : "[allow-subdomains=<1|0>] [,id=<DOMAINNAME>] [,origin=<URL>] [,rp=<RELYING_PARTY>]"
                         }
                      }
                   },
@@ -9296,7 +9720,7 @@ const apiSchema = [
                                                          "typetext" : "<integer> (0 - N)"
                                                       },
                                                       "icmp-type" : {
-                                                         "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                                         "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                                          "format" : "pve-fw-icmp-type-spec",
                                                          "optional" : 1,
                                                          "type" : "string",
@@ -9520,7 +9944,7 @@ const apiSchema = [
                                                    "typetext" : "<integer> (0 - N)"
                                                 },
                                                 "icmp-type" : {
-                                                   "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                                   "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                                    "format" : "pve-fw-icmp-type-spec",
                                                    "optional" : 1,
                                                    "type" : "string",
@@ -10125,6 +10549,12 @@ const apiSchema = [
                                                 "parameters" : {
                                                    "additionalProperties" : 0,
                                                    "properties" : {
+                                                      "force" : {
+                                                         "description" : "Delete all members of the IPSet, if there are any.",
+                                                         "optional" : 1,
+                                                         "type" : "boolean",
+                                                         "typetext" : "<boolean>"
+                                                      },
                                                       "name" : {
                                                          "description" : "IP set name.",
                                                          "maxLength" : 64,
@@ -10730,12 +11160,26 @@ const apiSchema = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "since" : {
+                                                   "description" : "Display log since this UNIX epoch.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
                                                 "start" : {
                                                    "minimum" : 0,
                                                    "optional" : 1,
                                                    "type" : "integer",
                                                    "typetext" : "<integer> (0 - N)"
                                                 },
+                                                "until" : {
+                                                   "description" : "Display log until this UNIX epoch.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
@@ -12163,7 +12607,7 @@ const apiSchema = [
                               "info" : {
                                  "GET" : {
                                     "allowtoken" : 1,
-                                    "description" : "Qemu Agent command index.",
+                                    "description" : "QEMU Guest Agent command index.",
                                     "method" : "GET",
                                     "name" : "index",
                                     "parameters" : {
@@ -12189,7 +12633,7 @@ const apiSchema = [
                                     },
                                     "proxyto" : "node",
                                     "returns" : {
-                                       "description" : "Returns the list of Qemu Agent commands",
+                                       "description" : "Returns the list of QEMU Guest Agent commands",
                                        "items" : {
                                           "properties" : {},
                                           "type" : "object"
@@ -12205,7 +12649,7 @@ const apiSchema = [
                                  },
                                  "POST" : {
                                     "allowtoken" : 1,
-                                    "description" : "Execute Qemu Guest Agent commands.",
+                                    "description" : "Execute QEMU Guest Agent commands.",
                                     "method" : "POST",
                                     "name" : "agent",
                                     "parameters" : {
@@ -12475,13 +12919,25 @@ const apiSchema = [
                                              "optional" : 1,
                                              "type" : "boolean"
                                           },
+                                          "affinity" : {
+                                             "description" : "List of host cores used to execute guest processes, for example: 0,5,8-11",
+                                             "format" : "pve-cpuset",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "agent" : {
-                                             "description" : "Enable/disable communication with the Qemu Guest Agent 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 communication with a Qemu Guest Agent (QGA) running in the VM.",
+                                                   "description" : "Enable/disable communication with a QEMU Guest Agent (QGA) running in the VM.",
+                                                   "type" : "boolean"
+                                                },
+                                                "freeze-fs-on-backup" : {
+                                                   "default" : 1,
+                                                   "description" : "Freeze/thaw guest filesystems on backup for consistency.",
+                                                   "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "fstrim_cloned_disks" : {
@@ -12552,7 +13008,7 @@ const apiSchema = [
                                              "type" : "boolean"
                                           },
                                           "balloon" : {
-                                             "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
+                                             "description" : "Amount of target RAM for the VM in MiB. Using zero disables the ballon driver.",
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer"
@@ -12655,11 +13111,11 @@ const apiSchema = [
                                              "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.",
+                                                   "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. Ignored for VMs with arch=aarc64 (ARM).",
                                                    "enum" : [
                                                       "2m",
                                                       "4m"
@@ -12728,7 +13184,7 @@ const apiSchema = [
                                           },
                                           "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`.",
+                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory', 'usb' and 'cloudinit'. Use '0' to disable hotplug completely. Using '1' as value is an alias for the default `network,disk,usb`. USB hotplugging is possible for guests with machine version >= 7.1 and ostype l26 or windows > 7.",
                                              "format" : "pve-hotplug-features",
                                              "optional" : 1,
                                              "type" : "string"
@@ -13160,7 +13616,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "machine" : {
-                                             "description" : "Specifies the Qemu machine type.",
+                                             "description" : "Specifies the QEMU machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
                                              "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
@@ -13168,7 +13624,7 @@ const apiSchema = [
                                           },
                                           "memory" : {
                                              "default" : 512,
-                                             "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
+                                             "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
                                              "minimum" : 16,
                                              "optional" : 1,
                                              "type" : "integer"
@@ -13301,7 +13757,7 @@ const apiSchema = [
                                                 },
                                                 "queues" : {
                                                    "description" : "Number of packet queues to be used on the device.",
-                                                   "maximum" : 16,
+                                                   "maximum" : 64,
                                                    "minimum" : 0,
                                                    "optional" : 1,
                                                    "type" : "integer"
@@ -13408,7 +13864,7 @@ const apiSchema = [
                                              ],
                                              "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/2019\nwin11;; Microsoft Windows 11/2022\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 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -14291,7 +14747,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "usb[n]" : {
-                                             "description" : "Configure an USB device (n is 0 to 4).",
+                                             "description" : "Configure an USB device (n is 0 to 4, for machine version >= 7.1 and ostype l26 or windows > 7, n can be up to 14).",
                                              "format" : {
                                                 "host" : {
                                                    "default_key" : 1,
@@ -14302,7 +14758,7 @@ const apiSchema = [
                                                 },
                                                 "usb3" : {
                                                    "default" : 0,
-                                                   "description" : "Specifies whether if given host option is a USB3 device or port.",
+                                                   "description" : "Specifies whether if given host option is a USB3 device or port. For modern guests (machine version >= 7.1 and ostype l26 and windows > 7), this flag is irrelevant (all devices are plugged into a xhci controller).",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 }
@@ -14711,13 +15167,26 @@ const apiSchema = [
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
+                                          "affinity" : {
+                                             "description" : "List of host cores used to execute guest processes, for example: 0,5,8-11",
+                                             "format" : "pve-cpuset",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "agent" : {
-                                             "description" : "Enable/disable communication with the Qemu Guest Agent 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 communication with a Qemu Guest Agent (QGA) running in the VM.",
+                                                   "description" : "Enable/disable communication with a QEMU Guest Agent (QGA) running in the VM.",
+                                                   "type" : "boolean"
+                                                },
+                                                "freeze-fs-on-backup" : {
+                                                   "default" : 1,
+                                                   "description" : "Freeze/thaw guest filesystems on backup for consistency.",
+                                                   "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "fstrim_cloned_disks" : {
@@ -14739,7 +15208,7 @@ const apiSchema = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
+                                             "typetext" : "[enabled=]<1|0> [,freeze-fs-on-backup=<1|0>] [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
                                           },
                                           "arch" : {
                                              "description" : "Virtual processor architecture. Defaults to the host.",
@@ -14800,7 +15269,7 @@ const apiSchema = [
                                              "typetext" : "<integer> (1 - 30)"
                                           },
                                           "balloon" : {
-                                             "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
+                                             "description" : "Amount of target RAM for the VM in MiB. Using zero disables the ballon driver.",
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer",
@@ -14923,11 +15392,11 @@ const apiSchema = [
                                              "typetext" : "<string>"
                                           },
                                           "efidisk0" : {
-                                             "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.",
+                                             "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.",
+                                                   "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. Ignored for VMs with arch=aarc64 (ARM).",
                                                    "enum" : [
                                                       "2m",
                                                       "4m"
@@ -15014,7 +15483,7 @@ const apiSchema = [
                                           },
                                           "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`.",
+                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory', 'usb' and 'cloudinit'. Use '0' to disable hotplug completely. Using '1' as value is an alias for the default `network,disk,usb`. USB hotplugging is possible for guests with machine version >= 7.1 and ostype l26 or windows > 7.",
                                              "format" : "pve-hotplug-features",
                                              "optional" : 1,
                                              "type" : "string",
@@ -15460,7 +15929,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "machine" : {
-                                             "description" : "Specifies the Qemu machine type.",
+                                             "description" : "Specifies the QEMU machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
                                              "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
@@ -15468,7 +15937,7 @@ const apiSchema = [
                                           },
                                           "memory" : {
                                              "default" : 512,
-                                             "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
+                                             "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
                                              "minimum" : 16,
                                              "optional" : 1,
                                              "type" : "integer",
@@ -15606,7 +16075,7 @@ const apiSchema = [
                                                 },
                                                 "queues" : {
                                                    "description" : "Number of packet queues to be used on the device.",
-                                                   "maximum" : 16,
+                                                   "maximum" : 64,
                                                    "minimum" : 0,
                                                    "optional" : 1,
                                                    "type" : "integer"
@@ -15723,7 +16192,7 @@ const apiSchema = [
                                              ],
                                              "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/2019\nwin11;; Microsoft Windows 11/2022\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 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -16658,7 +17127,7 @@ const apiSchema = [
                                              "typetext" : "[file=]<volume>"
                                           },
                                           "usb[n]" : {
-                                             "description" : "Configure an USB device (n is 0 to 4).",
+                                             "description" : "Configure an USB device (n is 0 to 4, for machine version >= 7.1 and ostype l26 or windows > 7, n can be up to 14).",
                                              "format" : {
                                                 "host" : {
                                                    "default_key" : 1,
@@ -16669,7 +17138,7 @@ const apiSchema = [
                                                 },
                                                 "usb3" : {
                                                    "default" : 0,
-                                                   "description" : "Specifies whether if given host option is a USB3 device or port.",
+                                                   "description" : "Specifies whether if given host option is a USB3 device or port. For modern guests (machine version >= 7.1 and ostype l26 and windows > 7), this flag is irrelevant (all devices are plugged into a xhci controller).",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 }
@@ -17121,13 +17590,26 @@ const apiSchema = [
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
+                                          "affinity" : {
+                                             "description" : "List of host cores used to execute guest processes, for example: 0,5,8-11",
+                                             "format" : "pve-cpuset",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "agent" : {
-                                             "description" : "Enable/disable communication with the Qemu Guest Agent 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 communication with a Qemu Guest Agent (QGA) running in the VM.",
+                                                   "description" : "Enable/disable communication with a QEMU Guest Agent (QGA) running in the VM.",
+                                                   "type" : "boolean"
+                                                },
+                                                "freeze-fs-on-backup" : {
+                                                   "default" : 1,
+                                                   "description" : "Freeze/thaw guest filesystems on backup for consistency.",
+                                                   "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "fstrim_cloned_disks" : {
@@ -17149,7 +17631,7 @@ const apiSchema = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
+                                             "typetext" : "[enabled=]<1|0> [,freeze-fs-on-backup=<1|0>] [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
                                           },
                                           "arch" : {
                                              "description" : "Virtual processor architecture. Defaults to the host.",
@@ -17202,7 +17684,7 @@ const apiSchema = [
                                              "typetext" : "<boolean>"
                                           },
                                           "balloon" : {
-                                             "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
+                                             "description" : "Amount of target RAM for the VM in MiB. Using zero disables the ballon driver.",
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer",
@@ -17325,11 +17807,11 @@ const apiSchema = [
                                              "typetext" : "<string>"
                                           },
                                           "efidisk0" : {
-                                             "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.",
+                                             "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.",
+                                                   "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. Ignored for VMs with arch=aarc64 (ARM).",
                                                    "enum" : [
                                                       "2m",
                                                       "4m"
@@ -17416,7 +17898,7 @@ const apiSchema = [
                                           },
                                           "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`.",
+                                             "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory', 'usb' and 'cloudinit'. Use '0' to disable hotplug completely. Using '1' as value is an alias for the default `network,disk,usb`. USB hotplugging is possible for guests with machine version >= 7.1 and ostype l26 or windows > 7.",
                                              "format" : "pve-hotplug-features",
                                              "optional" : 1,
                                              "type" : "string",
@@ -17862,7 +18344,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "machine" : {
-                                             "description" : "Specifies the Qemu machine type.",
+                                             "description" : "Specifies the QEMU machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
                                              "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
@@ -17870,7 +18352,7 @@ const apiSchema = [
                                           },
                                           "memory" : {
                                              "default" : 512,
-                                             "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
+                                             "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
                                              "minimum" : 16,
                                              "optional" : 1,
                                              "type" : "integer",
@@ -18008,7 +18490,7 @@ const apiSchema = [
                                                 },
                                                 "queues" : {
                                                    "description" : "Number of packet queues to be used on the device.",
-                                                   "maximum" : 16,
+                                                   "maximum" : 64,
                                                    "minimum" : 0,
                                                    "optional" : 1,
                                                    "type" : "integer"
@@ -18125,7 +18607,7 @@ const apiSchema = [
                                              ],
                                              "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/2019\nwin11;; Microsoft Windows 11/2022\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 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -19060,7 +19542,7 @@ const apiSchema = [
                                              "typetext" : "[file=]<volume>"
                                           },
                                           "usb[n]" : {
-                                             "description" : "Configure an USB device (n is 0 to 4).",
+                                             "description" : "Configure an USB device (n is 0 to 4, for machine version >= 7.1 and ostype l26 or windows > 7, n can be up to 14).",
                                              "format" : {
                                                 "host" : {
                                                    "default_key" : 1,
@@ -19071,7 +19553,7 @@ const apiSchema = [
                                                 },
                                                 "usb3" : {
                                                    "default" : 0,
-                                                   "description" : "Specifies whether if given host option is a USB3 device or port.",
+                                                   "description" : "Specifies whether if given host option is a USB3 device or port. For modern guests (machine version >= 7.1 and ostype l26 and windows > 7), this flag is irrelevant (all devices are plugged into a xhci controller).",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 }
@@ -19582,6 +20064,160 @@ const apiSchema = [
                               "path" : "/nodes/{node}/qemu/{vmid}/pending",
                               "text" : "pending"
                            },
+                           {
+                              "children" : [
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Get automatically generated cloudinit config.",
+                                          "method" : "GET",
+                                          "name" : "cloudinit_generated_config_dump",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "type" : {
+                                                   "description" : "Config type.",
+                                                   "enum" : [
+                                                      "user",
+                                                      "network",
+                                                      "meta"
+                                                   ],
+                                                   "type" : "string"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.Audit"
+                                                ]
+                                             ]
+                                          },
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "type" : "string"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
+                                    "text" : "dump"
+                                 }
+                              ],
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Get the cloudinit configuration with both current and pending values.",
+                                    "method" : "GET",
+                                    "name" : "cloudinit_pending",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Audit"
+                                          ]
+                                       ]
+                                    },
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {
+                                             "key" : {
+                                                "description" : "Configuration option name.",
+                                                "type" : "string"
+                                             },
+                                             "new" : {
+                                                "description" : "The new pending value.",
+                                                "optional" : 1,
+                                                "type" : "string"
+                                             },
+                                             "old" : {
+                                                "description" : "Value as it was used to generate the current cloudinit image.",
+                                                "optional" : 1,
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Regenerate and change cloudinit config drive.",
+                                    "method" : "PUT",
+                                    "name" : "cloudinit_update",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          "VM.Config.Cloudinit"
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 }
+                              },
+                              "leaf" : 0,
+                              "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
+                              "text" : "cloudinit"
+                           },
                            {
                               "info" : {
                                  "PUT" : {
@@ -19960,7 +20596,7 @@ const apiSchema = [
                                           "returns" : {
                                              "properties" : {
                                                 "agent" : {
-                                                   "description" : "Qemu GuestAgent enabled in config.",
+                                                   "description" : "QEMU Guest Agent is enabled in config.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -20001,7 +20637,7 @@ const apiSchema = [
                                                    "type" : "integer"
                                                 },
                                                 "qmpstatus" : {
-                                                   "description" : "Qemu QMP agent status.",
+                                                   "description" : "QEMU QMP agent status.",
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
@@ -20016,12 +20652,12 @@ const apiSchema = [
                                                    "type" : "string"
                                                 },
                                                 "spice" : {
-                                                   "description" : "Qemu VGA configuration supports spice.",
+                                                   "description" : "QEMU VGA configuration supports spice.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "status" : {
-                                                   "description" : "Qemu process status.",
+                                                   "description" : "QEMU process status.",
                                                    "enum" : [
                                                       "stopped",
                                                       "running"
@@ -20071,7 +20707,7 @@ const apiSchema = [
                                                    "typetext" : "<string>"
                                                 },
                                                 "machine" : {
-                                                   "description" : "Specifies the Qemu machine type.",
+                                                   "description" : "Specifies the QEMU machine type.",
                                                    "maxLength" : 40,
                                                    "optional" : 1,
                                                    "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
@@ -21772,7 +22408,101 @@ const apiSchema = [
                               "info" : {
                                  "POST" : {
                                     "allowtoken" : 1,
-                                    "description" : "Execute Qemu monitor commands.",
+                                    "description" : "Migrate virtual machine to a remote cluster. Creates a new migration task. EXPERIMENTAL feature!",
+                                    "method" : "POST",
+                                    "name" : "remote_migrate_vm",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "migrate limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
+                                          "delete" : {
+                                             "default" : 0,
+                                             "description" : "Delete the original VM and related data after successful migration. By default the original VM is kept on the source cluster in a stopped state.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "online" : {
+                                             "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "target-bridge" : {
+                                             "description" : "Mapping from source to target bridges. Providing only a single bridge ID maps all source bridges to that bridge. Providing the special value '1' will map each source bridge to itself.",
+                                             "format" : "bridge-pair-list",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "target-endpoint" : {
+                                             "description" : "Remote target endpoint",
+                                             "format" : "proxmox-remote",
+                                             "type" : "string",
+                                             "typetext" : "apitoken=<A full Proxmox API token including the secret value.> ,host=<Remote Proxmox hostname or IP> [,fingerprint=<Remote host's certificate fingerprint, if not trusted by system store.>] [,port=<integer>]"
+                                          },
+                                          "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" : 0,
+                                             "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)"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Migrate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "description" : "the task ID.",
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/qemu/{vmid}/remote_migrate",
+                              "text" : "remote_migrate"
+                           },
+                           {
+                              "info" : {
+                                 "POST" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Execute QEMU monitor commands.",
                                     "method" : "POST",
                                     "name" : "monitor",
                                     "parameters" : {
@@ -22080,6 +22810,13 @@ const apiSchema = [
                                                          "type" : "string",
                                                          "typetext" : "<string>"
                                                       },
+                                                      "start" : {
+                                                         "default" : 0,
+                                                         "description" : "Whether the VM should get started after rolling back successfully. (Note: VMs will be automatically started if the snapshot includes RAM.)",
+                                                         "optional" : 1,
+                                                         "type" : "boolean",
+                                                         "typetext" : "<boolean>"
+                                                      },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
@@ -22471,64 +23208,142 @@ const apiSchema = [
                               "text" : "template"
                            },
                            {
-                              "children" : [
-                                 {
-                                    "info" : {
-                                       "GET" : {
-                                          "allowtoken" : 1,
-                                          "description" : "Get automatically generated cloudinit config.",
-                                          "method" : "GET",
-                                          "name" : "cloudinit_generated_config_dump",
-                                          "parameters" : {
-                                             "additionalProperties" : 0,
-                                             "properties" : {
-                                                "node" : {
-                                                   "description" : "The cluster node name.",
-                                                   "format" : "pve-node",
-                                                   "type" : "string",
-                                                   "typetext" : "<string>"
-                                                },
-                                                "type" : {
-                                                   "description" : "Config type.",
-                                                   "enum" : [
-                                                      "user",
-                                                      "network",
-                                                      "meta"
-                                                   ],
-                                                   "type" : "string"
-                                                },
-                                                "vmid" : {
-                                                   "description" : "The (unique) ID of the VM.",
-                                                   "format" : "pve-vmid",
-                                                   "minimum" : 1,
-                                                   "type" : "integer",
-                                                   "typetext" : "<integer> (1 - N)"
-                                                }
-                                             }
+                              "info" : {
+                                 "POST" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Migration tunnel endpoint - only for internal use by VM migration.",
+                                    "method" : "POST",
+                                    "name" : "mtunnel",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "bridges" : {
+                                             "description" : "List of network bridges to check availability. Will be checked again for actually used bridges during migration.",
+                                             "format" : "pve-bridge-id-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
                                           },
-                                          "permissions" : {
-                                             "check" : [
-                                                "perm",
-                                                "/vms/{vmid}",
-                                                [
-                                                   "VM.Audit"
-                                                ]
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "storages" : {
+                                             "description" : "List of storages to check permission and availability. Will be checked again for all actually used storages during migration.",
+                                             "format" : "pve-storage-id-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "and",
+                                          [
+                                             "perm",
+                                             "/vms/{vmid}",
+                                             [
+                                                "VM.Allocate"
                                              ]
+                                          ],
+                                          [
+                                             "perm",
+                                             "/",
+                                             [
+                                                "Sys.Incoming"
+                                             ]
+                                          ]
+                                       ],
+                                       "description" : "You need 'VM.Allocate' permissions on '/vms/{vmid}' and Sys.Incoming on '/'. Further permission checks happen during the actual migration."
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "socket" : {
+                                             "type" : "string"
                                           },
-                                          "proxyto" : "node",
-                                          "returns" : {
+                                          "ticket" : {
                                              "type" : "string"
+                                          },
+                                          "upid" : {
+                                             "type" : "string"
+                                          }
+                                       }
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/qemu/{vmid}/mtunnel",
+                              "text" : "mtunnel"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Migration tunnel endpoint for websocket upgrade - only for internal use by VM migration.",
+                                    "method" : "GET",
+                                    "name" : "mtunnelwebsocket",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "socket" : {
+                                             "description" : "unix socket to forward to",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "ticket" : {
+                                             "description" : "ticket return by initial 'mtunnel' API call, or retrieved via 'ticket' tunnel command",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
                                           }
                                        }
                                     },
-                                    "leaf" : 1,
-                                    "path" : "/nodes/{node}/qemu/{vmid}/cloudinit/dump",
-                                    "text" : "dump"
+                                    "permissions" : {
+                                       "description" : "You need to pass a ticket valid for the selected socket. Tickets can be created via the mtunnel API call, which will check permissions accordingly.",
+                                       "user" : "all"
+                                    },
+                                    "returns" : {
+                                       "properties" : {
+                                          "port" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "socket" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
                                  }
-                              ],
-                              "leaf" : 0,
-                              "path" : "/nodes/{node}/qemu/{vmid}/cloudinit",
-                              "text" : "cloudinit"
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/qemu/{vmid}/mtunnelwebsocket",
+                              "text" : "mtunnelwebsocket"
                            }
                         ],
                         "info" : {
@@ -22705,7 +23520,7 @@ const apiSchema = [
                                     "type" : "integer"
                                  },
                                  "qmpstatus" : {
-                                    "description" : "Qemu QMP agent status.",
+                                    "description" : "QEMU QMP agent status.",
                                     "optional" : 1,
                                     "type" : "string"
                                  },
@@ -22720,7 +23535,7 @@ const apiSchema = [
                                     "type" : "string"
                                  },
                                  "status" : {
-                                    "description" : "Qemu process status.",
+                                    "description" : "QEMU process status.",
                                     "enum" : [
                                        "stopped",
                                        "running"
@@ -22771,13 +23586,26 @@ const apiSchema = [
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
+                              "affinity" : {
+                                 "description" : "List of host cores used to execute guest processes, for example: 0,5,8-11",
+                                 "format" : "pve-cpuset",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "agent" : {
-                                 "description" : "Enable/disable communication with the Qemu Guest Agent 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 communication with a Qemu Guest Agent (QGA) running in the VM.",
+                                       "description" : "Enable/disable communication with a QEMU Guest Agent (QGA) running in the VM.",
+                                       "type" : "boolean"
+                                    },
+                                    "freeze-fs-on-backup" : {
+                                       "default" : 1,
+                                       "description" : "Freeze/thaw guest filesystems on backup for consistency.",
+                                       "optional" : 1,
                                        "type" : "boolean"
                                     },
                                     "fstrim_cloned_disks" : {
@@ -22799,7 +23627,7 @@ const apiSchema = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
+                                 "typetext" : "[enabled=]<1|0> [,freeze-fs-on-backup=<1|0>] [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
                               },
                               "arch" : {
                                  "description" : "Virtual processor architecture. Defaults to the host.",
@@ -22859,7 +23687,7 @@ const apiSchema = [
                                  "typetext" : "<boolean>"
                               },
                               "balloon" : {
-                                 "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
+                                 "description" : "Amount of target RAM for the VM in MiB. Using zero disables the ballon driver.",
                                  "minimum" : 0,
                                  "optional" : 1,
                                  "type" : "integer",
@@ -22976,11 +23804,11 @@ const apiSchema = [
                                  "typetext" : "<string>"
                               },
                               "efidisk0" : {
-                                 "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.",
+                                 "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.",
+                                       "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. Ignored for VMs with arch=aarc64 (ARM).",
                                        "enum" : [
                                           "2m",
                                           "4m"
@@ -23067,7 +23895,7 @@ const apiSchema = [
                               },
                               "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`.",
+                                 "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory', 'usb' and 'cloudinit'. Use '0' to disable hotplug completely. Using '1' as value is an alias for the default `network,disk,usb`. USB hotplugging is possible for guests with machine version >= 7.1 and ostype l26 or windows > 7.",
                                  "format" : "pve-hotplug-features",
                                  "optional" : 1,
                                  "type" : "string",
@@ -23520,7 +24348,7 @@ const apiSchema = [
                                  "type" : "string"
                               },
                               "machine" : {
-                                 "description" : "Specifies the Qemu machine type.",
+                                 "description" : "Specifies the QEMU machine type.",
                                  "maxLength" : 40,
                                  "optional" : 1,
                                  "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
@@ -23528,7 +24356,7 @@ const apiSchema = [
                               },
                               "memory" : {
                                  "default" : 512,
-                                 "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
+                                 "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
                                  "minimum" : 16,
                                  "optional" : 1,
                                  "type" : "integer",
@@ -23666,7 +24494,7 @@ const apiSchema = [
                                     },
                                     "queues" : {
                                        "description" : "Number of packet queues to be used on the device.",
-                                       "maximum" : 16,
+                                       "maximum" : 64,
                                        "minimum" : 0,
                                        "optional" : 1,
                                        "type" : "integer"
@@ -23783,7 +24611,7 @@ const apiSchema = [
                                  ],
                                  "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/2019\nwin11;; Microsoft Windows 11/2022\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 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                               },
                               "parallel[n]" : {
                                  "description" : "Map host parallel devices (n is 0 to 2).",
@@ -24733,7 +25561,7 @@ const apiSchema = [
                                  "typetext" : "[file=]<volume>"
                               },
                               "usb[n]" : {
-                                 "description" : "Configure an USB device (n is 0 to 4).",
+                                 "description" : "Configure an USB device (n is 0 to 4, for machine version >= 7.1 and ostype l26 or windows > 7, n can be up to 14).",
                                  "format" : {
                                     "host" : {
                                        "default_key" : 1,
@@ -24744,7 +25572,7 @@ const apiSchema = [
                                     },
                                     "usb3" : {
                                        "default" : 0,
-                                       "description" : "Specifies whether if given host option is a USB3 device or port.",
+                                       "description" : "Specifies whether if given host option is a USB3 device or port. For modern guests (machine version >= 7.1 and ostype l26 and windows > 7), this flag is irrelevant (all devices are plugged into a xhci controller).",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     }
@@ -25234,7 +26062,9 @@ const apiSchema = [
                                                 "amd64",
                                                 "i386",
                                                 "arm64",
-                                                "armhf"
+                                                "armhf",
+                                                "riscv32",
+                                                "riscv64"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -25272,12 +26102,13 @@ const apiSchema = [
                                              "type" : "number"
                                           },
                                           "cpuunits" : {
-                                             "default" : 1024,
-                                             "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 the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
+                                             "default" : "cgroup v1: 1024, cgroup v2: 100",
+                                             "description" : "CPU weight for a container, will be clamped to [1, 10000] in cgroup v2.",
                                              "maximum" : 500000,
                                              "minimum" : 0,
                                              "optional" : 1,
-                                             "type" : "integer"
+                                             "type" : "integer",
+                                             "verbose_description" : "CPU weight for a container. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this container gets. Number is relative to the weights of all the other running guests."
                                           },
                                           "debug" : {
                                              "default" : 0,
@@ -25353,7 +26184,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "lock" : {
-                                             "description" : "Lock/unlock the VM.",
+                                             "description" : "Lock/unlock the container.",
                                              "enum" : [
                                                 "backup",
                                                 "create",
@@ -25382,7 +26213,7 @@ const apiSchema = [
                                           },
                                           "memory" : {
                                              "default" : 512,
-                                             "description" : "Amount of RAM for the VM in MB.",
+                                             "description" : "Amount of RAM for the container in MB.",
                                              "minimum" : 16,
                                              "optional" : 1,
                                              "type" : "integer"
@@ -25513,8 +26344,14 @@ const apiSchema = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "link_down" : {
+                                                   "description" : "Whether this interface should be disconnected (like pulling the plug).",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "mtu" : {
                                                    "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
+                                                   "maximum" : 65535,
                                                    "minimum" : 64,
                                                    "optional" : 1,
                                                    "type" : "integer"
@@ -25559,7 +26396,7 @@ const apiSchema = [
                                           },
                                           "onboot" : {
                                              "default" : 0,
-                                             "description" : "Specifies whether a VM will be started during system bootup.",
+                                             "description" : "Specifies whether a container will be started during system bootup.",
                                              "optional" : 1,
                                              "type" : "boolean"
                                           },
@@ -25658,7 +26495,7 @@ const apiSchema = [
                                           },
                                           "swap" : {
                                              "default" : 512,
-                                             "description" : "Amount of SWAP for the VM in MB.",
+                                             "description" : "Amount of SWAP for the container in MB.",
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer"
@@ -25728,7 +26565,9 @@ const apiSchema = [
                                                 "amd64",
                                                 "i386",
                                                 "arm64",
-                                                "armhf"
+                                                "armhf",
+                                                "riscv32",
+                                                "riscv64"
                                              ],
                                              "optional" : 1,
                                              "type" : "string"
@@ -25769,13 +26608,14 @@ const apiSchema = [
                                              "typetext" : "<number> (0 - 8192)"
                                           },
                                           "cpuunits" : {
-                                             "default" : 1024,
-                                             "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 the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
+                                             "default" : "cgroup v1: 1024, cgroup v2: 100",
+                                             "description" : "CPU weight for a container, will be clamped to [1, 10000] in cgroup v2.",
                                              "maximum" : 500000,
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer",
-                                             "typetext" : "<integer> (0 - 500000)"
+                                             "typetext" : "<integer> (0 - 500000)",
+                                             "verbose_description" : "CPU weight for a container. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this container gets. Number is relative to the weights of all the other running guests."
                                           },
                                           "debug" : {
                                              "default" : 0,
@@ -25866,7 +26706,7 @@ const apiSchema = [
                                              "typetext" : "<string>"
                                           },
                                           "lock" : {
-                                             "description" : "Lock/unlock the VM.",
+                                             "description" : "Lock/unlock the container.",
                                              "enum" : [
                                                 "backup",
                                                 "create",
@@ -25884,7 +26724,7 @@ const apiSchema = [
                                           },
                                           "memory" : {
                                              "default" : 512,
-                                             "description" : "Amount of RAM for the VM in MB.",
+                                             "description" : "Amount of RAM for the container in MB.",
                                              "minimum" : 16,
                                              "optional" : 1,
                                              "type" : "integer",
@@ -26018,8 +26858,14 @@ const apiSchema = [
                                                    "optional" : 1,
                                                    "type" : "string"
                                                 },
+                                                "link_down" : {
+                                                   "description" : "Whether this interface should be disconnected (like pulling the plug).",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
                                                 "mtu" : {
                                                    "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
+                                                   "maximum" : 65535,
                                                    "minimum" : 64,
                                                    "optional" : 1,
                                                    "type" : "integer"
@@ -26061,7 +26907,7 @@ const apiSchema = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
+                                             "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,link_down=<1|0>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
                                           },
                                           "node" : {
                                              "description" : "The cluster node name.",
@@ -26071,7 +26917,7 @@ const apiSchema = [
                                           },
                                           "onboot" : {
                                              "default" : 0,
-                                             "description" : "Specifies whether a VM will be started during system bootup.",
+                                             "description" : "Specifies whether a container will be started during system bootup.",
                                              "optional" : 1,
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
@@ -26181,7 +27027,7 @@ const apiSchema = [
                                           },
                                           "swap" : {
                                              "default" : 512,
-                                             "description" : "Amount of SWAP for the VM in MB.",
+                                             "description" : "Amount of SWAP for the container in MB.",
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer",
@@ -26776,6 +27622,13 @@ const apiSchema = [
                                                          "type" : "string",
                                                          "typetext" : "<string>"
                                                       },
+                                                      "start" : {
+                                                         "default" : 0,
+                                                         "description" : "Whether the container should get started after rolling back successfully",
+                                                         "optional" : 1,
+                                                         "type" : "boolean",
+                                                         "typetext" : "<boolean>"
+                                                      },
                                                       "vmid" : {
                                                          "description" : "The (unique) ID of the VM.",
                                                          "format" : "pve-vmid",
@@ -27380,7 +28233,7 @@ const apiSchema = [
                                                          "typetext" : "<integer> (0 - N)"
                                                       },
                                                       "icmp-type" : {
-                                                         "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                                         "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                                          "format" : "pve-fw-icmp-type-spec",
                                                          "optional" : 1,
                                                          "type" : "string",
@@ -27604,7 +28457,7 @@ const apiSchema = [
                                                    "typetext" : "<integer> (0 - N)"
                                                 },
                                                 "icmp-type" : {
-                                                   "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                                   "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                                    "format" : "pve-fw-icmp-type-spec",
                                                    "optional" : 1,
                                                    "type" : "string",
@@ -28209,6 +29062,12 @@ const apiSchema = [
                                                 "parameters" : {
                                                    "additionalProperties" : 0,
                                                    "properties" : {
+                                                      "force" : {
+                                                         "description" : "Delete all members of the IPSet, if there are any.",
+                                                         "optional" : 1,
+                                                         "type" : "boolean",
+                                                         "typetext" : "<boolean>"
+                                                      },
                                                       "name" : {
                                                          "description" : "IP set name.",
                                                          "maxLength" : 64,
@@ -28814,12 +29673,26 @@ const apiSchema = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "since" : {
+                                                   "description" : "Display log since this UNIX epoch.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
                                                 "start" : {
                                                    "minimum" : 0,
                                                    "optional" : 1,
                                                    "type" : "integer",
                                                    "typetext" : "<integer> (0 - N)"
                                                 },
+                                                "until" : {
+                                                   "description" : "Display log until this UNIX epoch.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
@@ -29396,6 +30269,113 @@ const apiSchema = [
                               "path" : "/nodes/{node}/lxc/{vmid}/spiceproxy",
                               "text" : "spiceproxy"
                            },
+                           {
+                              "info" : {
+                                 "POST" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Migrate the container to another cluster. Creates a new migration task. EXPERIMENTAL feature!",
+                                    "method" : "POST",
+                                    "name" : "remote_migrate_vm",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "bwlimit" : {
+                                             "default" : "migrate limit from datacenter or storage config",
+                                             "description" : "Override I/O bandwidth limit (in KiB/s).",
+                                             "minimum" : "0",
+                                             "optional" : 1,
+                                             "type" : "number",
+                                             "typetext" : "<number> (0 - N)"
+                                          },
+                                          "delete" : {
+                                             "default" : 0,
+                                             "description" : "Delete the original CT and related data after successful migration. By default the original CT is kept on the source cluster in a stopped state.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "online" : {
+                                             "description" : "Use online/live migration.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "restart" : {
+                                             "description" : "Use restart migration",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "target-bridge" : {
+                                             "description" : "Mapping from source to target bridges. Providing only a single bridge ID maps all source bridges to that bridge. Providing the special value '1' will map each source bridge to itself.",
+                                             "format" : "bridge-pair-list",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "target-endpoint" : {
+                                             "description" : "Remote target endpoint",
+                                             "format" : "proxmox-remote",
+                                             "type" : "string",
+                                             "typetext" : "apitoken=<A full Proxmox API token including the secret value.> ,host=<Remote Proxmox hostname or IP> [,fingerprint=<Remote host's certificate fingerprint, if not trusted by system store.>] [,port=<integer>]"
+                                          },
+                                          "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" : 0,
+                                             "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)"
+                                          },
+                                          "timeout" : {
+                                             "default" : 180,
+                                             "description" : "Timeout in seconds for shutdown for restart migration",
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/vms/{vmid}",
+                                          [
+                                             "VM.Migrate"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "description" : "the task ID.",
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/lxc/{vmid}/remote_migrate",
+                              "text" : "remote_migrate"
+                           },
                            {
                               "info" : {
                                  "POST" : {
@@ -31247,6 +32227,144 @@ const apiSchema = [
                               "leaf" : 1,
                               "path" : "/nodes/{node}/lxc/{vmid}/pending",
                               "text" : "pending"
+                           },
+                           {
+                              "info" : {
+                                 "POST" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Migration tunnel endpoint - only for internal use by CT migration.",
+                                    "method" : "POST",
+                                    "name" : "mtunnel",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "bridges" : {
+                                             "description" : "List of network bridges to check availability. Will be checked again for actually used bridges during migration.",
+                                             "format" : "pve-bridge-id-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "storages" : {
+                                             "description" : "List of storages to check permission and availability. Will be checked again for all actually used storages during migration.",
+                                             "format" : "pve-storage-id-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "and",
+                                          [
+                                             "perm",
+                                             "/vms/{vmid}",
+                                             [
+                                                "VM.Allocate"
+                                             ]
+                                          ],
+                                          [
+                                             "perm",
+                                             "/",
+                                             [
+                                                "Sys.Incoming"
+                                             ]
+                                          ]
+                                       ],
+                                       "description" : "You need 'VM.Allocate' permissions on '/vms/{vmid}' and Sys.Incoming on '/'. Further permission checks happen during the actual migration."
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "socket" : {
+                                             "type" : "string"
+                                          },
+                                          "ticket" : {
+                                             "type" : "string"
+                                          },
+                                          "upid" : {
+                                             "type" : "string"
+                                          }
+                                       }
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/lxc/{vmid}/mtunnel",
+                              "text" : "mtunnel"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Migration tunnel endpoint for websocket upgrade - only for internal use by VM migration.",
+                                    "method" : "GET",
+                                    "name" : "mtunnelwebsocket",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "socket" : {
+                                             "description" : "unix socket to forward to",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "ticket" : {
+                                             "description" : "ticket return by initial 'mtunnel' API call, or retrieved via 'ticket' tunnel command",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "vmid" : {
+                                             "description" : "The (unique) ID of the VM.",
+                                             "format" : "pve-vmid",
+                                             "minimum" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (1 - N)"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "description" : "You need to pass a ticket valid for the selected socket. Tickets can be created via the mtunnel API call, which will check permissions accordingly.",
+                                       "user" : "all"
+                                    },
+                                    "returns" : {
+                                       "properties" : {
+                                          "port" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "socket" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/lxc/{vmid}/mtunnelwebsocket",
+                              "text" : "mtunnelwebsocket"
                            }
                         ],
                         "info" : {
@@ -31470,7 +32588,9 @@ const apiSchema = [
                                     "amd64",
                                     "i386",
                                     "arm64",
-                                    "armhf"
+                                    "armhf",
+                                    "riscv32",
+                                    "riscv64"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -31519,13 +32639,14 @@ const apiSchema = [
                                  "typetext" : "<number> (0 - 8192)"
                               },
                               "cpuunits" : {
-                                 "default" : 1024,
-                                 "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 the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
+                                 "default" : "cgroup v1: 1024, cgroup v2: 100",
+                                 "description" : "CPU weight for a container, will be clamped to [1, 10000] in cgroup v2.",
                                  "maximum" : 500000,
                                  "minimum" : 0,
                                  "optional" : 1,
                                  "type" : "integer",
-                                 "typetext" : "<integer> (0 - 500000)"
+                                 "typetext" : "<integer> (0 - 500000)",
+                                 "verbose_description" : "CPU weight for a container. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this container gets. Number is relative to the weights of all the other running guests."
                               },
                               "debug" : {
                                  "default" : 0,
@@ -31614,7 +32735,7 @@ const apiSchema = [
                                  "typetext" : "<boolean>"
                               },
                               "lock" : {
-                                 "description" : "Lock/unlock the VM.",
+                                 "description" : "Lock/unlock the container.",
                                  "enum" : [
                                     "backup",
                                     "create",
@@ -31632,7 +32753,7 @@ const apiSchema = [
                               },
                               "memory" : {
                                  "default" : 512,
-                                 "description" : "Amount of RAM for the VM in MB.",
+                                 "description" : "Amount of RAM for the container in MB.",
                                  "minimum" : 16,
                                  "optional" : 1,
                                  "type" : "integer",
@@ -31766,8 +32887,14 @@ const apiSchema = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "link_down" : {
+                                       "description" : "Whether this interface should be disconnected (like pulling the plug).",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
                                     "mtu" : {
                                        "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
+                                       "maximum" : 65535,
                                        "minimum" : 64,
                                        "optional" : 1,
                                        "type" : "integer"
@@ -31809,7 +32936,7 @@ const apiSchema = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
+                                 "typetext" : "name=<string> [,bridge=<bridge>] [,firewall=<1|0>] [,gw=<GatewayIPv4>] [,gw6=<GatewayIPv6>] [,hwaddr=<XX:XX:XX:XX:XX:XX>] [,ip=<(IPv4/CIDR|dhcp|manual)>] [,ip6=<(IPv6/CIDR|auto|dhcp|manual)>] [,link_down=<1|0>] [,mtu=<integer>] [,rate=<mbps>] [,tag=<integer>] [,trunks=<vlanid[;vlanid...]>] [,type=<veth>]"
                               },
                               "node" : {
                                  "description" : "The cluster node name.",
@@ -31819,7 +32946,7 @@ const apiSchema = [
                               },
                               "onboot" : {
                                  "default" : 0,
-                                 "description" : "Specifies whether a VM will be started during system bootup.",
+                                 "description" : "Specifies whether a container will be started during system bootup.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
@@ -31969,7 +33096,7 @@ const apiSchema = [
                               },
                               "swap" : {
                                  "default" : 512,
-                                 "description" : "Amount of SWAP for the VM in MB.",
+                                 "description" : "Amount of SWAP for the container in MB.",
                                  "minimum" : 0,
                                  "optional" : 1,
                                  "type" : "integer",
@@ -32060,10 +33187,373 @@ const apiSchema = [
                },
                {
                   "children" : [
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Get the Ceph configuration file.",
+                                    "method" : "GET",
+                                    "name" : "raw",
+                                    "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
+                                       ]
+                                    },
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/ceph/cfg/raw",
+                              "text" : "raw"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Get the Ceph configuration database.",
+                                    "method" : "GET",
+                                    "name" : "db",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Audit",
+                                             "Datastore.Audit"
+                                          ],
+                                          "any",
+                                          1
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {
+                                             "can_update_at_runtime" : {
+                                                "type" : "boolean"
+                                             },
+                                             "level" : {
+                                                "type" : "string"
+                                             },
+                                             "mask" : {
+                                                "type" : "string"
+                                             },
+                                             "name" : {
+                                                "type" : "string"
+                                             },
+                                             "section" : {
+                                                "type" : "string"
+                                             },
+                                             "value" : {
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/ceph/cfg/db",
+                              "text" : "db"
+                           }
+                        ],
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Directory index.",
+                              "method" : "GET",
+                              "name" : "index",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "user" : "all"
+                              },
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {},
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{name}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/cfg",
+                        "text" : "cfg"
+                     },
                      {
                         "children" : [
                            {
                               "children" : [
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Get OSD details",
+                                          "method" : "GET",
+                                          "name" : "osddetails",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "osdid" : {
+                                                   "description" : "OSD ID",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/",
+                                                [
+                                                   "Sys.Audit"
+                                                ],
+                                                "any",
+                                                1
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "properties" : {
+                                                "devices" : {
+                                                   "description" : "Array containing data about devices",
+                                                   "items" : {
+                                                      "properties" : {
+                                                         "dev_node" : {
+                                                            "description" : "Device node",
+                                                            "type" : "string"
+                                                         },
+                                                         "device" : {
+                                                            "description" : "Kind of OSD device",
+                                                            "enum" : [
+                                                               "block",
+                                                               "db",
+                                                               "wal"
+                                                            ],
+                                                            "type" : "string"
+                                                         },
+                                                         "devices" : {
+                                                            "description" : "Physical disks used",
+                                                            "type" : "string"
+                                                         },
+                                                         "size" : {
+                                                            "description" : "Size in bytes",
+                                                            "type" : "integer"
+                                                         },
+                                                         "support_discard" : {
+                                                            "description" : "Discard support of the physical device",
+                                                            "type" : "boolean"
+                                                         },
+                                                         "type" : {
+                                                            "description" : "Type of device. For example, hdd or ssd",
+                                                            "type" : "string"
+                                                         }
+                                                      },
+                                                      "type" : "object"
+                                                   },
+                                                   "type" : "array"
+                                                },
+                                                "osd" : {
+                                                   "description" : "General information about the OSD",
+                                                   "properties" : {
+                                                      "back_addr" : {
+                                                         "description" : "Address and port used to talk to other OSDs.",
+                                                         "type" : "string"
+                                                      },
+                                                      "front_addr" : {
+                                                         "description" : "Address and port used to talk to clients and monitors.",
+                                                         "type" : "string"
+                                                      },
+                                                      "hb_back_addr" : {
+                                                         "description" : "Heartbeat address and port for other OSDs.",
+                                                         "type" : "string"
+                                                      },
+                                                      "hb_front_addr" : {
+                                                         "description" : "Heartbeat address and port for clients and monitors.",
+                                                         "type" : "string"
+                                                      },
+                                                      "hostname" : {
+                                                         "description" : "Name of the host containing the OSD.",
+                                                         "type" : "string"
+                                                      },
+                                                      "id" : {
+                                                         "description" : "ID of the OSD.",
+                                                         "type" : "integer"
+                                                      },
+                                                      "mem_usage" : {
+                                                         "description" : "Memory usage of the OSD service.",
+                                                         "type" : "integer"
+                                                      },
+                                                      "osd_data" : {
+                                                         "description" : "Path to the OSD's data directory.",
+                                                         "type" : "string"
+                                                      },
+                                                      "osd_objectstore" : {
+                                                         "description" : "The type of object store used.",
+                                                         "type" : "string"
+                                                      },
+                                                      "pid" : {
+                                                         "description" : "OSD process ID.",
+                                                         "type" : "integer"
+                                                      },
+                                                      "version" : {
+                                                         "description" : "Ceph version of the OSD service.",
+                                                         "type" : "string"
+                                                      }
+                                                   },
+                                                   "type" : "object"
+                                                }
+                                             },
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/ceph/osd/{osdid}/metadata",
+                                    "text" : "metadata"
+                                 },
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Get OSD volume details",
+                                          "method" : "GET",
+                                          "name" : "osdvolume",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "osdid" : {
+                                                   "description" : "OSD ID",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                },
+                                                "type" : {
+                                                   "default" : "block",
+                                                   "description" : "OSD device type",
+                                                   "enum" : [
+                                                      "block",
+                                                      "db",
+                                                      "wal"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/",
+                                                [
+                                                   "Sys.Audit"
+                                                ],
+                                                "any",
+                                                1
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "properties" : {
+                                                "creation_time" : {
+                                                   "description" : "Creation time as reported by `lvs`.",
+                                                   "type" : "string"
+                                                },
+                                                "lv_name" : {
+                                                   "description" : "Name of the logical volume (LV).",
+                                                   "type" : "string"
+                                                },
+                                                "lv_path" : {
+                                                   "description" : "Path to the logical volume (LV).",
+                                                   "type" : "string"
+                                                },
+                                                "lv_size" : {
+                                                   "description" : "Size of the logical volume (LV).",
+                                                   "type" : "integer"
+                                                },
+                                                "lv_uuid" : {
+                                                   "description" : "UUID of the logical volume (LV).",
+                                                   "type" : "string"
+                                                },
+                                                "vg_name" : {
+                                                   "description" : "Name of the volume group (VG).",
+                                                   "type" : "string"
+                                                }
+                                             },
+                                             "type" : "object"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/ceph/osd/{osdid}/lv-info",
+                                    "text" : "lv-info"
+                                 },
                                  {
                                     "info" : {
                                        "POST" : {
@@ -32235,6 +33725,44 @@ const apiSchema = [
                                     "returns" : {
                                        "type" : "string"
                                     }
+                                 },
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "OSD index.",
+                                    "method" : "GET",
+                                    "name" : "osdindex",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "node" : {
+                                             "description" : "The cluster node name.",
+                                             "format" : "pve-node",
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "osdid" : {
+                                             "description" : "OSD ID",
+                                             "type" : "integer",
+                                             "typetext" : "<integer>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "user" : "all"
+                                    },
+                                    "returns" : {
+                                       "items" : {
+                                          "properties" : {},
+                                          "type" : "object"
+                                       },
+                                       "links" : [
+                                          {
+                                             "href" : "{name}",
+                                             "rel" : "child"
+                                          }
+                                       ],
+                                       "type" : "array"
+                                    }
                                  }
                               },
                               "leaf" : 0,
@@ -32274,6 +33802,18 @@ const apiSchema = [
                               "protected" : 1,
                               "proxyto" : "node",
                               "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "flags" : {
+                                          "type" : "string"
+                                       },
+                                       "root" : {
+                                          "description" : "Tree with OSDs in the CRUSH map structure.",
+                                          "type" : "object"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
                                  "type" : "object"
                               }
                            },
@@ -32800,12 +34340,40 @@ const apiSchema = [
                                           "optional" : 1,
                                           "type" : "string"
                                        },
-                                       "host" : {
+                                       "ceph_version" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "ceph_version_short" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "direxists" : {
                                           "optional" : 1,
                                           "type" : "string"
                                        },
+                                       "host" : {
+                                          "optional" : 1,
+                                          "type" : "boolean"
+                                       },
                                        "name" : {
                                           "type" : "string"
+                                       },
+                                       "quorum" : {
+                                          "optional" : 1,
+                                          "type" : "boolean"
+                                       },
+                                       "rank" : {
+                                          "optional" : 1,
+                                          "type" : "integer"
+                                       },
+                                       "service" : {
+                                          "optional" : 1,
+                                          "type" : "integer"
+                                       },
+                                       "state" : {
+                                          "optional" : 1,
+                                          "type" : "string"
                                        }
                                     },
                                     "type" : "object"
@@ -32954,6 +34522,204 @@ const apiSchema = [
                      {
                         "children" : [
                            {
+                              "children" : [
+                                 {
+                                    "info" : {
+                                       "GET" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Show the current pool status.",
+                                          "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>"
+                                                }
+                                             }
+                                          },
+                                          "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"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/ceph/pool/{name}/status",
+                                    "text" : "status"
+                                 }
+                              ],
                               "info" : {
                                  "DELETE" : {
                                     "allowtoken" : 1,
@@ -33014,14 +34780,14 @@ const apiSchema = [
                                  },
                                  "GET" : {
                                     "allowtoken" : 1,
-                                    "description" : "List pool settings.",
+                                    "description" : "Pool index.",
                                     "method" : "GET",
-                                    "name" : "getpool",
+                                    "name" : "poolindex",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "name" : {
-                                             "description" : "The name of the pool. It must be unique.",
+                                             "description" : "The name of the pool.",
                                              "type" : "string",
                                              "typetext" : "<string>"
                                           },
@@ -33030,13 +34796,6 @@ const apiSchema = [
                                              "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>"
                                           }
                                        }
                                     },
@@ -33052,153 +34811,18 @@ const apiSchema = [
                                           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"
-                                          }
+                                       "items" : {
+                                          "properties" : {},
+                                          "type" : "object"
                                        },
-                                       "type" : "object"
+                                       "links" : [
+                                          {
+                                             "href" : "{name}",
+                                             "rel" : "child"
+                                          }
+                                       ],
+                                       "type" : "array"
                                     }
                                  },
                                  "PUT" : {
@@ -33317,15 +34941,15 @@ const apiSchema = [
                                     }
                                  }
                               },
-                              "leaf" : 1,
-                              "path" : "/nodes/{node}/ceph/pools/{name}",
+                              "leaf" : 0,
+                              "path" : "/nodes/{node}/ceph/pool/{name}",
                               "text" : "{name}"
                            }
                         ],
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "List all pools.",
+                              "description" : "List all pools and their settings (which are settable by the POST/PUT endpoints).",
                               "method" : "GET",
                               "name" : "lspools",
                               "parameters" : {
@@ -33356,6 +34980,11 @@ const apiSchema = [
                               "returns" : {
                                  "items" : {
                                     "properties" : {
+                                       "application_metadata" : {
+                                          "optional" : 1,
+                                          "title" : "Associated Applications",
+                                          "type" : "object"
+                                       },
                                        "autoscale_status" : {
                                           "optional" : 1,
                                           "title" : "Autoscale Status",
@@ -33609,6 +35238,672 @@ const apiSchema = [
                            }
                         },
                         "leaf" : 0,
+                        "path" : "/nodes/{node}/ceph/pool",
+                        "text" : "pool"
+                     },
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Destroy pool. Deprecated, please use `/nodes/{node}/ceph/pool/{name}`.",
+                                    "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>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "perm",
+                                          "/",
+                                          [
+                                             "Sys.Modify"
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "proxyto" : "node",
+                                    "returns" : {
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "List pool settings. Deprecated, please use `/nodes/{node}/ceph/pool/{pool}/status`.",
+                                    "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>"
+                                          }
+                                       }
+                                    },
+                                    "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"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Change POOL settings. Deprecated, please use `/nodes/{node}/ceph/pool/{name}`.",
+                                    "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}"
+                           }
+                        ],
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "List all pools. Deprecated, please use `/nodes/{node}/ceph/pool`.",
+                              "method" : "GET",
+                              "name" : "lspools",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "application_metadata" : {
+                                          "optional" : 1,
+                                          "title" : "Associated Applications",
+                                          "type" : "object"
+                                       },
+                                       "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. Deprecated, please use `/nodes/{node}/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"
                      },
@@ -33616,7 +35911,7 @@ const apiSchema = [
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Get Ceph configuration.",
+                              "description" : "Get the Ceph configuration file. Deprecated, please use `/nodes/{node}/ceph/cfg/raw.",
                               "method" : "GET",
                               "name" : "config",
                               "parameters" : {
@@ -33656,7 +35951,7 @@ const apiSchema = [
                         "info" : {
                            "GET" : {
                               "allowtoken" : 1,
-                              "description" : "Get Ceph configuration database.",
+                              "description" : "Get the Ceph configuration database. Deprecated, please use `/nodes/{node}/ceph/cfg/db.",
                               "method" : "GET",
                               "name" : "configdb",
                               "parameters" : {
@@ -34119,7 +36414,12 @@ const apiSchema = [
                               "proxyto" : "node",
                               "returns" : {
                                  "items" : {
-                                    "properties" : {},
+                                    "properties" : {
+                                       "name" : {
+                                          "description" : "Name of the CRUSH rule.",
+                                          "type" : "string"
+                                       }
+                                    },
                                     "type" : "object"
                                  },
                                  "links" : [
@@ -34135,6 +36435,77 @@ const apiSchema = [
                         "leaf" : 1,
                         "path" : "/nodes/{node}/ceph/rules",
                         "text" : "rules"
+                     },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Heuristical check if it is safe to perform an action.",
+                              "method" : "GET",
+                              "name" : "cmd_safety",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "action" : {
+                                       "description" : "Action to check",
+                                       "enum" : [
+                                          "stop",
+                                          "destroy"
+                                       ],
+                                       "type" : "string"
+                                    },
+                                    "id" : {
+                                       "description" : "ID of the service",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
+                                    "service" : {
+                                       "description" : "Service type",
+                                       "enum" : [
+                                          "osd",
+                                          "mon",
+                                          "mds"
+                                       ],
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "properties" : {
+                                    "safe" : {
+                                       "description" : "If it is safe to run the command.",
+                                       "type" : "boolean"
+                                    },
+                                    "status" : {
+                                       "description" : "Status message given by Ceph.",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/ceph/cmd-safety",
+                        "text" : "cmd-safety"
                      }
                   ],
                   "info" : {
@@ -34318,11 +36689,18 @@ const apiSchema = [
                                        "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.",
+                                       "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. Needs to be a single line, newline and backslash need to be escaped as '\\n' and '\\\\' respectively.",
+                                       "maxLength" : 1024,
                                        "optional" : 1,
                                        "requires" : "storage",
                                        "type" : "string"
                                     },
+                                    "performance" : {
+                                       "description" : "Other performance-related settings.",
+                                       "format" : "backup-performance",
+                                       "optional" : 1,
+                                       "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.",
@@ -34571,12 +36949,20 @@ const apiSchema = [
                                  "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.",
+                                 "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. Needs to be a single line, newline and backslash need to be escaped as '\\n' and '\\\\' respectively.",
+                                 "maxLength" : 1024,
                                  "optional" : 1,
                                  "requires" : "storage",
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "performance" : {
+                                 "description" : "Other performance-related settings.",
+                                 "format" : "backup-performance",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[max-workers=<integer>]"
+                              },
                               "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.",
@@ -34683,7 +37069,7 @@ const apiSchema = [
                            }
                         },
                         "permissions" : {
-                           "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'prune-backups', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
+                           "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'tmpdir', 'dumpdir' and 'script' parameters are restricted to the 'root@pam' user. The 'maxfiles' and 'prune-backups' settings require 'Datastore.Allocate' on the backup storage. The 'bwlimit', 'performance' and 'ionice' parameters require 'Sys.Modify' on '/'.",
                            "user" : "all"
                         },
                         "protected" : 1,
@@ -36005,9 +38391,15 @@ const apiSchema = [
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "download" : {
+                                             "description" : "Whether the tasklog file should be downloaded. This parameter can't be used in conjunction with other parameters",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
                                           "limit" : {
                                              "default" : 50,
-                                             "description" : "The maximum amount of lines that should be printed.",
+                                             "description" : "The amount of lines to read from the tasklog.",
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer",
@@ -36021,7 +38413,7 @@ const apiSchema = [
                                           },
                                           "start" : {
                                              "default" : 0,
-                                             "description" : "The line number to start printing at.",
+                                             "description" : "Start at this line when reading the tasklog",
                                              "minimum" : 0,
                                              "optional" : 1,
                                              "type" : "integer",
@@ -36916,8 +39308,11 @@ const apiSchema = [
                                                 "perm",
                                                 "/",
                                                 [
+                                                   "Sys.Audit",
                                                    "Sys.Modify"
-                                                ]
+                                                ],
+                                                "any",
+                                                1
                                              ]
                                           },
                                           "protected" : 1,
@@ -37033,8 +39428,11 @@ const apiSchema = [
                                     "perm",
                                     "/",
                                     [
+                                       "Sys.Audit",
                                        "Sys.Modify"
-                                    ]
+                                    ],
+                                    "any",
+                                    1
                                  ]
                               },
                               "protected" : 1,
@@ -39590,6 +41988,23 @@ const apiSchema = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "draid-config" : {
+                                       "format" : {
+                                          "data" : {
+                                             "description" : "The number of data devices per redundancy group. (dRAID)",
+                                             "minimum" : 1,
+                                             "type" : "integer"
+                                          },
+                                          "spares" : {
+                                             "description" : "Number of dRAID spares.",
+                                             "minimum" : 0,
+                                             "type" : "integer"
+                                          }
+                                       },
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "data=<integer> ,spares=<integer>"
+                                    },
                                     "name" : {
                                        "description" : "The storage identifier.",
                                        "format" : "pve-storage-id",
@@ -39610,7 +42025,10 @@ const apiSchema = [
                                           "raid10",
                                           "raidz",
                                           "raidz2",
-                                          "raidz3"
+                                          "raidz3",
+                                          "draid",
+                                          "draid2",
+                                          "draid3"
                                        ],
                                        "type" : "string"
                                     }
@@ -40714,7 +43132,7 @@ const apiSchema = [
                                              "typetext" : "<integer> (0 - N)"
                                           },
                                           "icmp-type" : {
-                                             "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                             "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                              "format" : "pve-fw-icmp-type-spec",
                                              "optional" : 1,
                                              "type" : "string",
@@ -40924,7 +43342,7 @@ const apiSchema = [
                                        "typetext" : "<integer> (0 - N)"
                                     },
                                     "icmp-type" : {
-                                       "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+                                       "description" : "Specify icmp-type. Only valid if proto equals 'icmp' or 'icmpv6'/'ipv6-icmp'.",
                                        "format" : "pve-fw-icmp-type-spec",
                                        "optional" : 1,
                                        "type" : "string",
@@ -41114,6 +43532,13 @@ const apiSchema = [
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "nf_conntrack_helpers" : {
+                                       "default" : "",
+                                       "description" : "Enable conntrack helpers for specific protocols. Supported protocols: amanda, ftp, irc, netbios-ns, pptp, sane, sip, snmp, tftp",
+                                       "format" : "pve-fw-conntrack-helper",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "nf_conntrack_max" : {
                                        "default" : 262144,
                                        "description" : "Maximum number of tracked connections.",
@@ -41282,6 +43707,14 @@ const apiSchema = [
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
                                     },
+                                    "nf_conntrack_helpers" : {
+                                       "default" : "",
+                                       "description" : "Enable conntrack helpers for specific protocols. Supported protocols: amanda, ftp, irc, netbios-ns, pptp, sane, sip, snmp, tftp",
+                                       "format" : "pve-fw-conntrack-helper",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "nf_conntrack_max" : {
                                        "default" : 262144,
                                        "description" : "Maximum number of tracked connections.",
@@ -41423,11 +43856,25 @@ const apiSchema = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "since" : {
+                                       "description" : "Display log since this UNIX epoch.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
+                                    },
                                     "start" : {
                                        "minimum" : 0,
                                        "optional" : 1,
                                        "type" : "integer",
                                        "typetext" : "<integer> (0 - N)"
+                                    },
+                                    "until" : {
+                                       "description" : "Display log until this UNIX epoch.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (0 - N)"
                                     }
                                  }
                               },
@@ -43246,8 +45693,8 @@ const apiSchema = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "upgrade",
                                     "login",
+                                    "upgrade",
                                     "ceph_install"
                                  ],
                                  "optional" : 1,
@@ -43342,8 +45789,8 @@ const apiSchema = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "upgrade",
                                     "login",
+                                    "upgrade",
                                     "ceph_install"
                                  ],
                                  "optional" : 1,
@@ -43468,8 +45915,8 @@ const apiSchema = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "upgrade",
                                     "login",
+                                    "upgrade",
                                     "ceph_install"
                                  ],
                                  "optional" : 1,
@@ -43960,13 +46407,8 @@ const apiSchema = [
                            }
                         },
                         "permissions" : {
-                           "check" : [
-                              "perm",
-                              "/",
-                              [
-                                 "VM.PowerMgmt"
-                              ]
-                           ]
+                           "description" : "The 'VM.PowerMgmt' permission is required on '/' or on '/vms/<ID>' for each ID passed via the 'vms' parameter.",
+                           "user" : "all"
                         },
                         "protected" : 1,
                         "proxyto" : "node",
@@ -43989,12 +46431,28 @@ const apiSchema = [
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
+                              "force-stop" : {
+                                 "default" : 1,
+                                 "description" : "Force a hard-stop after the timeout.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "timeout" : {
+                                 "default" : 180,
+                                 "description" : "Timeout for each guest shutdown task. Depending on `force-stop`, the shutdown gets then simply aborted or a hard-stop is forced.",
+                                 "maximum" : 7200,
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - 7200)"
+                              },
                               "vms" : {
                                  "description" : "Only consider Guests with these IDs.",
                                  "format" : "pve-vmid-list",
@@ -44005,13 +46463,8 @@ const apiSchema = [
                            }
                         },
                         "permissions" : {
-                           "check" : [
-                              "perm",
-                              "/",
-                              [
-                                 "VM.PowerMgmt"
-                              ]
-                           ]
+                           "description" : "The 'VM.PowerMgmt' permission is required on '/' or on '/vms/<ID>' for each ID passed via the 'vms' parameter.",
+                           "user" : "all"
                         },
                         "protected" : 1,
                         "proxyto" : "node",
@@ -44035,7 +46488,7 @@ const apiSchema = [
                            "additionalProperties" : 0,
                            "properties" : {
                               "maxworkers" : {
-                                 "description" : "Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!",
+                                 "description" : "Maximal number of parallel migration job. If not set, uses'max_workers' from datacenter.cfg. One of both must be set!",
                                  "minimum" : 1,
                                  "optional" : 1,
                                  "type" : "integer",
@@ -44069,13 +46522,8 @@ const apiSchema = [
                            }
                         },
                         "permissions" : {
-                           "check" : [
-                              "perm",
-                              "/",
-                              [
-                                 "VM.Migrate"
-                              ]
-                           ]
+                           "description" : "The 'VM.Migrate' permission is required on '/' or on '/vms/<ID>' for each ID passed via the 'vms' parameter.",
+                           "user" : "all"
                         },
                         "protected" : 1,
                         "proxyto" : "node",
@@ -44446,6 +46894,13 @@ const apiSchema = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "content-dirs" : {
+                           "description" : "Overrides for default content type directories.",
+                           "format" : "pve-dir-override-list",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "data-pool" : {
                            "description" : "Data Pool (for erasure coding only)",
                            "optional" : 1,
@@ -44946,6 +47401,13 @@ const apiSchema = [
                      "type" : "string",
                      "typetext" : "<string>"
                   },
+                  "content-dirs" : {
+                     "description" : "Overrides for default content type directories.",
+                     "format" : "pve-dir-override-list",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
                   "data-pool" : {
                      "description" : "Data Pool (for erasure coding only)",
                      "optional" : 1,
@@ -45396,7 +47858,7 @@ const apiSchema = [
                                        "typetext" : "<boolean>"
                                     },
                                     "userid" : {
-                                       "description" : "User ID",
+                                       "description" : "Full User ID, in the `name@realm` format.",
                                        "format" : "pve-userid",
                                        "maxLength" : 64,
                                        "type" : "string",
@@ -45485,7 +47947,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "userid" : {
-                                             "description" : "User ID",
+                                             "description" : "Full User ID, in the `name@realm` format.",
                                              "format" : "pve-userid",
                                              "maxLength" : 64,
                                              "type" : "string",
@@ -45527,7 +47989,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "userid" : {
-                                             "description" : "User ID",
+                                             "description" : "Full User ID, in the `name@realm` format.",
                                              "format" : "pve-userid",
                                              "maxLength" : 64,
                                              "type" : "string",
@@ -45607,7 +48069,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "userid" : {
-                                             "description" : "User ID",
+                                             "description" : "Full User ID, in the `name@realm` format.",
                                              "format" : "pve-userid",
                                              "maxLength" : 64,
                                              "type" : "string",
@@ -45703,7 +48165,7 @@ const apiSchema = [
                                              "type" : "string"
                                           },
                                           "userid" : {
-                                             "description" : "User ID",
+                                             "description" : "Full User ID, in the `name@realm` format.",
                                              "format" : "pve-userid",
                                              "maxLength" : 64,
                                              "type" : "string",
@@ -45767,7 +48229,7 @@ const apiSchema = [
                                  "additionalProperties" : 0,
                                  "properties" : {
                                     "userid" : {
-                                       "description" : "User ID",
+                                       "description" : "Full User ID, in the `name@realm` format.",
                                        "format" : "pve-userid",
                                        "maxLength" : 64,
                                        "type" : "string",
@@ -45843,7 +48305,7 @@ const apiSchema = [
                            "additionalProperties" : 0,
                            "properties" : {
                               "userid" : {
-                                 "description" : "User ID",
+                                 "description" : "Full User ID, in the `name@realm` format.",
                                  "format" : "pve-userid",
                                  "maxLength" : 64,
                                  "type" : "string",
@@ -45880,7 +48342,7 @@ const apiSchema = [
                            "additionalProperties" : 0,
                            "properties" : {
                               "userid" : {
-                                 "description" : "User ID",
+                                 "description" : "Full User ID, in the `name@realm` format.",
                                  "format" : "pve-userid",
                                  "maxLength" : 64,
                                  "type" : "string",
@@ -46034,7 +48496,7 @@ const apiSchema = [
                                  "typetext" : "<string>"
                               },
                               "userid" : {
-                                 "description" : "User ID",
+                                 "description" : "Full User ID, in the `name@realm` format.",
                                  "format" : "pve-userid",
                                  "maxLength" : 64,
                                  "type" : "string",
@@ -46171,7 +48633,7 @@ const apiSchema = [
                               "type" : "array"
                            },
                            "userid" : {
-                              "description" : "User ID",
+                              "description" : "Full User ID, in the `name@realm` format.",
                               "format" : "pve-userid",
                               "maxLength" : 64,
                               "type" : "string"
@@ -46252,7 +48714,7 @@ const apiSchema = [
                            "typetext" : "<string>"
                         },
                         "userid" : {
-                           "description" : "User ID",
+                           "description" : "Full User ID, in the `name@realm` format.",
                            "format" : "pve-userid",
                            "maxLength" : 64,
                            "type" : "string",
@@ -46357,7 +48819,7 @@ const apiSchema = [
                               },
                               "members" : {
                                  "items" : {
-                                    "description" : "User ID",
+                                    "description" : "Full User ID, in the `name@realm` format.",
                                     "format" : "pve-userid",
                                     "maxLength" : 64,
                                     "type" : "string"
@@ -46599,6 +49061,10 @@ const apiSchema = [
                                  "optional" : 1,
                                  "type" : "boolean"
                               },
+                              "Sys.Incoming" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
                               "Sys.Modify" : {
                                  "optional" : 1,
                                  "type" : "boolean"
@@ -46986,11 +49452,12 @@ const apiSchema = [
                                        "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.",
+                                       "default" : "none",
+                                       "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. Instead of a list it also can be 'none' (the default).",
                                        "optional" : "1",
-                                       "pattern" : "(?:(?:acl|properties|entry);)*(?:acl|properties|entry)",
+                                       "pattern" : "(?:(?:(?:acl|properties|entry);)*(?:acl|properties|entry))|none",
                                        "type" : "string",
-                                       "typetext" : "[acl];[properties];[entry]"
+                                       "typetext" : "([acl];[properties];[entry])|none"
                                     },
                                     "scope" : {
                                        "description" : "Select what to sync.",
@@ -47124,14 +49591,14 @@ const apiSchema = [
                                  "description" : "LDAP base domain name",
                                  "maxLength" : 256,
                                  "optional" : 1,
-                                 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                                 "pattern" : "(?^:\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#]))(,\\s*\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#])))*)",
                                  "type" : "string"
                               },
                               "bind_dn" : {
                                  "description" : "LDAP bind domain name",
                                  "maxLength" : 256,
                                  "optional" : 1,
-                                 "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                                 "pattern" : "(?^:\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#]))(,\\s*\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#])))*)",
                                  "type" : "string"
                               },
                               "capath" : {
@@ -47228,7 +49695,7 @@ const apiSchema = [
                                  "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+=[^,]+)*",
+                                 "pattern" : "(?^:\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#]))(,\\s*\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#])))*)",
                                  "type" : "string"
                               },
                               "group_filter" : {
@@ -47336,7 +49803,7 @@ const apiSchema = [
                                  "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>]"
+                                 "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,remove-vanished=([acl];[properties];[entry])|none] [,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.",
@@ -47470,14 +49937,14 @@ const apiSchema = [
                            "description" : "LDAP base domain name",
                            "maxLength" : 256,
                            "optional" : 1,
-                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                           "pattern" : "(?^:\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#]))(,\\s*\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#])))*)",
                            "type" : "string"
                         },
                         "bind_dn" : {
                            "description" : "LDAP bind domain name",
                            "maxLength" : 256,
                            "optional" : 1,
-                           "pattern" : "\\w+=[^,]+(,\\s*\\w+=[^,]+)*",
+                           "pattern" : "(?^:\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#]))(,\\s*\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#])))*)",
                            "type" : "string"
                         },
                         "capath" : {
@@ -47559,7 +50026,7 @@ const apiSchema = [
                            "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+=[^,]+)*",
+                           "pattern" : "(?^:\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#]))(,\\s*\\w+=(?^:(\"[^\"]+\"|[^ ,+\"/<>;=#][^,+\"/<>;=]*[^ ,+\"/<>;=]|[^ ,+\"/<>;=#])))*)",
                            "type" : "string"
                         },
                         "group_filter" : {
@@ -47667,7 +50134,7 @@ const apiSchema = [
                            "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>]"
+                           "typetext" : "[enable-new=<1|0>] [,full=<1|0>] [,purge=<1|0>] [,remove-vanished=([acl];[properties];[entry])|none] [,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.",
@@ -47909,7 +50376,7 @@ const apiSchema = [
                                        "typetext" : "<string>"
                                     },
                                     "userid" : {
-                                       "description" : "User ID",
+                                       "description" : "Full User ID, in the `name@realm` format.",
                                        "format" : "pve-userid",
                                        "maxLength" : 64,
                                        "type" : "string",
@@ -47951,7 +50418,7 @@ const apiSchema = [
                                        "typetext" : "<string>"
                                     },
                                     "userid" : {
-                                       "description" : "User ID",
+                                       "description" : "Full User ID, in the `name@realm` format.",
                                        "format" : "pve-userid",
                                        "maxLength" : 64,
                                        "type" : "string",
@@ -48047,7 +50514,7 @@ const apiSchema = [
                                        "typetext" : "<string>"
                                     },
                                     "userid" : {
-                                       "description" : "User ID",
+                                       "description" : "Full User ID, in the `name@realm` format.",
                                        "format" : "pve-userid",
                                        "maxLength" : 64,
                                        "type" : "string",
@@ -48091,7 +50558,7 @@ const apiSchema = [
                            "additionalProperties" : 0,
                            "properties" : {
                               "userid" : {
-                                 "description" : "User ID",
+                                 "description" : "Full User ID, in the `name@realm` format.",
                                  "format" : "pve-userid",
                                  "maxLength" : 64,
                                  "type" : "string",
@@ -48203,7 +50670,7 @@ const apiSchema = [
                                  "type" : "string"
                               },
                               "userid" : {
-                                 "description" : "User ID",
+                                 "description" : "Full User ID, in the `name@realm` format.",
                                  "format" : "pve-userid",
                                  "maxLength" : 64,
                                  "type" : "string",
@@ -48493,7 +50960,7 @@ const apiSchema = [
                            "typetext" : "<string>"
                         },
                         "userid" : {
-                           "description" : "User ID",
+                           "description" : "Full User ID, in the `name@realm` format.",
                            "format" : "pve-userid",
                            "maxLength" : 64,
                            "type" : "string",