]> git.proxmox.com Git - pve-docs.git/blobdiff - api-viewer/apidata.js
cert management: move some headings a level up for better visibility
[pve-docs.git] / api-viewer / apidata.js
index bfdc1ca22c7b3e02abd221eb636117cc3574bf37..d086fa9d32213e72c6e12dd081a30230c3a1e836 100644 (file)
@@ -6,6 +6,7 @@ var pveapi = [
                {
                   "info" : {
                      "DELETE" : {
+                        "allowtoken" : 1,
                         "description" : "Mark replication job for removal.",
                         "method" : "DELETE",
                         "name" : "delete",
@@ -49,6 +50,7 @@ var pveapi = [
                         }
                      },
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read replication job configuration.",
                         "method" : "GET",
                         "name" : "read",
@@ -72,6 +74,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Update replication job configuration.",
                         "method" : "PUT",
                         "name" : "update",
@@ -169,6 +172,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "List replication jobs.",
                   "method" : "GET",
                   "name" : "index",
@@ -194,6 +198,7 @@ var pveapi = [
                   }
                },
                "POST" : {
+                  "allowtoken" : 1,
                   "description" : "Create a new replication job",
                   "method" : "POST",
                   "name" : "create",
@@ -294,6 +299,7 @@ var pveapi = [
                      {
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Removes a node from the cluster configuration.",
                               "method" : "DELETE",
                               "name" : "delnode",
@@ -314,6 +320,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Adds a node to the cluster configuration. This call is for internal use.",
                               "method" : "POST",
                               "name" : "addnode",
@@ -392,6 +399,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Corosync node list.",
                         "method" : "GET",
                         "name" : "nodes",
@@ -433,6 +441,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get information needed to join this cluster over the connected node.",
                         "method" : "GET",
                         "name" : "join_info",
@@ -532,6 +541,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Joins this node into an existing cluster.",
                         "method" : "POST",
                         "name" : "join",
@@ -613,6 +623,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get corosync totem protocol settings.",
                         "method" : "GET",
                         "name" : "totem",
@@ -636,10 +647,39 @@ var pveapi = [
                   "leaf" : 1,
                   "path" : "/cluster/config/totem",
                   "text" : "totem"
+               },
+               {
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Get QDevice status",
+                        "method" : "GET",
+                        "name" : "status",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit"
+                              ]
+                           ]
+                        },
+                        "returns" : {
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/config/qdevice",
+                  "text" : "qdevice"
                }
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Directory index.",
                   "method" : "GET",
                   "name" : "index",
@@ -670,6 +710,7 @@ var pveapi = [
                   }
                },
                "POST" : {
+                  "allowtoken" : 1,
                   "description" : "Generate new cluster configuration.",
                   "method" : "POST",
                   "name" : "create",
@@ -741,6 +782,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Delete rule.",
                                     "method" : "DELETE",
                                     "name" : "delete_rule",
@@ -786,6 +828,7 @@ var pveapi = [
                                     }
                                  },
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Get single rule data.",
                                     "method" : "GET",
                                     "name" : "get_rule",
@@ -890,6 +933,7 @@ var pveapi = [
                                     }
                                  },
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Modify rule data.",
                                     "method" : "PUT",
                                     "name" : "update_rule",
@@ -1054,6 +1098,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Delete security group.",
                               "method" : "DELETE",
                               "name" : "delete_security_group",
@@ -1084,6 +1129,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List rules.",
                               "method" : "GET",
                               "name" : "get_rules",
@@ -1128,6 +1174,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Create new rule.",
                               "method" : "POST",
                               "name" : "create_rule",
@@ -1278,6 +1325,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "List security groups.",
                         "method" : "GET",
                         "name" : "list_security_groups",
@@ -1320,6 +1368,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create new security group.",
                         "method" : "POST",
                         "name" : "create_security_group",
@@ -1379,6 +1428,7 @@ var pveapi = [
                      {
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Delete rule.",
                               "method" : "DELETE",
                               "name" : "delete_rule",
@@ -1417,6 +1467,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get single rule data.",
                               "method" : "GET",
                               "name" : "get_rule",
@@ -1514,6 +1565,7 @@ var pveapi = [
                               }
                            },
                            "PUT" : {
+                              "allowtoken" : 1,
                               "description" : "Modify rule data.",
                               "method" : "PUT",
                               "name" : "update_rule",
@@ -1671,6 +1723,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "List rules.",
                         "method" : "GET",
                         "name" : "get_rules",
@@ -1706,6 +1759,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create new rule.",
                         "method" : "POST",
                         "name" : "create_rule",
@@ -1853,6 +1907,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Remove IP or Network from IPSet.",
                                     "method" : "DELETE",
                                     "name" : "remove_ip",
@@ -1896,6 +1951,7 @@ var pveapi = [
                                     }
                                  },
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read IP or Network settings from IPSet.",
                                     "method" : "GET",
                                     "name" : "read_ip",
@@ -1932,6 +1988,7 @@ var pveapi = [
                                     }
                                  },
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Update IP or Network settings",
                                     "method" : "PUT",
                                     "name" : "update_ip",
@@ -1992,6 +2049,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Delete IPSet",
                               "method" : "DELETE",
                               "name" : "delete_ipset",
@@ -2022,6 +2080,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List IPSet content",
                               "method" : "GET",
                               "name" : "get_ipset",
@@ -2079,6 +2138,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Add IP or Network to IPSet.",
                               "method" : "POST",
                               "name" : "create_ip",
@@ -2132,6 +2192,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "List IPSets",
                         "method" : "GET",
                         "name" : "ipset_index",
@@ -2180,6 +2241,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create new IPSet",
                         "method" : "POST",
                         "name" : "create_ipset",
@@ -2239,6 +2301,7 @@ var pveapi = [
                      {
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Remove IP or Network alias.",
                               "method" : "DELETE",
                               "name" : "remove_alias",
@@ -2276,6 +2339,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Read alias.",
                               "method" : "GET",
                               "name" : "read_alias",
@@ -2305,6 +2369,7 @@ var pveapi = [
                               }
                            },
                            "PUT" : {
+                              "allowtoken" : 1,
                               "description" : "Update IP or Network alias.",
                               "method" : "PUT",
                               "name" : "update_alias",
@@ -2368,6 +2433,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "List aliases",
                         "method" : "GET",
                         "name" : "get_aliases",
@@ -2415,6 +2481,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create IP or Network Alias.",
                         "method" : "POST",
                         "name" : "create_alias",
@@ -2463,6 +2530,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get Firewall options.",
                         "method" : "GET",
                         "name" : "get_options",
@@ -2545,6 +2613,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Set Firewall options.",
                         "method" : "PUT",
                         "name" : "set_options",
@@ -2652,6 +2721,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "List available macros",
                         "method" : "GET",
                         "name" : "get_macros",
@@ -2686,6 +2756,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
                         "method" : "GET",
                         "name" : "refs",
@@ -2746,6 +2817,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Directory index.",
                   "method" : "GET",
                   "name" : "index",
@@ -2779,6 +2851,7 @@ var pveapi = [
                {
                   "info" : {
                      "DELETE" : {
+                        "allowtoken" : 1,
                         "description" : "Delete vzdump backup job definition.",
                         "method" : "DELETE",
                         "name" : "delete_job",
@@ -2808,6 +2881,7 @@ var pveapi = [
                         }
                      },
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read vzdump backup job definition.",
                         "method" : "GET",
                         "name" : "read_job",
@@ -2836,6 +2910,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Update vzdump backup job definition.",
                         "method" : "PUT",
                         "name" : "update_job",
@@ -2983,6 +3058,12 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer>"
                               },
+                              "pool" : {
+                                 "description" : "Backup all known guest systems included in the specified pool.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "quiet" : {
                                  "default" : 0,
                                  "description" : "Be quiet.",
@@ -3083,6 +3164,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "List vzdump backup schedule.",
                   "method" : "GET",
                   "name" : "index",
@@ -3102,6 +3184,8 @@ var pveapi = [
                      "items" : {
                         "properties" : {
                            "id" : {
+                              "description" : "The job ID.",
+                              "maxLength" : 50,
                               "type" : "string"
                            }
                         },
@@ -3117,6 +3201,7 @@ var pveapi = [
                   }
                },
                "POST" : {
+                  "allowtoken" : 1,
                   "description" : "Create new vzdump backup job.",
                   "method" : "POST",
                   "name" : "create_job",
@@ -3252,6 +3337,12 @@ var pveapi = [
                            "type" : "integer",
                            "typetext" : "<integer>"
                         },
+                        "pool" : {
+                           "description" : "Backup all known guest systems included in the specified pool.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "quiet" : {
                            "default" : 0,
                            "description" : "Be quiet.",
@@ -3359,6 +3450,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Request resource migration (online) to another node.",
                                     "method" : "POST",
                                     "name" : "migrate",
@@ -3401,6 +3493,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
                                     "method" : "POST",
                                     "name" : "relocate",
@@ -3443,6 +3536,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Delete resource configuration.",
                               "method" : "DELETE",
                               "name" : "delete",
@@ -3472,6 +3566,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Read resource configuration.",
                               "method" : "GET",
                               "name" : "read",
@@ -3549,6 +3644,7 @@ var pveapi = [
                               }
                            },
                            "PUT" : {
+                              "allowtoken" : 1,
                               "description" : "Update resource configuration.",
                               "method" : "PUT",
                               "name" : "update",
@@ -3645,6 +3741,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "List HA resources.",
                         "method" : "GET",
                         "name" : "index",
@@ -3690,6 +3787,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create a new HA resource.",
                         "method" : "POST",
                         "name" : "create",
@@ -3782,6 +3880,7 @@ var pveapi = [
                      {
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Delete ha group configuration.",
                               "method" : "DELETE",
                               "name" : "delete",
@@ -3811,6 +3910,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Read ha group configuration.",
                               "method" : "GET",
                               "name" : "read",
@@ -3837,6 +3937,7 @@ var pveapi = [
                               "returns" : {}
                            },
                            "PUT" : {
+                              "allowtoken" : 1,
                               "description" : "Update ha group configuration.",
                               "method" : "PUT",
                               "name" : "update",
@@ -3919,6 +4020,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get HA groups.",
                         "method" : "GET",
                         "name" : "index",
@@ -3953,6 +4055,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create a new HA group.",
                         "method" : "POST",
                         "name" : "create",
@@ -4030,6 +4133,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get HA manger status.",
                               "method" : "GET",
                               "name" : "status",
@@ -4057,6 +4161,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get full HA manger status, including LRM status.",
                               "method" : "GET",
                               "name" : "manager_status",
@@ -4084,6 +4189,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Directory index.",
                         "method" : "GET",
                         "name" : "index",
@@ -4115,6 +4221,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Directory index.",
                   "method" : "GET",
                   "name" : "index",
@@ -4160,6 +4267,7 @@ var pveapi = [
                      {
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Deactivate existing ACME account at CA.",
                               "method" : "DELETE",
                               "name" : "deactivate_account",
@@ -4183,6 +4291,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Return existing ACME account information.",
                               "method" : "GET",
                               "name" : "get_account",
@@ -4228,6 +4337,7 @@ var pveapi = [
                               }
                            },
                            "PUT" : {
+                              "allowtoken" : 1,
                               "description" : "Update existing ACME account information with CA. Note: not specifying any new account information triggers a refresh.",
                               "method" : "PUT",
                               "name" : "update_account",
@@ -4265,6 +4375,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "ACMEAccount index.",
                         "method" : "GET",
                         "name" : "account_index",
@@ -4290,6 +4401,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Register a new ACME account with CA.",
                         "method" : "POST",
                         "name" : "register_account",
@@ -4339,6 +4451,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Retrieve ACME TermsOfService URL from CA.",
                         "method" : "GET",
                         "name" : "get_tos",
@@ -4359,6 +4472,7 @@ var pveapi = [
                         },
                         "returns" : {
                            "description" : "ACME TermsOfService URL.",
+                           "optional" : 1,
                            "type" : "string"
                         }
                      }
@@ -4370,6 +4484,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get named known ACME directory endpoints.",
                         "method" : "GET",
                         "name" : "get_directories",
@@ -4405,6 +4520,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "ACMEAccount index.",
                   "method" : "GET",
                   "name" : "index",
@@ -4433,9 +4549,352 @@ var pveapi = [
             "path" : "/cluster/acme",
             "text" : "acme"
          },
+         {
+            "children" : [
+               {
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Get ceph metadata.",
+                        "method" : "GET",
+                        "name" : "metadata",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit",
+                                 "Datastore.Audit"
+                              ],
+                              "any",
+                              1
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/ceph/metadata",
+                  "text" : "metadata"
+               },
+               {
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "Get ceph status.",
+                        "method" : "GET",
+                        "name" : "status",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit",
+                                 "Datastore.Audit"
+                              ],
+                              "any",
+                              1
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "object"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/cluster/ceph/status",
+                  "text" : "status"
+               },
+               {
+                  "children" : [
+                     {
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Get the status of a specific ceph flag.",
+                              "method" : "GET",
+                              "name" : "get_flag",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "flag" : {
+                                       "description" : "The name of the flag name to get.",
+                                       "enum" : [
+                                          "nobackfill",
+                                          "nodeep-scrub",
+                                          "nodown",
+                                          "noin",
+                                          "noout",
+                                          "norebalance",
+                                          "norecover",
+                                          "noscrub",
+                                          "notieragent",
+                                          "noup",
+                                          "pause"
+                                       ],
+                                       "type" : "string"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "boolean"
+                              }
+                           },
+                           "PUT" : {
+                              "allowtoken" : 1,
+                              "description" : "Set or clear (unset) a specific ceph flag",
+                              "method" : "PUT",
+                              "name" : "update_flag",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "flag" : {
+                                       "description" : "The ceph flag to update",
+                                       "enum" : [
+                                          "nobackfill",
+                                          "nodeep-scrub",
+                                          "nodown",
+                                          "noin",
+                                          "noout",
+                                          "norebalance",
+                                          "norecover",
+                                          "noscrub",
+                                          "notieragent",
+                                          "noup",
+                                          "pause"
+                                       ],
+                                       "type" : "string"
+                                    },
+                                    "value" : {
+                                       "description" : "The new value of the flag",
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Modify"
+                                    ]
+                                 ]
+                              },
+                              "protected" : 1,
+                              "returns" : {
+                                 "type" : "null"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/cluster/ceph/flags/{flag}",
+                        "text" : "{flag}"
+                     }
+                  ],
+                  "info" : {
+                     "GET" : {
+                        "allowtoken" : 1,
+                        "description" : "get the status of all ceph flags",
+                        "method" : "GET",
+                        "name" : "get_all_flags",
+                        "parameters" : {
+                           "additionalProperties" : 0
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Audit"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "items" : {
+                              "additionalProperties" : 1,
+                              "properties" : {
+                                 "name" : {
+                                    "description" : "Flag name.",
+                                    "enum" : [
+                                       "nobackfill",
+                                       "nodeep-scrub",
+                                       "nodown",
+                                       "noin",
+                                       "noout",
+                                       "norebalance",
+                                       "norecover",
+                                       "noscrub",
+                                       "notieragent",
+                                       "noup",
+                                       "pause"
+                                    ],
+                                    "type" : "string"
+                                 }
+                              },
+                              "type" : "object"
+                           },
+                           "links" : [
+                              {
+                                 "href" : "{name}",
+                                 "rel" : "child"
+                              }
+                           ],
+                           "type" : "array"
+                        }
+                     },
+                     "PUT" : {
+                        "allowtoken" : 1,
+                        "description" : "Set/Unset multiple ceph flags at once.",
+                        "method" : "PUT",
+                        "name" : "set_flags",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
+                              "nobackfill" : {
+                                 "description" : "Backfilling of PGs is suspended.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "nodeep-scrub" : {
+                                 "description" : "Deep Scrubbing is disabled.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "nodown" : {
+                                 "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "noin" : {
+                                 "description" : "OSDs that were previously marked out will not be marked back in when they start.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "noout" : {
+                                 "description" : "OSDs will not automatically be marked out after the configured interval.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "norebalance" : {
+                                 "description" : "Rebalancing of PGs is suspended.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "norecover" : {
+                                 "description" : "Recovery of PGs is suspended.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "noscrub" : {
+                                 "description" : "Scrubbing is disabled.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "notieragent" : {
+                                 "description" : "Cache tiering activity is suspended.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "noup" : {
+                                 "description" : "OSDs are not allowed to start.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              },
+                              "pause" : {
+                                 "description" : "Pauses read and writes.",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "Sys.Modify"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "returns" : {
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "leaf" : 0,
+                  "path" : "/cluster/ceph/flags",
+                  "text" : "flags"
+               }
+            ],
+            "info" : {
+               "GET" : {
+                  "allowtoken" : 1,
+                  "description" : "Cluster ceph index.",
+                  "method" : "GET",
+                  "name" : "cephindex",
+                  "parameters" : {
+                     "additionalProperties" : 0
+                  },
+                  "permissions" : {
+                     "user" : "all"
+                  },
+                  "returns" : {
+                     "items" : {
+                        "properties" : {},
+                        "type" : "object"
+                     },
+                     "links" : [
+                        {
+                           "href" : "{name}",
+                           "rel" : "child"
+                        }
+                     ],
+                     "type" : "array"
+                  }
+               }
+            },
+            "leaf" : 0,
+            "path" : "/cluster/ceph",
+            "text" : "ceph"
+         },
          {
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Read cluster log",
                   "method" : "GET",
                   "name" : "log",
@@ -4470,6 +4929,7 @@ var pveapi = [
          {
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Resources index (cluster wide).",
                   "method" : "GET",
                   "name" : "resources",
@@ -4480,7 +4940,8 @@ var pveapi = [
                            "enum" : [
                               "vm",
                               "storage",
-                              "node"
+                              "node",
+                              "sdn"
                            ],
                            "optional" : 1,
                            "type" : "string"
@@ -4571,7 +5032,8 @@ var pveapi = [
                                  "pool",
                                  "qemu",
                                  "lxc",
-                                 "openvz"
+                                 "openvz",
+                                 "sdn"
                               ],
                               "type" : "string"
                            },
@@ -4595,6 +5057,7 @@ var pveapi = [
          {
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "List recent tasks (cluster wide).",
                   "method" : "GET",
                   "name" : "tasks",
@@ -4624,6 +5087,7 @@ var pveapi = [
          {
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Get datacenter options.",
                   "method" : "GET",
                   "name" : "get_options",
@@ -4644,6 +5108,7 @@ var pveapi = [
                   }
                },
                "PUT" : {
+                  "allowtoken" : 1,
                   "description" : "Set datacenter options.",
                   "method" : "PUT",
                   "name" : "set_options",
@@ -4734,19 +5199,20 @@ var pveapi = [
                            "format" : {
                               "shutdown_policy" : {
                                  "default" : "conditional",
-                                 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. Running HA Services will always get stopped first on shutdown.",
+                                 "description" : "The policy for HA services on node shutdown. 'freeze' disables auto-recovery, 'failover' ensures recovery, 'conditional' recovers on poweroff and freezes on reboot. 'migrate' will migrate running services to other nodes, if possible. With 'freeze' or 'failover', HA Services will always get stopped first on shutdown.",
                                  "enum" : [
                                     "freeze",
                                     "failover",
-                                    "conditional"
+                                    "conditional",
+                                    "migrate"
                                  ],
                                  "type" : "string",
-                                 "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes."
+                                 "verbose_description" : "Describes the policy for handling HA services on poweroff or reboot of a node. Freeze will always freeze services which are still located on the node on shutdown, those services won't be recovered by the HA manager. Failover will not mark the services as frozen and thus the services will get recovered to other nodes, if the shutdown node does not come up again quickly (< 1min). 'conditional' chooses automatically depending on the type of shutdown, i.e., on a reboot the service will be frozen but on a poweroff the service will stay as is, and thus get recovered after about 2 minutes. Migrate will try to move all running services to another node when a reboot or shutdown was triggered. The poweroff process will only continue once no running services are located on the node anymore. If the node comes up again, the service will be moved back to the previously powered-off node, at least if no other migration, reloaction or recovery took place."
                               }
                            },
                            "optional" : 1,
                            "type" : "string",
-                           "typetext" : "shutdown_policy=<freeze|failover|conditional>"
+                           "typetext" : "shutdown_policy=<enum>"
                         },
                         "http_proxy" : {
                            "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
@@ -4789,25 +5255,27 @@ var pveapi = [
                         "language" : {
                            "description" : "Default GUI language.",
                            "enum" : [
-                              "zh_CN",
-                              "zh_TW",
                               "ca",
+                              "da",
+                              "de",
                               "en",
+                              "es",
                               "eu",
+                              "fa",
                               "fr",
-                              "de",
+                              "he",
                               "it",
-                              "es",
                               "ja",
                               "nb",
                               "nn",
-                              "fa",
                               "pl",
                               "pt_BR",
                               "ru",
                               "sl",
                               "sv",
-                              "tr"
+                              "tr",
+                              "zh_CN",
+                              "zh_TW"
                            ],
                            "optional" : 1,
                            "type" : "string"
@@ -4901,6 +5369,7 @@ var pveapi = [
          {
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Get cluster status information.",
                   "method" : "GET",
                   "name" : "get_status",
@@ -4920,8 +5389,59 @@ var pveapi = [
                   "returns" : {
                      "items" : {
                         "properties" : {
+                           "id" : {
+                              "type" : "string"
+                           },
+                           "ip" : {
+                              "description" : "[node] IP of the resolved nodename.",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "level" : {
+                              "description" : "[node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository.",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
+                           "local" : {
+                              "description" : "[node] Indicates if this is the responding node.",
+                              "optional" : 1,
+                              "type" : "boolean"
+                           },
+                           "name" : {
+                              "type" : "string"
+                           },
+                           "nodeid" : {
+                              "description" : "[node] ID of the node from the corosync configuration.",
+                              "optional" : 1,
+                              "type" : "integer"
+                           },
+                           "nodes" : {
+                              "description" : "[cluster] Nodes count, including offline nodes.",
+                              "optional" : 1,
+                              "type" : "integer"
+                           },
+                           "online" : {
+                              "description" : "[node] Indicates if the node is online or offline.",
+                              "optional" : 1,
+                              "type" : "boolean"
+                           },
+                           "quorate" : {
+                              "description" : "[cluster] Indicates if there is a majority of nodes online to make decisions",
+                              "optional" : 1,
+                              "type" : "boolean"
+                           },
                            "type" : {
+                              "description" : "Indicates the type, either cluster or node. The type defines the object properties e.g. quorate available for type cluster.",
+                              "enum" : [
+                                 "cluster",
+                                 "node"
+                              ],
                               "type" : "string"
+                           },
+                           "version" : {
+                              "description" : "[cluster] Current version of the corosync configuration file.",
+                              "optional" : 1,
+                              "type" : "integer"
                            }
                         },
                         "type" : "object"
@@ -4937,6 +5457,7 @@ var pveapi = [
          {
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
                   "method" : "GET",
                   "name" : "nextid",
@@ -4965,105 +5486,11 @@ var pveapi = [
             "leaf" : 1,
             "path" : "/cluster/nextid",
             "text" : "nextid"
-         },
-         {
-            "children" : [
-               {
-                  "info" : {
-                     "GET" : {
-                        "description" : "Get ceph metadata.",
-                        "method" : "GET",
-                        "name" : "ceph_metadata",
-                        "parameters" : {
-                           "additionalProperties" : 0
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "perm",
-                              "/",
-                              [
-                                 "Sys.Audit",
-                                 "Datastore.Audit"
-                              ],
-                              "any",
-                              1
-                           ]
-                        },
-                        "protected" : 1,
-                        "returns" : {
-                           "type" : "object"
-                        }
-                     }
-                  },
-                  "leaf" : 1,
-                  "path" : "/cluster/ceph/metadata",
-                  "text" : "metadata"
-               },
-               {
-                  "info" : {
-                     "GET" : {
-                        "description" : "Get ceph status.",
-                        "method" : "GET",
-                        "name" : "cephstatus",
-                        "parameters" : {
-                           "additionalProperties" : 0
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "perm",
-                              "/",
-                              [
-                                 "Sys.Audit",
-                                 "Datastore.Audit"
-                              ],
-                              "any",
-                              1
-                           ]
-                        },
-                        "protected" : 1,
-                        "returns" : {
-                           "type" : "object"
-                        }
-                     }
-                  },
-                  "leaf" : 1,
-                  "path" : "/cluster/ceph/status",
-                  "text" : "status"
-               }
-            ],
-            "info" : {
-               "GET" : {
-                  "description" : "Cluster ceph index.",
-                  "method" : "GET",
-                  "name" : "cephindex",
-                  "parameters" : {
-                     "additionalProperties" : 0
-                  },
-                  "permissions" : {
-                     "user" : "all"
-                  },
-                  "returns" : {
-                     "items" : {
-                        "properties" : {},
-                        "type" : "object"
-                     },
-                     "links" : [
-                        {
-                           "href" : "{name}",
-                           "rel" : "child"
-                        }
-                     ],
-                     "type" : "array"
-                  }
-               }
-            },
-            "leaf" : 0,
-            "path" : "/cluster/ceph",
-            "text" : "ceph"
          }
       ],
       "info" : {
          "GET" : {
+            "allowtoken" : 1,
             "description" : "Cluster index.",
             "method" : "GET",
             "name" : "index",
@@ -5107,6 +5534,7 @@ var pveapi = [
                                        {
                                           "info" : {
                                              "DELETE" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Delete rule.",
                                                 "method" : "DELETE",
                                                 "name" : "delete_rule",
@@ -5158,6 +5586,7 @@ var pveapi = [
                                                 }
                                              },
                                              "GET" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Get single rule data.",
                                                 "method" : "GET",
                                                 "name" : "get_rule",
@@ -5268,6 +5697,7 @@ var pveapi = [
                                                 }
                                              },
                                              "PUT" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Modify rule data.",
                                                 "method" : "PUT",
                                                 "name" : "update_rule",
@@ -5438,6 +5868,7 @@ var pveapi = [
                                     ],
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "List rules.",
                                           "method" : "GET",
                                           "name" : "get_rules",
@@ -5488,6 +5919,7 @@ var pveapi = [
                                           }
                                        },
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Create new rule.",
                                           "method" : "POST",
                                           "name" : "create_rule",
@@ -5646,6 +6078,7 @@ var pveapi = [
                                        {
                                           "info" : {
                                              "DELETE" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Remove IP or Network alias.",
                                                 "method" : "DELETE",
                                                 "name" : "remove_alias",
@@ -5696,6 +6129,7 @@ var pveapi = [
                                                 }
                                              },
                                              "GET" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Read alias.",
                                                 "method" : "GET",
                                                 "name" : "read_alias",
@@ -5738,6 +6172,7 @@ var pveapi = [
                                                 }
                                              },
                                              "PUT" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Update IP or Network alias.",
                                                 "method" : "PUT",
                                                 "name" : "update_alias",
@@ -5814,6 +6249,7 @@ var pveapi = [
                                     ],
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "List aliases",
                                           "method" : "GET",
                                           "name" : "get_aliases",
@@ -5876,6 +6312,7 @@ var pveapi = [
                                           }
                                        },
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Create IP or Network Alias.",
                                           "method" : "POST",
                                           "name" : "create_alias",
@@ -5941,6 +6378,7 @@ var pveapi = [
                                              {
                                                 "info" : {
                                                    "DELETE" : {
+                                                      "allowtoken" : 1,
                                                       "description" : "Remove IP or Network from IPSet.",
                                                       "method" : "DELETE",
                                                       "name" : "remove_ip",
@@ -5997,6 +6435,7 @@ var pveapi = [
                                                       }
                                                    },
                                                    "GET" : {
+                                                      "allowtoken" : 1,
                                                       "description" : "Read IP or Network settings from IPSet.",
                                                       "method" : "GET",
                                                       "name" : "read_ip",
@@ -6046,6 +6485,7 @@ var pveapi = [
                                                       }
                                                    },
                                                    "PUT" : {
+                                                      "allowtoken" : 1,
                                                       "description" : "Update IP or Network settings",
                                                       "method" : "PUT",
                                                       "name" : "update_ip",
@@ -6119,6 +6559,7 @@ var pveapi = [
                                           ],
                                           "info" : {
                                              "DELETE" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Delete IPSet",
                                                 "method" : "DELETE",
                                                 "name" : "delete_ipset",
@@ -6162,6 +6603,7 @@ var pveapi = [
                                                 }
                                              },
                                              "GET" : {
+                                                "allowtoken" : 1,
                                                 "description" : "List IPSet content",
                                                 "method" : "GET",
                                                 "name" : "get_ipset",
@@ -6232,6 +6674,7 @@ var pveapi = [
                                                 }
                                              },
                                              "POST" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Add IP or Network to IPSet.",
                                                 "method" : "POST",
                                                 "name" : "create_ip",
@@ -6298,6 +6741,7 @@ var pveapi = [
                                     ],
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "List IPSets",
                                           "method" : "GET",
                                           "name" : "ipset_index",
@@ -6361,6 +6805,7 @@ var pveapi = [
                                           }
                                        },
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Create new IPSet",
                                           "method" : "POST",
                                           "name" : "create_ipset",
@@ -6431,6 +6876,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Get VM firewall options.",
                                           "method" : "GET",
                                           "name" : "get_options",
@@ -6465,11 +6911,13 @@ var pveapi = [
                                           "returns" : {
                                              "properties" : {
                                                 "dhcp" : {
+                                                   "default" : 0,
                                                    "description" : "Enable DHCP.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "enable" : {
+                                                   "default" : 0,
                                                    "description" : "Enable/disable firewall rules.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
@@ -6512,12 +6960,14 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "macfilter" : {
+                                                   "default" : 0,
                                                    "description" : "Enable/disable MAC address filter.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "ndp" : {
-                                                   "description" : "Enable NDP.",
+                                                   "default" : 0,
+                                                   "description" : "Enable NDP (Neighbor Discovery Protocol).",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -6551,6 +7001,7 @@ var pveapi = [
                                           }
                                        },
                                        "PUT" : {
+                                          "allowtoken" : 1,
                                           "description" : "Set Firewall options.",
                                           "method" : "PUT",
                                           "name" : "set_options",
@@ -6565,6 +7016,7 @@ var pveapi = [
                                                    "typetext" : "<string>"
                                                 },
                                                 "dhcp" : {
+                                                   "default" : 0,
                                                    "description" : "Enable DHCP.",
                                                    "optional" : 1,
                                                    "type" : "boolean",
@@ -6578,6 +7030,7 @@ var pveapi = [
                                                    "typetext" : "<string>"
                                                 },
                                                 "enable" : {
+                                                   "default" : 0,
                                                    "description" : "Enable/disable firewall rules.",
                                                    "optional" : 1,
                                                    "type" : "boolean",
@@ -6622,13 +7075,15 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "macfilter" : {
+                                                   "default" : 0,
                                                    "description" : "Enable/disable MAC address filter.",
                                                    "optional" : 1,
                                                    "type" : "boolean",
                                                    "typetext" : "<boolean>"
                                                 },
                                                 "ndp" : {
-                                                   "description" : "Enable NDP.",
+                                                   "default" : 0,
+                                                   "description" : "Enable NDP (Neighbor Discovery Protocol).",
                                                    "optional" : 1,
                                                    "type" : "boolean",
                                                    "typetext" : "<boolean>"
@@ -6697,6 +7152,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Read firewall log",
                                           "method" : "GET",
                                           "name" : "log",
@@ -6766,6 +7222,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
                                           "method" : "GET",
                                           "name" : "refs",
@@ -6836,6 +7293,7 @@ var pveapi = [
                               ],
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Directory index.",
                                     "method" : "GET",
                                     "name" : "index",
@@ -6884,6 +7342,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute fsfreeze-freeze.",
                                           "method" : "POST",
                                           "name" : "fsfreeze-freeze",
@@ -6929,6 +7388,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute fsfreeze-status.",
                                           "method" : "POST",
                                           "name" : "fsfreeze-status",
@@ -6974,6 +7434,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute fsfreeze-thaw.",
                                           "method" : "POST",
                                           "name" : "fsfreeze-thaw",
@@ -7019,6 +7480,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute fstrim.",
                                           "method" : "POST",
                                           "name" : "fstrim",
@@ -7064,6 +7526,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute get-fsinfo.",
                                           "method" : "GET",
                                           "name" : "get-fsinfo",
@@ -7109,6 +7572,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute get-host-name.",
                                           "method" : "GET",
                                           "name" : "get-host-name",
@@ -7154,6 +7618,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute get-memory-block-info.",
                                           "method" : "GET",
                                           "name" : "get-memory-block-info",
@@ -7199,6 +7664,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute get-memory-blocks.",
                                           "method" : "GET",
                                           "name" : "get-memory-blocks",
@@ -7244,6 +7710,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute get-osinfo.",
                                           "method" : "GET",
                                           "name" : "get-osinfo",
@@ -7289,6 +7756,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute get-time.",
                                           "method" : "GET",
                                           "name" : "get-time",
@@ -7334,6 +7802,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute get-timezone.",
                                           "method" : "GET",
                                           "name" : "get-timezone",
@@ -7379,6 +7848,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute get-users.",
                                           "method" : "GET",
                                           "name" : "get-users",
@@ -7424,6 +7894,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute get-vcpus.",
                                           "method" : "GET",
                                           "name" : "get-vcpus",
@@ -7469,6 +7940,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute info.",
                                           "method" : "GET",
                                           "name" : "info",
@@ -7514,6 +7986,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute network-get-interfaces.",
                                           "method" : "GET",
                                           "name" : "network-get-interfaces",
@@ -7559,6 +8032,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute ping.",
                                           "method" : "POST",
                                           "name" : "ping",
@@ -7604,6 +8078,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute shutdown.",
                                           "method" : "POST",
                                           "name" : "shutdown",
@@ -7649,6 +8124,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute suspend-disk.",
                                           "method" : "POST",
                                           "name" : "suspend-disk",
@@ -7694,6 +8170,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute suspend-hybrid.",
                                           "method" : "POST",
                                           "name" : "suspend-hybrid",
@@ -7739,6 +8216,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Execute suspend-ram.",
                                           "method" : "POST",
                                           "name" : "suspend-ram",
@@ -7784,6 +8262,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Sets the password for the given user to the given password",
                                           "method" : "POST",
                                           "name" : "set-user-password",
@@ -7805,7 +8284,7 @@ var pveapi = [
                                                 },
                                                 "password" : {
                                                    "description" : "The new password.",
-                                                   "maxLength" : 64,
+                                                   "maxLength" : 1024,
                                                    "minLength" : 5,
                                                    "type" : "string",
                                                    "typetext" : "<string>"
@@ -7848,6 +8327,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Executes the given command in the vm via the guest-agent and returns an object with the pid.",
                                           "method" : "POST",
                                           "name" : "exec",
@@ -7904,6 +8384,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Gets the status of the given pid started by the guest-agent",
                                           "method" : "GET",
                                           "name" : "exec-status",
@@ -7989,6 +8470,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Reads the given file via guest agent. Is limited to 16777216 bytes.",
                                           "method" : "GET",
                                           "name" : "file-read",
@@ -8050,6 +8532,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Writes the given file via guest agent.",
                                           "method" : "POST",
                                           "name" : "file-write",
@@ -8105,6 +8588,7 @@ var pveapi = [
                               ],
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Qemu Agent command index.",
                                     "method" : "GET",
                                     "name" : "index",
@@ -8146,6 +8630,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Execute Qemu Guest Agent commands.",
                                     "method" : "POST",
                                     "name" : "agent",
@@ -8217,6 +8702,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read VM RRD statistics (returns PNG)",
                                     "method" : "GET",
                                     "name" : "rrd",
@@ -8291,6 +8777,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read VM RRD statistics",
                                     "method" : "GET",
                                     "name" : "rrddata",
@@ -8358,7 +8845,8 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
-                                    "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
+                                    "allowtoken" : 1,
+                                    "description" : "Get the virtual machine configuration with pending configuration changes applied. Set the 'current' parameter to get the current configuration instead.",
                                     "method" : "GET",
                                     "name" : "vm_config",
                                     "parameters" : {
@@ -8405,7 +8893,7 @@ var pveapi = [
                                     },
                                     "proxyto" : "node",
                                     "returns" : {
-                                       "description" : "The current VM configuration.",
+                                       "description" : "The VM configuration.",
                                        "properties" : {
                                           "acpi" : {
                                              "default" : 1,
@@ -8427,6 +8915,16 @@ var pveapi = [
                                                    "description" : "Run fstrim after cloning/moving a disk.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
+                                                },
+                                                "type" : {
+                                                   "default" : "virtio",
+                                                   "description" : "Select the agent type",
+                                                   "enum" : [
+                                                      "virtio",
+                                                      "isa"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
@@ -8447,6 +8945,31 @@ var pveapi = [
                                              "type" : "string",
                                              "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
                                           },
+                                          "audio0" : {
+                                             "description" : "Configure a audio device, useful in combination with QXL/Spice.",
+                                             "format" : {
+                                                "device" : {
+                                                   "description" : "Configure an audio device.",
+                                                   "enum" : [
+                                                      "ich9-intel-hda",
+                                                      "intel-hda",
+                                                      "AC97"
+                                                   ],
+                                                   "type" : "string"
+                                                },
+                                                "driver" : {
+                                                   "default" : "spice",
+                                                   "description" : "Driver backend for the audio device.",
+                                                   "enum" : [
+                                                      "spice"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "autostart" : {
                                              "default" : 0,
                                              "description" : "Automatic restart after crash (currently ignored).",
@@ -8536,6 +9059,7 @@ var pveapi = [
                                                       "Broadwell-IBRS",
                                                       "Broadwell-noTSX",
                                                       "Broadwell-noTSX-IBRS",
+                                                      "Cascadelake-Server",
                                                       "Conroe",
                                                       "core2duo",
                                                       "coreduo",
@@ -8548,6 +9072,7 @@ var pveapi = [
                                                       "host",
                                                       "IvyBridge",
                                                       "IvyBridge-IBRS",
+                                                      "KnightsMill",
                                                       "kvm32",
                                                       "kvm64",
                                                       "max",
@@ -8577,10 +9102,10 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "flags" : {
-                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb', 'md-clear'.",
+                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
                                                    "format_description" : "+FLAG[;-FLAG...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -9113,7 +9638,7 @@ var pveapi = [
                                              "description" : "Specifies the Qemu machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
+                                             "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
                                              "type" : "string"
                                           },
                                           "memory" : {
@@ -9344,7 +9869,7 @@ var pveapi = [
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -9682,7 +10207,7 @@ var pveapi = [
                                              "type" : "string"
                                           },
                                           "scsi[n]" : {
-                                             "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
+                                             "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
@@ -10069,6 +10594,30 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "integer"
                                           },
+                                          "spice_enhancements" : {
+                                             "description" : "Configure additional enhancements for SPICE.",
+                                             "format" : {
+                                                "foldersharing" : {
+                                                   "default" : "0",
+                                                   "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "videostreaming" : {
+                                                   "default" : "off",
+                                                   "description" : "Enable video streaming. Uses compression for detected video streams.",
+                                                   "enum" : [
+                                                      "off",
+                                                      "all",
+                                                      "filter"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "sshkeys" : {
                                              "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
                                              "format" : "urlencoded",
@@ -10097,6 +10646,12 @@ var pveapi = [
                                              "type" : "boolean",
                                              "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
                                           },
+                                          "tags" : {
+                                             "description" : "Tags of the VM. This is only meta information.",
+                                             "format" : "pve-tag-list",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "tdf" : {
                                              "default" : 0,
                                              "description" : "Enable/disable time drift fix.",
@@ -10127,7 +10682,7 @@ var pveapi = [
                                                 },
                                                 "usb3" : {
                                                    "default" : 0,
-                                                   "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
+                                                   "description" : "Specifies whether if given host option is a USB3 device or port.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 }
@@ -10515,6 +11070,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Set virtual machine options (asynchrounous API).",
                                     "method" : "POST",
                                     "name" : "update_vm_async",
@@ -10542,11 +11098,21 @@ var pveapi = [
                                                    "description" : "Run fstrim after cloning/moving a disk.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
+                                                },
+                                                "type" : {
+                                                   "default" : "virtio",
+                                                   "description" : "Select the agent type",
+                                                   "enum" : [
+                                                      "virtio",
+                                                      "isa"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
+                                             "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
                                           },
                                           "arch" : {
                                              "description" : "Virtual processor architecture. Defaults to the host.",
@@ -10564,6 +11130,32 @@ var pveapi = [
                                              "typetext" : "<string>",
                                              "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
                                           },
+                                          "audio0" : {
+                                             "description" : "Configure a audio device, useful in combination with QXL/Spice.",
+                                             "format" : {
+                                                "device" : {
+                                                   "description" : "Configure an audio device.",
+                                                   "enum" : [
+                                                      "ich9-intel-hda",
+                                                      "intel-hda",
+                                                      "AC97"
+                                                   ],
+                                                   "type" : "string"
+                                                },
+                                                "driver" : {
+                                                   "default" : "spice",
+                                                   "description" : "Driver backend for the audio device.",
+                                                   "enum" : [
+                                                      "spice"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
+                                          },
                                           "autostart" : {
                                              "default" : 0,
                                              "description" : "Automatic restart after crash (currently ignored).",
@@ -10667,6 +11259,7 @@ var pveapi = [
                                                       "Broadwell-IBRS",
                                                       "Broadwell-noTSX",
                                                       "Broadwell-noTSX-IBRS",
+                                                      "Cascadelake-Server",
                                                       "Conroe",
                                                       "core2duo",
                                                       "coreduo",
@@ -10679,6 +11272,7 @@ var pveapi = [
                                                       "host",
                                                       "IvyBridge",
                                                       "IvyBridge-IBRS",
+                                                      "KnightsMill",
                                                       "kvm32",
                                                       "kvm64",
                                                       "max",
@@ -10708,10 +11302,10 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "flags" : {
-                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb', 'md-clear'.",
+                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
                                                    "format_description" : "+FLAG[;-FLAG...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -11275,7 +11869,7 @@ var pveapi = [
                                              "description" : "Specifies the Qemu machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
+                                             "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
                                              "type" : "string"
                                           },
                                           "memory" : {
@@ -11521,7 +12115,7 @@ var pveapi = [
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -11869,7 +12463,7 @@ var pveapi = [
                                              "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsi[n]" : {
-                                             "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
+                                             "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
@@ -12268,6 +12862,31 @@ var pveapi = [
                                              "type" : "integer",
                                              "typetext" : "<integer> (1 - N)"
                                           },
+                                          "spice_enhancements" : {
+                                             "description" : "Configure additional enhancements for SPICE.",
+                                             "format" : {
+                                                "foldersharing" : {
+                                                   "default" : "0",
+                                                   "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "videostreaming" : {
+                                                   "default" : "off",
+                                                   "description" : "Enable video streaming. Uses compression for detected video streams.",
+                                                   "enum" : [
+                                                      "off",
+                                                      "all",
+                                                      "filter"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
+                                          },
                                           "sshkeys" : {
                                              "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
                                              "format" : "urlencoded",
@@ -12298,6 +12917,13 @@ var pveapi = [
                                              "typetext" : "<boolean>",
                                              "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
                                           },
+                                          "tags" : {
+                                             "description" : "Tags of the VM. This is only meta information.",
+                                             "format" : "pve-tag-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "tdf" : {
                                              "default" : 0,
                                              "description" : "Enable/disable time drift fix.",
@@ -12331,7 +12957,7 @@ var pveapi = [
                                                 },
                                                 "usb3" : {
                                                    "default" : 0,
-                                                   "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
+                                                   "description" : "Specifies whether if given host option is a USB3 device or port.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 }
@@ -12754,6 +13380,7 @@ var pveapi = [
                                     }
                                  },
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Set virtual machine options (synchrounous API) - You should consider using the POST method instead for any actions involving hotplug or storage allocation.",
                                     "method" : "PUT",
                                     "name" : "update_vm",
@@ -12781,11 +13408,21 @@ var pveapi = [
                                                    "description" : "Run fstrim after cloning/moving a disk.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
+                                                },
+                                                "type" : {
+                                                   "default" : "virtio",
+                                                   "description" : "Select the agent type",
+                                                   "enum" : [
+                                                      "virtio",
+                                                      "isa"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
                                                 }
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
+                                             "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
                                           },
                                           "arch" : {
                                              "description" : "Virtual processor architecture. Defaults to the host.",
@@ -12803,6 +13440,32 @@ var pveapi = [
                                              "typetext" : "<string>",
                                              "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
                                           },
+                                          "audio0" : {
+                                             "description" : "Configure a audio device, useful in combination with QXL/Spice.",
+                                             "format" : {
+                                                "device" : {
+                                                   "description" : "Configure an audio device.",
+                                                   "enum" : [
+                                                      "ich9-intel-hda",
+                                                      "intel-hda",
+                                                      "AC97"
+                                                   ],
+                                                   "type" : "string"
+                                                },
+                                                "driver" : {
+                                                   "default" : "spice",
+                                                   "description" : "Driver backend for the audio device.",
+                                                   "enum" : [
+                                                      "spice"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
+                                          },
                                           "autostart" : {
                                              "default" : 0,
                                              "description" : "Automatic restart after crash (currently ignored).",
@@ -12898,6 +13561,7 @@ var pveapi = [
                                                       "Broadwell-IBRS",
                                                       "Broadwell-noTSX",
                                                       "Broadwell-noTSX-IBRS",
+                                                      "Cascadelake-Server",
                                                       "Conroe",
                                                       "core2duo",
                                                       "coreduo",
@@ -12910,6 +13574,7 @@ var pveapi = [
                                                       "host",
                                                       "IvyBridge",
                                                       "IvyBridge-IBRS",
+                                                      "KnightsMill",
                                                       "kvm32",
                                                       "kvm64",
                                                       "max",
@@ -12939,10 +13604,10 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "flags" : {
-                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb', 'md-clear'.",
+                                                   "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
                                                    "format_description" : "+FLAG[;-FLAG...]",
                                                    "optional" : 1,
-                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
+                                                   "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
                                                    "type" : "string"
                                                 },
                                                 "hidden" : {
@@ -13506,7 +14171,7 @@ var pveapi = [
                                              "description" : "Specifies the Qemu machine type.",
                                              "maxLength" : 40,
                                              "optional" : 1,
-                                             "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
+                                             "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
                                              "type" : "string"
                                           },
                                           "memory" : {
@@ -13752,7 +14417,7 @@ var pveapi = [
                                              ],
                                              "optional" : 1,
                                              "type" : "string",
-                                             "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                                           },
                                           "parallel[n]" : {
                                              "description" : "Map host parallel devices (n is 0 to 2).",
@@ -14100,7 +14765,7 @@ var pveapi = [
                                              "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                                           },
                                           "scsi[n]" : {
-                                             "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
+                                             "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
                                              "format" : {
                                                 "aio" : {
                                                    "description" : "AIO type to use.",
@@ -14499,6 +15164,31 @@ var pveapi = [
                                              "type" : "integer",
                                              "typetext" : "<integer> (1 - N)"
                                           },
+                                          "spice_enhancements" : {
+                                             "description" : "Configure additional enhancements for SPICE.",
+                                             "format" : {
+                                                "foldersharing" : {
+                                                   "default" : "0",
+                                                   "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                },
+                                                "videostreaming" : {
+                                                   "default" : "off",
+                                                   "description" : "Enable video streaming. Uses compression for detected video streams.",
+                                                   "enum" : [
+                                                      "off",
+                                                      "all",
+                                                      "filter"
+                                                   ],
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                }
+                                             },
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
+                                          },
                                           "sshkeys" : {
                                              "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
                                              "format" : "urlencoded",
@@ -14529,6 +15219,13 @@ var pveapi = [
                                              "typetext" : "<boolean>",
                                              "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
                                           },
+                                          "tags" : {
+                                             "description" : "Tags of the VM. This is only meta information.",
+                                             "format" : "pve-tag-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "tdf" : {
                                              "default" : 0,
                                              "description" : "Enable/disable time drift fix.",
@@ -14562,7 +15259,7 @@ var pveapi = [
                                                 },
                                                 "usb3" : {
                                                    "default" : 0,
-                                                   "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
+                                                   "description" : "Specifies whether if given host option is a USB3 device or port.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 }
@@ -14991,7 +15688,8 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
-                                    "description" : "Get virtual machine configuration, including pending changes.",
+                                    "allowtoken" : 1,
+                                    "description" : "Get the virtual machine configuration with both current and pending values.",
                                     "method" : "GET",
                                     "name" : "vm_pending",
                                     "parameters" : {
@@ -15060,6 +15758,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Unlink/delete disk images.",
                                     "method" : "PUT",
                                     "name" : "unlink",
@@ -15116,6 +15815,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Creates a TCP VNC proxy connections.",
                                     "method" : "POST",
                                     "name" : "vncproxy",
@@ -15182,6 +15882,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Creates a TCP proxy connections.",
                                     "method" : "POST",
                                     "name" : "termproxy",
@@ -15250,6 +15951,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Opens a weksocket for VNC traffic.",
                                     "method" : "GET",
                                     "name" : "vncwebsocket",
@@ -15311,6 +16013,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Returns a SPICE configuration to connect to the VM.",
                                     "method" : "POST",
                                     "name" : "spiceproxy",
@@ -15382,6 +16085,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Get virtual machine status.",
                                           "method" : "GET",
                                           "name" : "vm_status",
@@ -15475,6 +16179,11 @@ var pveapi = [
                                                    ],
                                                    "type" : "string"
                                                 },
+                                                "tags" : {
+                                                   "description" : "The current configured tags, if any",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "uptime" : {
                                                    "description" : "Uptime.",
                                                    "optional" : 1,
@@ -15499,6 +16208,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Start virtual machine.",
                                           "method" : "POST",
                                           "name" : "vm_start",
@@ -15509,7 +16219,7 @@ var pveapi = [
                                                    "description" : "Specifies the Qemu machine type.",
                                                    "maxLength" : 40,
                                                    "optional" : 1,
-                                                   "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
+                                                   "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
                                                    "type" : "string"
                                                 },
                                                 "migratedfrom" : {
@@ -15560,6 +16270,14 @@ var pveapi = [
                                                    "type" : "string",
                                                    "typetext" : "<string>"
                                                 },
+                                                "timeout" : {
+                                                   "default" : "max(30, vm memory in GiB)",
+                                                   "description" : "Wait maximal timeout seconds.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
                                                 "vmid" : {
                                                    "description" : "The (unique) ID of the VM.",
                                                    "format" : "pve-vmid",
@@ -15592,6 +16310,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Stop virtual machine. The qemu process will exit immediately. Thisis akin to pulling the power plug of a running computer and may damage the VM data",
                                           "method" : "POST",
                                           "name" : "vm_stop",
@@ -15663,6 +16382,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Reset virtual machine.",
                                           "method" : "POST",
                                           "name" : "vm_reset",
@@ -15713,6 +16433,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Shutdown virtual machine. This is similar to pressing the power button on a physical machine.This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.",
                                           "method" : "POST",
                                           "name" : "vm_shutdown",
@@ -15784,6 +16505,59 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Reboot the VM by shutting it down, and starting it again. Applies pending changes.",
+                                          "method" : "POST",
+                                          "name" : "vm_reboot",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "timeout" : {
+                                                   "description" : "Wait maximal timeout seconds for the shutdown.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.PowerMgmt"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "type" : "string"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/qemu/{vmid}/status/reboot",
+                                    "text" : "reboot"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Suspend virtual machine.",
                                           "method" : "POST",
                                           "name" : "vm_suspend",
@@ -15833,7 +16607,8 @@ var pveapi = [
                                                 [
                                                    "VM.PowerMgmt"
                                                 ]
-                                             ]
+                                             ],
+                                             "description" : "You need 'VM.PowerMgmt' on /vms/{vmid}, and if you have set 'todisk', you need also 'VM.Config.Disk' on /vms/{vmid} and 'Datastore.AllocateSpace' on the storage for the vmstate."
                                           },
                                           "protected" : 1,
                                           "proxyto" : "node",
@@ -15849,6 +16624,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Resume virtual machine.",
                                           "method" : "POST",
                                           "name" : "vm_resume",
@@ -15904,6 +16680,7 @@ var pveapi = [
                               ],
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Directory index",
                                     "method" : "GET",
                                     "name" : "vmcmdidx",
@@ -15955,6 +16732,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Send key event to virtual machine.",
                                     "method" : "PUT",
                                     "name" : "vm_sendkey",
@@ -16010,6 +16788,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Check if feature for virtual machine is available.",
                                     "method" : "GET",
                                     "name" : "vm_feature",
@@ -16082,6 +16861,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Create a copy of virtual machine/template.",
                                     "method" : "POST",
                                     "name" : "clone_vm",
@@ -16222,6 +17002,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Move volume to different storage.",
                                     "method" : "POST",
                                     "name" : "move_vm_disk",
@@ -16271,6 +17052,23 @@ var pveapi = [
                                                 "scsi11",
                                                 "scsi12",
                                                 "scsi13",
+                                                "scsi14",
+                                                "scsi15",
+                                                "scsi16",
+                                                "scsi17",
+                                                "scsi18",
+                                                "scsi19",
+                                                "scsi20",
+                                                "scsi21",
+                                                "scsi22",
+                                                "scsi23",
+                                                "scsi24",
+                                                "scsi25",
+                                                "scsi26",
+                                                "scsi27",
+                                                "scsi28",
+                                                "scsi29",
+                                                "scsi30",
                                                 "virtio0",
                                                 "virtio1",
                                                 "virtio2",
@@ -16363,6 +17161,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Get preconditions for migration.",
                                     "method" : "GET",
                                     "name" : "migrate_vm_precondition",
@@ -16405,7 +17204,7 @@ var pveapi = [
                                     "returns" : {
                                        "properties" : {
                                           "allowed_nodes" : {
-                                             "description" : "List nodes allowed for offline migration with same local storage as source node, only passed if VM is offline",
+                                             "description" : "List nodes allowed for offline migration, only passed if VM is offline",
                                              "optional" : 1,
                                              "type" : "array"
                                           },
@@ -16417,6 +17216,11 @@ var pveapi = [
                                              "description" : "List local resources e.g. pci, usb",
                                              "type" : "array"
                                           },
+                                          "not_allowed_nodes" : {
+                                             "description" : "List not allowed nodes with additional informations, only passed if VM is offline",
+                                             "optional" : 1,
+                                             "type" : "object"
+                                          },
                                           "running" : {
                                              "type" : "boolean"
                                           }
@@ -16425,6 +17229,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Migrate virtual machine. Creates a new migration task.",
                                     "method" : "POST",
                                     "name" : "migrate_vm",
@@ -16468,7 +17273,7 @@ var pveapi = [
                                              "typetext" : "<string>"
                                           },
                                           "online" : {
-                                             "description" : "Use online/live migration.",
+                                             "description" : "Use online/live migration if VM is running. Ignored if VM is stopped.",
                                              "optional" : 1,
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
@@ -16525,6 +17330,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Execute Qemu monitor commands.",
                                     "method" : "POST",
                                     "name" : "monitor",
@@ -16575,6 +17381,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Extend volume size.",
                                     "method" : "PUT",
                                     "name" : "resize_vm",
@@ -16609,6 +17416,23 @@ var pveapi = [
                                                 "scsi11",
                                                 "scsi12",
                                                 "scsi13",
+                                                "scsi14",
+                                                "scsi15",
+                                                "scsi16",
+                                                "scsi17",
+                                                "scsi18",
+                                                "scsi19",
+                                                "scsi20",
+                                                "scsi21",
+                                                "scsi22",
+                                                "scsi23",
+                                                "scsi24",
+                                                "scsi25",
+                                                "scsi26",
+                                                "scsi27",
+                                                "scsi28",
+                                                "scsi29",
+                                                "scsi30",
                                                 "virtio0",
                                                 "virtio1",
                                                 "virtio2",
@@ -16688,6 +17512,7 @@ var pveapi = [
                                        {
                                           "info" : {
                                              "GET" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Get snapshot configuration",
                                                 "method" : "GET",
                                                 "name" : "get_snapshot_config",
@@ -16722,7 +17547,8 @@ var pveapi = [
                                                       "/vms/{vmid}",
                                                       [
                                                          "VM.Snapshot",
-                                                         "VM.Snapshot.Rollback"
+                                                         "VM.Snapshot.Rollback",
+                                                         "VM.Audit"
                                                       ],
                                                       "any",
                                                       1
@@ -16734,6 +17560,7 @@ var pveapi = [
                                                 }
                                              },
                                              "PUT" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Update snapshot metadata.",
                                                 "method" : "PUT",
                                                 "name" : "update_snapshot_config",
@@ -16791,6 +17618,7 @@ var pveapi = [
                                        {
                                           "info" : {
                                              "POST" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Rollback VM state to specified snapshot.",
                                                 "method" : "POST",
                                                 "name" : "rollback",
@@ -16846,6 +17674,7 @@ var pveapi = [
                                     ],
                                     "info" : {
                                        "DELETE" : {
+                                          "allowtoken" : 1,
                                           "description" : "Delete a VM snapshot.",
                                           "method" : "DELETE",
                                           "name" : "delsnapshot",
@@ -16897,6 +17726,7 @@ var pveapi = [
                                           }
                                        },
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "",
                                           "method" : "GET",
                                           "name" : "snapshot_cmd_idx",
@@ -16950,6 +17780,7 @@ var pveapi = [
                               ],
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "List all snapshots.",
                                     "method" : "GET",
                                     "name" : "snapshot_list",
@@ -17022,6 +17853,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Snapshot a VM.",
                                     "method" : "POST",
                                     "name" : "snapshot",
@@ -17086,6 +17918,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Create a Template.",
                                     "method" : "POST",
                                     "name" : "template",
@@ -17113,6 +17946,23 @@ var pveapi = [
                                                 "scsi11",
                                                 "scsi12",
                                                 "scsi13",
+                                                "scsi14",
+                                                "scsi15",
+                                                "scsi16",
+                                                "scsi17",
+                                                "scsi18",
+                                                "scsi19",
+                                                "scsi20",
+                                                "scsi21",
+                                                "scsi22",
+                                                "scsi23",
+                                                "scsi24",
+                                                "scsi25",
+                                                "scsi26",
+                                                "scsi27",
+                                                "scsi28",
+                                                "scsi29",
+                                                "scsi30",
                                                 "virtio0",
                                                 "virtio1",
                                                 "virtio2",
@@ -17181,6 +18031,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Get automatically generated cloudinit config.",
                                           "method" : "GET",
                                           "name" : "cloudinit_generated_config_dump",
@@ -17238,6 +18089,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Destroy the vm (also delete all used/owned volumes).",
                               "method" : "DELETE",
                               "name" : "destroy_vm",
@@ -17250,6 +18102,12 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "purge" : {
+                                       "description" : "Remove vmid from backup cron jobs.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "skiplock" : {
                                        "description" : "Ignore locks - only root is allowed to use this option.",
                                        "optional" : 1,
@@ -17281,6 +18139,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Directory index",
                               "method" : "GET",
                               "name" : "vmdiridx",
@@ -17332,6 +18191,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Virtual machine index (per node).",
                         "method" : "GET",
                         "name" : "vmlist",
@@ -17406,6 +18266,11 @@ var pveapi = [
                                     ],
                                     "type" : "string"
                                  },
+                                 "tags" : {
+                                    "description" : "The current configured tags, if any",
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "uptime" : {
                                     "description" : "Uptime.",
                                     "optional" : 1,
@@ -17431,6 +18296,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create or restore a virtual machine.",
                         "method" : "POST",
                         "name" : "create_vm",
@@ -17458,11 +18324,21 @@ var pveapi = [
                                        "description" : "Run fstrim after cloning/moving a disk.",
                                        "optional" : 1,
                                        "type" : "boolean"
+                                    },
+                                    "type" : {
+                                       "default" : "virtio",
+                                       "description" : "Select the agent type",
+                                       "enum" : [
+                                          "virtio",
+                                          "isa"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
                                     }
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>]"
+                                 "typetext" : "[enabled=]<1|0> [,fstrim_cloned_disks=<1|0>] [,type=<virtio|isa>]"
                               },
                               "arch" : {
                                  "description" : "Virtual processor architecture. Defaults to the host.",
@@ -17487,6 +18363,32 @@ var pveapi = [
                                  "typetext" : "<string>",
                                  "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
                               },
+                              "audio0" : {
+                                 "description" : "Configure a audio device, useful in combination with QXL/Spice.",
+                                 "format" : {
+                                    "device" : {
+                                       "description" : "Configure an audio device.",
+                                       "enum" : [
+                                          "ich9-intel-hda",
+                                          "intel-hda",
+                                          "AC97"
+                                       ],
+                                       "type" : "string"
+                                    },
+                                    "driver" : {
+                                       "default" : "spice",
+                                       "description" : "Driver backend for the audio device.",
+                                       "enum" : [
+                                          "spice"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
+                              },
                               "autostart" : {
                                  "default" : 0,
                                  "description" : "Automatic restart after crash (currently ignored).",
@@ -17590,6 +18492,7 @@ var pveapi = [
                                           "Broadwell-IBRS",
                                           "Broadwell-noTSX",
                                           "Broadwell-noTSX-IBRS",
+                                          "Cascadelake-Server",
                                           "Conroe",
                                           "core2duo",
                                           "coreduo",
@@ -17602,6 +18505,7 @@ var pveapi = [
                                           "host",
                                           "IvyBridge",
                                           "IvyBridge-IBRS",
+                                          "KnightsMill",
                                           "kvm32",
                                           "kvm64",
                                           "max",
@@ -17631,10 +18535,10 @@ var pveapi = [
                                        "type" : "string"
                                     },
                                     "flags" : {
-                                       "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb', 'md-clear'.",
+                                       "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: pcid, spec-ctrl, ibpb, ssbd, virt-ssbd, amd-ssbd, amd-no-ssb, pdpe1gb, md-clear, hv-tlbflush, hv-evmcs, aes.",
                                        "format_description" : "+FLAG[;-FLAG...]",
                                        "optional" : 1,
-                                       "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear)))*)",
+                                       "pattern" : "(?^:(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes))(;(?^:[+-](pcid|spec-ctrl|ibpb|ssbd|virt-ssbd|amd-ssbd|amd-no-ssb|pdpe1gb|md-clear|hv-tlbflush|hv-evmcs|aes)))*)",
                                        "type" : "string"
                                     },
                                     "hidden" : {
@@ -18184,7 +19088,7 @@ var pveapi = [
                                  "description" : "Specifies the Qemu machine type.",
                                  "maxLength" : 40,
                                  "optional" : 1,
-                                 "pattern" : "(pc|pc(-i440fx)?-\\d+\\.\\d+(\\.pxe)?|q35|pc-q35-\\d+\\.\\d+(\\.pxe)?|virt(?:-\\d+\\.\\d+)?)",
+                                 "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
                                  "type" : "string"
                               },
                               "memory" : {
@@ -18430,7 +19334,7 @@ var pveapi = [
                                  ],
                                  "optional" : 1,
                                  "type" : "string",
-                                 "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
                               },
                               "parallel[n]" : {
                                  "description" : "Map host parallel devices (n is 0 to 2).",
@@ -18778,7 +19682,7 @@ var pveapi = [
                                  "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
                               },
                               "scsi[n]" : {
-                                 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 13).",
+                                 "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
                                  "format" : {
                                     "aio" : {
                                        "description" : "AIO type to use.",
@@ -19171,6 +20075,31 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (1 - N)"
                               },
+                              "spice_enhancements" : {
+                                 "description" : "Configure additional enhancements for SPICE.",
+                                 "format" : {
+                                    "foldersharing" : {
+                                       "default" : "0",
+                                       "description" : "Enable folder sharing via SPICE. Needs Spice-WebDAV daemon installed in the VM.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "videostreaming" : {
+                                       "default" : "off",
+                                       "description" : "Enable video streaming. Uses compression for detected video streams.",
+                                       "enum" : [
+                                          "off",
+                                          "all",
+                                          "filter"
+                                       ],
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "[foldersharing=<1|0>] [,videostreaming=<off|all|filter>]"
+                              },
                               "sshkeys" : {
                                  "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
                                  "format" : "urlencoded",
@@ -19215,6 +20144,13 @@ var pveapi = [
                                  "typetext" : "<boolean>",
                                  "verbose_description" : "Enable/disable the USB tablet device. This device is usually needed to allow absolute mouse positioning with VNC. Else the mouse runs out of sync with normal VNC clients. If you're running lots of console-only guests on one host, you may consider disabling this to save some context switches. This is turned off by default if you use spice (-vga=qxl)."
                               },
+                              "tags" : {
+                                 "description" : "Tags of the VM. This is only meta information.",
+                                 "format" : "pve-tag-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "tdf" : {
                                  "default" : 0,
                                  "description" : "Enable/disable time drift fix.",
@@ -19255,7 +20191,7 @@ var pveapi = [
                                     },
                                     "usb3" : {
                                        "default" : 0,
-                                       "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
+                                       "description" : "Specifies whether if given host option is a USB3 device or port.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     }
@@ -19675,12 +20611,20 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Get container configuration.",
                                     "method" : "GET",
                                     "name" : "vm_config",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
+                                          "current" : {
+                                             "default" : 0,
+                                             "description" : "Get current values (instead of pending values).",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
                                           "node" : {
                                              "description" : "The cluster node name.",
                                              "format" : "pve-node",
@@ -19827,6 +20771,7 @@ var pveapi = [
                                              "enum" : [
                                                 "backup",
                                                 "create",
+                                                "destroyed",
                                                 "disk",
                                                 "fstrim",
                                                 "migrate",
@@ -19870,6 +20815,13 @@ var pveapi = [
                                                    "type" : "boolean",
                                                    "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
                                                 },
+                                                "mountoptions" : {
+                                                   "description" : "Extra mount options for rootfs/mps.",
+                                                   "format_description" : "opt[;opt...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "type" : "string"
+                                                },
                                                 "mp" : {
                                                    "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
                                                    "format" : "pve-lxc-mp-string",
@@ -20055,6 +21007,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "mountoptions" : {
+                                                   "description" : "Extra mount options for rootfs/mps.",
+                                                   "format_description" : "opt[;opt...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "type" : "string"
+                                                },
                                                 "quota" : {
                                                    "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
                                                    "optional" : 1,
@@ -20116,6 +21075,12 @@ var pveapi = [
                                              "optional" : 1,
                                              "type" : "integer"
                                           },
+                                          "tags" : {
+                                             "description" : "Tags of the Container. This is only meta information.",
+                                             "format" : "pve-tag-list",
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
                                           "template" : {
                                              "default" : 0,
                                              "description" : "Enable/disable Template.",
@@ -20147,6 +21112,7 @@ var pveapi = [
                                     }
                                  },
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Set container options.",
                                     "method" : "PUT",
                                     "name" : "update_vm",
@@ -20282,6 +21248,7 @@ var pveapi = [
                                              "enum" : [
                                                 "backup",
                                                 "create",
+                                                "destroyed",
                                                 "disk",
                                                 "fstrim",
                                                 "migrate",
@@ -20315,6 +21282,13 @@ var pveapi = [
                                                    "type" : "boolean",
                                                    "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
                                                 },
+                                                "mountoptions" : {
+                                                   "description" : "Extra mount options for rootfs/mps.",
+                                                   "format_description" : "opt[;opt...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "type" : "string"
+                                                },
                                                 "mp" : {
                                                    "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
                                                    "format" : "pve-lxc-mp-string",
@@ -20362,7 +21336,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
+                                             "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
                                           },
                                           "nameserver" : {
                                              "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
@@ -20503,6 +21477,13 @@ var pveapi = [
                                              "type" : "boolean",
                                              "typetext" : "<boolean>"
                                           },
+                                          "revert" : {
+                                             "description" : "Revert a pending change.",
+                                             "format" : "pve-configid-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "rootfs" : {
                                              "description" : "Use volume as container root.",
                                              "format" : {
@@ -20511,6 +21492,13 @@ var pveapi = [
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
+                                                "mountoptions" : {
+                                                   "description" : "Extra mount options for rootfs/mps.",
+                                                   "format_description" : "opt[;opt...]",
+                                                   "optional" : 1,
+                                                   "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                                   "type" : "string"
+                                                },
                                                 "quota" : {
                                                    "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
                                                    "optional" : 1,
@@ -20551,7 +21539,7 @@ var pveapi = [
                                              },
                                              "optional" : 1,
                                              "type" : "string",
-                                             "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
+                                             "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
                                           },
                                           "searchdomain" : {
                                              "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
@@ -20575,6 +21563,13 @@ var pveapi = [
                                              "type" : "integer",
                                              "typetext" : "<integer> (0 - N)"
                                           },
+                                          "tags" : {
+                                             "description" : "Tags of the Container. This is only meta information.",
+                                             "format" : "pve-tag-list",
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
                                           "template" : {
                                              "default" : 0,
                                              "description" : "Enable/disable Template.",
@@ -20646,6 +21641,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Get virtual machine status.",
                                           "method" : "GET",
                                           "name" : "vm_status",
@@ -20725,6 +21721,11 @@ var pveapi = [
                                                    ],
                                                    "type" : "string"
                                                 },
+                                                "tags" : {
+                                                   "description" : "The current configured tags, if any.",
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
                                                 "uptime" : {
                                                    "description" : "Uptime.",
                                                    "optional" : 1,
@@ -20749,6 +21750,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Start the container.",
                                           "method" : "POST",
                                           "name" : "vm_start",
@@ -20799,6 +21801,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Stop the container. This will abruptly stop all processes running in the container.",
                                           "method" : "POST",
                                           "name" : "vm_stop",
@@ -20849,6 +21852,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Shutdown the container. This will trigger a clean shutdown of the container, see lxc-stop(1) for details.",
                                           "method" : "POST",
                                           "name" : "vm_shutdown",
@@ -20908,6 +21912,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Suspend the container.",
                                           "method" : "POST",
                                           "name" : "vm_suspend",
@@ -20952,6 +21957,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Resume the container.",
                                           "method" : "POST",
                                           "name" : "vm_resume",
@@ -20992,10 +21998,63 @@ var pveapi = [
                                     "leaf" : 1,
                                     "path" : "/nodes/{node}/lxc/{vmid}/status/resume",
                                     "text" : "resume"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Reboot the container by shutting it down, and starting it again. Applies pending changes.",
+                                          "method" : "POST",
+                                          "name" : "vm_reboot",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "timeout" : {
+                                                   "description" : "Wait maximal timeout seconds for the shutdown.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (0 - N)"
+                                                },
+                                                "vmid" : {
+                                                   "description" : "The (unique) ID of the VM.",
+                                                   "format" : "pve-vmid",
+                                                   "minimum" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - N)"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/vms/{vmid}",
+                                                [
+                                                   "VM.PowerMgmt"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "type" : "string"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/lxc/{vmid}/status/reboot",
+                                    "text" : "reboot"
                                  }
                               ],
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Directory index",
                                     "method" : "GET",
                                     "name" : "vmcmdidx",
@@ -21051,6 +22110,7 @@ var pveapi = [
                                        {
                                           "info" : {
                                              "POST" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Rollback LXC state to specified snapshot.",
                                                 "method" : "POST",
                                                 "name" : "rollback",
@@ -21106,6 +22166,7 @@ var pveapi = [
                                        {
                                           "info" : {
                                              "GET" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Get snapshot configuration",
                                                 "method" : "GET",
                                                 "name" : "get_snapshot_config",
@@ -21152,6 +22213,7 @@ var pveapi = [
                                                 }
                                              },
                                              "PUT" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Update snapshot metadata.",
                                                 "method" : "PUT",
                                                 "name" : "update_snapshot_config",
@@ -21209,6 +22271,7 @@ var pveapi = [
                                     ],
                                     "info" : {
                                        "DELETE" : {
+                                          "allowtoken" : 1,
                                           "description" : "Delete a LXC snapshot.",
                                           "method" : "DELETE",
                                           "name" : "delsnapshot",
@@ -21260,6 +22323,7 @@ var pveapi = [
                                           }
                                        },
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "",
                                           "method" : "GET",
                                           "name" : "snapshot_cmd_idx",
@@ -21313,6 +22377,7 @@ var pveapi = [
                               ],
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "List all snapshots.",
                                     "method" : "GET",
                                     "name" : "list",
@@ -21380,6 +22445,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Snapshot a container.",
                                     "method" : "POST",
                                     "name" : "snapshot",
@@ -21442,6 +22508,7 @@ var pveapi = [
                                        {
                                           "info" : {
                                              "DELETE" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Delete rule.",
                                                 "method" : "DELETE",
                                                 "name" : "delete_rule",
@@ -21493,6 +22560,7 @@ var pveapi = [
                                                 }
                                              },
                                              "GET" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Get single rule data.",
                                                 "method" : "GET",
                                                 "name" : "get_rule",
@@ -21603,6 +22671,7 @@ var pveapi = [
                                                 }
                                              },
                                              "PUT" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Modify rule data.",
                                                 "method" : "PUT",
                                                 "name" : "update_rule",
@@ -21773,6 +22842,7 @@ var pveapi = [
                                     ],
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "List rules.",
                                           "method" : "GET",
                                           "name" : "get_rules",
@@ -21823,6 +22893,7 @@ var pveapi = [
                                           }
                                        },
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Create new rule.",
                                           "method" : "POST",
                                           "name" : "create_rule",
@@ -21981,6 +23052,7 @@ var pveapi = [
                                        {
                                           "info" : {
                                              "DELETE" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Remove IP or Network alias.",
                                                 "method" : "DELETE",
                                                 "name" : "remove_alias",
@@ -22031,6 +23103,7 @@ var pveapi = [
                                                 }
                                              },
                                              "GET" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Read alias.",
                                                 "method" : "GET",
                                                 "name" : "read_alias",
@@ -22073,6 +23146,7 @@ var pveapi = [
                                                 }
                                              },
                                              "PUT" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Update IP or Network alias.",
                                                 "method" : "PUT",
                                                 "name" : "update_alias",
@@ -22149,6 +23223,7 @@ var pveapi = [
                                     ],
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "List aliases",
                                           "method" : "GET",
                                           "name" : "get_aliases",
@@ -22211,6 +23286,7 @@ var pveapi = [
                                           }
                                        },
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Create IP or Network Alias.",
                                           "method" : "POST",
                                           "name" : "create_alias",
@@ -22276,6 +23352,7 @@ var pveapi = [
                                              {
                                                 "info" : {
                                                    "DELETE" : {
+                                                      "allowtoken" : 1,
                                                       "description" : "Remove IP or Network from IPSet.",
                                                       "method" : "DELETE",
                                                       "name" : "remove_ip",
@@ -22332,6 +23409,7 @@ var pveapi = [
                                                       }
                                                    },
                                                    "GET" : {
+                                                      "allowtoken" : 1,
                                                       "description" : "Read IP or Network settings from IPSet.",
                                                       "method" : "GET",
                                                       "name" : "read_ip",
@@ -22381,6 +23459,7 @@ var pveapi = [
                                                       }
                                                    },
                                                    "PUT" : {
+                                                      "allowtoken" : 1,
                                                       "description" : "Update IP or Network settings",
                                                       "method" : "PUT",
                                                       "name" : "update_ip",
@@ -22454,6 +23533,7 @@ var pveapi = [
                                           ],
                                           "info" : {
                                              "DELETE" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Delete IPSet",
                                                 "method" : "DELETE",
                                                 "name" : "delete_ipset",
@@ -22497,6 +23577,7 @@ var pveapi = [
                                                 }
                                              },
                                              "GET" : {
+                                                "allowtoken" : 1,
                                                 "description" : "List IPSet content",
                                                 "method" : "GET",
                                                 "name" : "get_ipset",
@@ -22567,6 +23648,7 @@ var pveapi = [
                                                 }
                                              },
                                              "POST" : {
+                                                "allowtoken" : 1,
                                                 "description" : "Add IP or Network to IPSet.",
                                                 "method" : "POST",
                                                 "name" : "create_ip",
@@ -22633,6 +23715,7 @@ var pveapi = [
                                     ],
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "List IPSets",
                                           "method" : "GET",
                                           "name" : "ipset_index",
@@ -22696,6 +23779,7 @@ var pveapi = [
                                           }
                                        },
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Create new IPSet",
                                           "method" : "POST",
                                           "name" : "create_ipset",
@@ -22766,6 +23850,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Get VM firewall options.",
                                           "method" : "GET",
                                           "name" : "get_options",
@@ -22800,11 +23885,13 @@ var pveapi = [
                                           "returns" : {
                                              "properties" : {
                                                 "dhcp" : {
+                                                   "default" : 0,
                                                    "description" : "Enable DHCP.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "enable" : {
+                                                   "default" : 0,
                                                    "description" : "Enable/disable firewall rules.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
@@ -22847,12 +23934,14 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "macfilter" : {
+                                                   "default" : 0,
                                                    "description" : "Enable/disable MAC address filter.",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
                                                 "ndp" : {
-                                                   "description" : "Enable NDP.",
+                                                   "default" : 0,
+                                                   "description" : "Enable NDP (Neighbor Discovery Protocol).",
                                                    "optional" : 1,
                                                    "type" : "boolean"
                                                 },
@@ -22886,6 +23975,7 @@ var pveapi = [
                                           }
                                        },
                                        "PUT" : {
+                                          "allowtoken" : 1,
                                           "description" : "Set Firewall options.",
                                           "method" : "PUT",
                                           "name" : "set_options",
@@ -22900,6 +23990,7 @@ var pveapi = [
                                                    "typetext" : "<string>"
                                                 },
                                                 "dhcp" : {
+                                                   "default" : 0,
                                                    "description" : "Enable DHCP.",
                                                    "optional" : 1,
                                                    "type" : "boolean",
@@ -22913,6 +24004,7 @@ var pveapi = [
                                                    "typetext" : "<string>"
                                                 },
                                                 "enable" : {
+                                                   "default" : 0,
                                                    "description" : "Enable/disable firewall rules.",
                                                    "optional" : 1,
                                                    "type" : "boolean",
@@ -22957,13 +24049,15 @@ var pveapi = [
                                                    "type" : "string"
                                                 },
                                                 "macfilter" : {
+                                                   "default" : 0,
                                                    "description" : "Enable/disable MAC address filter.",
                                                    "optional" : 1,
                                                    "type" : "boolean",
                                                    "typetext" : "<boolean>"
                                                 },
                                                 "ndp" : {
-                                                   "description" : "Enable NDP.",
+                                                   "default" : 0,
+                                                   "description" : "Enable NDP (Neighbor Discovery Protocol).",
                                                    "optional" : 1,
                                                    "type" : "boolean",
                                                    "typetext" : "<boolean>"
@@ -23032,6 +24126,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Read firewall log",
                                           "method" : "GET",
                                           "name" : "log",
@@ -23101,6 +24196,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
                                           "method" : "GET",
                                           "name" : "refs",
@@ -23171,6 +24267,7 @@ var pveapi = [
                               ],
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Directory index.",
                                     "method" : "GET",
                                     "name" : "index",
@@ -23217,6 +24314,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read VM RRD statistics (returns PNG)",
                                     "method" : "GET",
                                     "name" : "rrd",
@@ -23291,6 +24389,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read VM RRD statistics",
                                     "method" : "GET",
                                     "name" : "rrddata",
@@ -23358,6 +24457,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Creates a TCP VNC proxy connections.",
                                     "method" : "POST",
                                     "name" : "vncproxy",
@@ -23440,6 +24540,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Creates a TCP proxy connection.",
                                     "method" : "POST",
                                     "name" : "termproxy",
@@ -23497,6 +24598,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Opens a weksocket for VNC traffic.",
                                     "method" : "GET",
                                     "name" : "vncwebsocket",
@@ -23558,6 +24660,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Returns a SPICE configuration to connect to the CT.",
                                     "method" : "POST",
                                     "name" : "spiceproxy",
@@ -23627,6 +24730,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Migrate the container to another node. Creates a new migration task.",
                                     "method" : "POST",
                                     "name" : "migrate_vm",
@@ -23711,6 +24815,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Check if feature for virtual machine is available.",
                                     "method" : "GET",
                                     "name" : "vm_feature",
@@ -23777,6 +24882,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Create a Template.",
                                     "method" : "POST",
                                     "name" : "template",
@@ -23822,6 +24928,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Create a container clone/copy",
                                     "method" : "POST",
                                     "name" : "clone_vm",
@@ -23952,6 +25059,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Resize a container mount point.",
                                     "method" : "PUT",
                                     "name" : "resize_vm",
@@ -24274,6 +25382,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Move a rootfs-/mp-volume to a different storage",
                                     "method" : "POST",
                                     "name" : "move_volume",
@@ -24616,10 +25725,81 @@ var pveapi = [
                               "leaf" : 1,
                               "path" : "/nodes/{node}/lxc/{vmid}/move_volume",
                               "text" : "move_volume"
+                           },
+                           {
+                              "info" : {
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Get container configuration, including pending changes.",
+                                    "method" : "GET",
+                                    "name" : "vm_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" : {
+                                             "delete" : {
+                                                "description" : "Indicates a pending delete request if present and not 0.",
+                                                "maximum" : 2,
+                                                "minimum" : 0,
+                                                "optional" : 1,
+                                                "type" : "integer"
+                                             },
+                                             "key" : {
+                                                "description" : "Configuration option name.",
+                                                "type" : "string"
+                                             },
+                                             "pending" : {
+                                                "description" : "Pending value.",
+                                                "optional" : 1,
+                                                "type" : "string"
+                                             },
+                                             "value" : {
+                                                "description" : "Current value.",
+                                                "optional" : 1,
+                                                "type" : "string"
+                                             }
+                                          },
+                                          "type" : "object"
+                                       },
+                                       "type" : "array"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/nodes/{node}/lxc/{vmid}/pending",
+                              "text" : "pending"
                            }
                         ],
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Destroy the container (also delete all uses files).",
                               "method" : "DELETE",
                               "name" : "destroy_vm",
@@ -24632,6 +25812,12 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "purge" : {
+                                       "description" : "Remove vmid from backup cron jobs.",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
                                     "vmid" : {
                                        "description" : "The (unique) ID of the VM.",
                                        "format" : "pve-vmid",
@@ -24657,6 +25843,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Directory index",
                               "method" : "GET",
                               "name" : "vmdiridx",
@@ -24708,6 +25895,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "LXC container index (per node).",
                         "method" : "GET",
                         "name" : "vmlist",
@@ -24772,6 +25960,11 @@ var pveapi = [
                                     ],
                                     "type" : "string"
                                  },
+                                 "tags" : {
+                                    "description" : "The current configured tags, if any.",
+                                    "optional" : 1,
+                                    "type" : "string"
+                                 },
                                  "uptime" : {
                                     "description" : "Uptime.",
                                     "optional" : 1,
@@ -24797,6 +25990,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create or restore a container.",
                         "method" : "POST",
                         "name" : "create_vm",
@@ -24938,6 +26132,7 @@ var pveapi = [
                                  "enum" : [
                                     "backup",
                                     "create",
+                                    "destroyed",
                                     "disk",
                                     "fstrim",
                                     "migrate",
@@ -24971,6 +26166,13 @@ var pveapi = [
                                        "type" : "boolean",
                                        "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
                                     },
+                                    "mountoptions" : {
+                                       "description" : "Extra mount options for rootfs/mps.",
+                                       "format_description" : "opt[;opt...]",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                       "type" : "string"
+                                    },
                                     "mp" : {
                                        "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
                                        "format" : "pve-lxc-mp-string",
@@ -25018,7 +26220,7 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
+                                 "typetext" : "[volume=]<volume> ,mp=<Path> [,acl=<1|0>] [,backup=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
                               },
                               "nameserver" : {
                                  "description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
@@ -25193,6 +26395,13 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "mountoptions" : {
+                                       "description" : "Extra mount options for rootfs/mps.",
+                                       "format_description" : "opt[;opt...]",
+                                       "optional" : 1,
+                                       "pattern" : "(?^:(?^:(noatime|nodev|nosuid|noexec))(;(?^:(noatime|nodev|nosuid|noexec)))*)",
+                                       "type" : "string"
+                                    },
                                     "quota" : {
                                        "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
                                        "optional" : 1,
@@ -25233,7 +26442,7 @@ var pveapi = [
                                  },
                                  "optional" : 1,
                                  "type" : "string",
-                                 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
+                                 "typetext" : "[volume=]<volume> [,acl=<1|0>] [,mountoptions=<opt[;opt...]>] [,quota=<1|0>] [,replicate=<1|0>] [,ro=<1|0>] [,shared=<1|0>] [,size=<DiskSize>]"
                               },
                               "searchdomain" : {
                                  "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
@@ -25278,6 +26487,13 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer> (0 - N)"
                               },
+                              "tags" : {
+                                 "description" : "Tags of the Container. This is only meta information.",
+                                 "format" : "pve-tag-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "template" : {
                                  "default" : 0,
                                  "description" : "Enable/disable Template.",
@@ -25348,6 +26564,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "ceph osd in",
                                           "method" : "POST",
                                           "name" : "in",
@@ -25390,6 +26607,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "ceph osd out",
                                           "method" : "POST",
                                           "name" : "out",
@@ -25428,10 +26646,61 @@ var pveapi = [
                                     "leaf" : 1,
                                     "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
                                     "text" : "out"
+                                 },
+                                 {
+                                    "info" : {
+                                       "POST" : {
+                                          "allowtoken" : 1,
+                                          "description" : "Instruct the OSD to scrub.",
+                                          "method" : "POST",
+                                          "name" : "scrub",
+                                          "parameters" : {
+                                             "additionalProperties" : 0,
+                                             "properties" : {
+                                                "deep" : {
+                                                   "default" : 0,
+                                                   "description" : "If set, instructs a deep scrub instead of a normal one.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean",
+                                                   "typetext" : "<boolean>"
+                                                },
+                                                "node" : {
+                                                   "description" : "The cluster node name.",
+                                                   "format" : "pve-node",
+                                                   "type" : "string",
+                                                   "typetext" : "<string>"
+                                                },
+                                                "osdid" : {
+                                                   "description" : "OSD ID",
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer>"
+                                                }
+                                             }
+                                          },
+                                          "permissions" : {
+                                             "check" : [
+                                                "perm",
+                                                "/",
+                                                [
+                                                   "Sys.Modify"
+                                                ]
+                                             ]
+                                          },
+                                          "protected" : 1,
+                                          "proxyto" : "node",
+                                          "returns" : {
+                                             "type" : "null"
+                                          }
+                                       }
+                                    },
+                                    "leaf" : 1,
+                                    "path" : "/nodes/{node}/ceph/osd/{osdid}/scrub",
+                                    "text" : "scrub"
                                  }
                               ],
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Destroy OSD",
                                     "method" : "DELETE",
                                     "name" : "destroyosd",
@@ -25472,6 +26741,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get Ceph osd list/tree.",
                               "method" : "GET",
                               "name" : "index",
@@ -25505,6 +26775,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Create OSD",
                               "method" : "POST",
                               "name" : "createosd",
@@ -25579,6 +26850,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Destroy Ceph Metadata Server",
                                     "method" : "DELETE",
                                     "name" : "destroymds",
@@ -25614,6 +26886,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Create Ceph Metadata Server (MDS)",
                                     "method" : "POST",
                                     "name" : "createmds",
@@ -25665,6 +26938,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "MDS directory index.",
                               "method" : "GET",
                               "name" : "index",
@@ -25742,6 +27016,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Destroy Ceph Manager.",
                                     "method" : "DELETE",
                                     "name" : "destroymgr",
@@ -25777,6 +27052,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Create Ceph Manager",
                                     "method" : "POST",
                                     "name" : "createmgr",
@@ -25820,6 +27096,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "MGR directory index.",
                               "method" : "GET",
                               "name" : "index",
@@ -25888,6 +27165,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Destroy Ceph Monitor and Manager.",
                                     "method" : "DELETE",
                                     "name" : "destroymon",
@@ -25923,6 +27201,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Create Ceph Monitor and Manager",
                                     "method" : "POST",
                                     "name" : "createmon",
@@ -25973,6 +27252,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get Ceph monitor list.",
                               "method" : "GET",
                               "name" : "listmon",
@@ -26037,6 +27317,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Create a Ceph filesystem",
                                     "method" : "POST",
                                     "name" : "createfs",
@@ -26097,6 +27378,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Directory index.",
                               "method" : "GET",
                               "name" : "index",
@@ -26160,6 +27442,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List local disks.",
                               "method" : "GET",
                               "name" : "disks",
@@ -26242,6 +27525,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get Ceph configuration.",
                               "method" : "GET",
                               "name" : "config",
@@ -26278,9 +27562,74 @@ var pveapi = [
                         "path" : "/nodes/{node}/ceph/config",
                         "text" : "config"
                      },
+                     {
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Get Ceph configuration database.",
+                              "method" : "GET",
+                              "name" : "configdb",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "node" : {
+                                       "description" : "The cluster node name.",
+                                       "format" : "pve-node",
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "perm",
+                                    "/",
+                                    [
+                                       "Sys.Audit",
+                                       "Datastore.Audit"
+                                    ],
+                                    "any",
+                                    1
+                                 ]
+                              },
+                              "protected" : 1,
+                              "proxyto" : "node",
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "can_update_at_runtime" : {
+                                          "type" : "boolean"
+                                       },
+                                       "level" : {
+                                          "type" : "string"
+                                       },
+                                       "mask" : {
+                                          "type" : "string"
+                                       },
+                                       "name" : {
+                                          "type" : "string"
+                                       },
+                                       "section" : {
+                                          "type" : "string"
+                                       },
+                                       "value" : {
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 1,
+                        "path" : "/nodes/{node}/ceph/configdb",
+                        "text" : "configdb"
+                     },
                      {
                         "info" : {
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Create initial ceph default configuration and setup symlinks.",
                               "method" : "POST",
                               "name" : "init",
@@ -26369,6 +27718,7 @@ var pveapi = [
                      {
                         "info" : {
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Stop ceph services.",
                               "method" : "POST",
                               "name" : "stop",
@@ -26413,6 +27763,7 @@ var pveapi = [
                      {
                         "info" : {
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Start ceph services.",
                               "method" : "POST",
                               "name" : "start",
@@ -26457,6 +27808,7 @@ var pveapi = [
                      {
                         "info" : {
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Restart ceph services.",
                               "method" : "POST",
                               "name" : "restart",
@@ -26501,6 +27853,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get ceph status.",
                               "method" : "GET",
                               "name" : "status",
@@ -26543,6 +27896,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Destroy pool",
                                     "method" : "DELETE",
                                     "name" : "destroypool",
@@ -26599,6 +27953,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List all pools.",
                               "method" : "GET",
                               "name" : "lspools",
@@ -26652,6 +28007,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Create POOL",
                               "method" : "POST",
                               "name" : "createpool",
@@ -26745,6 +28101,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Unset a ceph flag",
                                     "method" : "DELETE",
                                     "name" : "unset_flag",
@@ -26752,20 +28109,19 @@ var pveapi = [
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "flag" : {
-                                             "description" : "The ceph flag to set/unset",
+                                             "description" : "The ceph flag to unset",
                                              "enum" : [
-                                                "full",
-                                                "pause",
-                                                "noup",
+                                                "nobackfill",
+                                                "nodeep-scrub",
                                                 "nodown",
-                                                "noout",
                                                 "noin",
-                                                "nobackfill",
+                                                "noout",
                                                 "norebalance",
                                                 "norecover",
                                                 "noscrub",
-                                                "nodeep-scrub",
-                                                "notieragent"
+                                                "notieragent",
+                                                "noup",
+                                                "pause"
                                              ],
                                              "type" : "string"
                                           },
@@ -26793,27 +28149,27 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
-                                    "description" : "Set a ceph flag",
+                                    "allowtoken" : 1,
+                                    "description" : "Set a specific ceph flag",
                                     "method" : "POST",
                                     "name" : "set_flag",
                                     "parameters" : {
                                        "additionalProperties" : 0,
                                        "properties" : {
                                           "flag" : {
-                                             "description" : "The ceph flag to set/unset",
+                                             "description" : "The ceph flag to set",
                                              "enum" : [
-                                                "full",
-                                                "pause",
-                                                "noup",
+                                                "nobackfill",
+                                                "nodeep-scrub",
                                                 "nodown",
-                                                "noout",
                                                 "noin",
-                                                "nobackfill",
+                                                "noout",
                                                 "norebalance",
                                                 "norecover",
                                                 "noscrub",
-                                                "nodeep-scrub",
-                                                "notieragent"
+                                                "notieragent",
+                                                "noup",
+                                                "pause"
                                              ],
                                              "type" : "string"
                                           },
@@ -26848,6 +28204,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "get all set ceph flags",
                               "method" : "GET",
                               "name" : "get_flags",
@@ -26885,6 +28242,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get OSD crush map",
                               "method" : "GET",
                               "name" : "crush",
@@ -26925,6 +28283,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Read ceph log",
                               "method" : "GET",
                               "name" : "log",
@@ -26987,6 +28346,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List ceph rules.",
                               "method" : "GET",
                               "name" : "rules",
@@ -27037,6 +28397,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Directory index.",
                         "method" : "GET",
                         "name" : "index",
@@ -27087,6 +28448,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Extract configuration from vzdump backup archive.",
                               "method" : "GET",
                               "name" : "extractconfig",
@@ -27124,6 +28486,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create backup.",
                         "method" : "POST",
                         "name" : "vzdump",
@@ -27244,6 +28607,12 @@ var pveapi = [
                                  "type" : "integer",
                                  "typetext" : "<integer>"
                               },
+                              "pool" : {
+                                 "description" : "Backup all known guest systems included in the specified pool.",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "quiet" : {
                                  "default" : 0,
                                  "description" : "Be quiet.",
@@ -27344,6 +28713,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read service properties",
                                     "method" : "GET",
                                     "name" : "service_state",
@@ -27403,6 +28773,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Start service.",
                                     "method" : "POST",
                                     "name" : "service_start",
@@ -27462,6 +28833,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Stop service.",
                                     "method" : "POST",
                                     "name" : "service_stop",
@@ -27521,6 +28893,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Restart service.",
                                     "method" : "POST",
                                     "name" : "service_restart",
@@ -27580,6 +28953,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Reload service.",
                                     "method" : "POST",
                                     "name" : "service_reload",
@@ -27639,6 +29013,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Directory index",
                               "method" : "GET",
                               "name" : "srvcmdidx",
@@ -27710,6 +29085,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Service list.",
                         "method" : "GET",
                         "name" : "index",
@@ -27757,6 +29133,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read subscription info.",
                         "method" : "GET",
                         "name" : "get",
@@ -27780,6 +29157,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Update subscription info.",
                         "method" : "POST",
                         "name" : "update",
@@ -27817,6 +29195,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Set subscription key.",
                         "method" : "PUT",
                         "name" : "set",
@@ -27862,6 +29241,7 @@ var pveapi = [
                      {
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Delete network device configuration",
                               "method" : "DELETE",
                               "name" : "delete_network",
@@ -27900,6 +29280,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Read network device configuration",
                               "method" : "GET",
                               "name" : "network_config",
@@ -27945,6 +29326,7 @@ var pveapi = [
                               }
                            },
                            "PUT" : {
+                              "allowtoken" : 1,
                               "description" : "Update network device configuration",
                               "method" : "PUT",
                               "name" : "update_network",
@@ -27973,6 +29355,13 @@ var pveapi = [
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
                                     },
+                                    "bond-primary" : {
+                                       "description" : "Specify the primary interface for active-backup bond.",
+                                       "format" : "pve-iface",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    },
                                     "bond_mode" : {
                                        "description" : "Bonding mode.",
                                        "enum" : [
@@ -28068,6 +29457,14 @@ var pveapi = [
                                        "type" : "string",
                                        "typetext" : "<string>"
                                     },
+                                    "mtu" : {
+                                       "description" : "MTU.",
+                                       "maximum" : 65520,
+                                       "minimum" : 1280,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1280 - 65520)"
+                                    },
                                     "netmask" : {
                                        "description" : "Network mask.",
                                        "format" : "ipv4mask",
@@ -28149,6 +29546,21 @@ var pveapi = [
                                           "unknown"
                                        ],
                                        "type" : "string"
+                                    },
+                                    "vlan-id" : {
+                                       "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
+                                       "maximum" : 4094,
+                                       "minimum" : 1,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (1 - 4094)"
+                                    },
+                                    "vlan-raw-device" : {
+                                       "description" : "Specify the raw interface for the vlan interface.",
+                                       "format" : "pve-iface",
+                                       "optional" : 1,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
                                     }
                                  }
                               },
@@ -28175,6 +29587,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "DELETE" : {
+                        "allowtoken" : 1,
                         "description" : "Revert network configuration changes.",
                         "method" : "DELETE",
                         "name" : "revert_network_changes",
@@ -28205,6 +29618,7 @@ var pveapi = [
                         }
                      },
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "List available networks",
                         "method" : "GET",
                         "name" : "index",
@@ -28255,6 +29669,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Create network device configuration",
                         "method" : "POST",
                         "name" : "create_network",
@@ -28283,6 +29698,13 @@ var pveapi = [
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
+                              "bond-primary" : {
+                                 "description" : "Specify the primary interface for active-backup bond.",
+                                 "format" : "pve-iface",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
                               "bond_mode" : {
                                  "description" : "Bonding mode.",
                                  "enum" : [
@@ -28371,6 +29793,14 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "mtu" : {
+                                 "description" : "MTU.",
+                                 "maximum" : 65520,
+                                 "minimum" : 1280,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1280 - 65520)"
+                              },
                               "netmask" : {
                                  "description" : "Network mask.",
                                  "format" : "ipv4mask",
@@ -28452,6 +29882,21 @@ var pveapi = [
                                     "unknown"
                                  ],
                                  "type" : "string"
+                              },
+                              "vlan-id" : {
+                                 "description" : "vlan-id for a custom named vlan interface (ifupdown2 only).",
+                                 "maximum" : 4094,
+                                 "minimum" : 1,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (1 - 4094)"
+                              },
+                              "vlan-raw-device" : {
+                                 "description" : "Specify the raw interface for the vlan interface.",
+                                 "format" : "pve-iface",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
                               }
                            }
                         },
@@ -28471,6 +29916,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Reload network configuration",
                         "method" : "PUT",
                         "name" : "reload_network_config",
@@ -28512,6 +29958,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read task log.",
                                     "method" : "GET",
                                     "name" : "read_task_log",
@@ -28575,6 +30022,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read task status.",
                                     "method" : "GET",
                                     "name" : "read_task_status",
@@ -28623,6 +30071,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "Stop a task.",
                               "method" : "DELETE",
                               "name" : "stop_task",
@@ -28652,6 +30101,7 @@ var pveapi = [
                               }
                            },
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "",
                               "method" : "GET",
                               "name" : "upid_index",
@@ -28695,6 +30145,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read task list for one node (finished tasks).",
                         "method" : "GET",
                         "name" : "node_tasks",
@@ -28833,6 +30284,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Scan zfs pool list on local node.",
                               "method" : "GET",
                               "name" : "zfsscan",
@@ -28879,6 +30331,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Scan remote NFS server.",
                               "method" : "GET",
                               "name" : "nfsscan",
@@ -28935,6 +30388,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Scan remote CIFS server.",
                               "method" : "GET",
                               "name" : "cifsscan",
@@ -29009,6 +30463,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Scan remote GlusterFS server.",
                               "method" : "GET",
                               "name" : "glusterfsscan",
@@ -29061,6 +30516,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Scan remote iSCSI server.",
                               "method" : "GET",
                               "name" : "iscsiscan",
@@ -29117,6 +30573,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List local LVM volume groups.",
                               "method" : "GET",
                               "name" : "lvmscan",
@@ -29163,6 +30620,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List local LVM Thin Pools.",
                               "method" : "GET",
                               "name" : "lvmthinscan",
@@ -29214,6 +30672,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List local USB devices.",
                               "method" : "GET",
                               "name" : "usbscan",
@@ -29296,6 +30755,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Index of available scan methods",
                         "method" : "GET",
                         "name" : "index",
@@ -29345,6 +30805,7 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "List mediated device types for given PCI device.",
                                           "method" : "GET",
                                           "name" : "mdevscan",
@@ -29403,6 +30864,7 @@ var pveapi = [
                               ],
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Index of available pci methods",
                                     "method" : "GET",
                                     "name" : "pciindex",
@@ -29450,6 +30912,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List local PCI devices.",
                               "method" : "GET",
                               "name" : "pciscan",
@@ -29564,6 +31027,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Index of hardware types",
                         "method" : "GET",
                         "name" : "index",
@@ -29613,12 +31077,21 @@ var pveapi = [
                                  {
                                     "info" : {
                                        "DELETE" : {
+                                          "allowtoken" : 1,
                                           "description" : "Delete volume",
                                           "method" : "DELETE",
                                           "name" : "delete",
                                           "parameters" : {
                                              "additionalProperties" : 0,
                                              "properties" : {
+                                                "delay" : {
+                                                   "description" : "Time to wait for the task to finish. We return 'null' if the task finish within that time.",
+                                                   "maximum" : 30,
+                                                   "minimum" : 1,
+                                                   "optional" : 1,
+                                                   "type" : "integer",
+                                                   "typetext" : "<integer> (1 - 30)"
+                                                },
                                                 "node" : {
                                                    "description" : "The cluster node name.",
                                                    "format" : "pve-node",
@@ -29646,10 +31119,12 @@ var pveapi = [
                                           "protected" : 1,
                                           "proxyto" : "node",
                                           "returns" : {
-                                             "type" : "null"
+                                             "optional" : 1,
+                                             "type" : "string"
                                           }
                                        },
                                        "GET" : {
+                                          "allowtoken" : 1,
                                           "description" : "Get volume attributes",
                                           "method" : "GET",
                                           "name" : "info",
@@ -29687,6 +31162,7 @@ var pveapi = [
                                           }
                                        },
                                        "POST" : {
+                                          "allowtoken" : 1,
                                           "description" : "Copy a volume. This is experimental code - do not use.",
                                           "method" : "POST",
                                           "name" : "copy",
@@ -29739,6 +31215,7 @@ var pveapi = [
                               ],
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "List storage content.",
                                     "method" : "GET",
                                     "name" : "index",
@@ -29833,6 +31310,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Allocate disk images.",
                                     "method" : "POST",
                                     "name" : "create",
@@ -29904,6 +31382,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read storage status.",
                                     "method" : "GET",
                                     "name" : "read_status",
@@ -29950,6 +31429,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read storage RRD statistics (returns PNG).",
                                     "method" : "GET",
                                     "name" : "rrd",
@@ -30027,6 +31507,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read storage RRD statistics.",
                                     "method" : "GET",
                                     "name" : "rrddata",
@@ -30097,6 +31578,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Upload templates and ISO images.",
                                     "method" : "POST",
                                     "name" : "upload",
@@ -30156,6 +31638,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "",
                               "method" : "GET",
                               "name" : "diridx",
@@ -30214,6 +31697,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get status for all datastores.",
                         "method" : "GET",
                         "name" : "index",
@@ -30347,6 +31831,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List LVM Volume Groups",
                               "method" : "GET",
                               "name" : "index",
@@ -30433,6 +31918,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Create an LVM Volume Group",
                               "method" : "POST",
                               "name" : "create",
@@ -30489,6 +31975,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List LVM thinpools",
                               "method" : "GET",
                               "name" : "index",
@@ -30547,6 +32034,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Create an LVM thinpool",
                               "method" : "POST",
                               "name" : "create",
@@ -30603,6 +32091,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "PVE Managed Directory storages.",
                               "method" : "GET",
                               "name" : "index",
@@ -30661,6 +32150,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Create a Filesystem on an unused disk. Will be mounted under '/mnt/pve/NAME'.",
                               "method" : "POST",
                               "name" : "create",
@@ -30729,6 +32219,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Get details about a zpool.",
                                     "method" : "GET",
                                     "name" : "detail",
@@ -30837,6 +32328,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List Zpools.",
                               "method" : "GET",
                               "name" : "index",
@@ -30909,6 +32401,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Create a ZFS pool.",
                               "method" : "POST",
                               "name" : "create",
@@ -31001,6 +32494,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List local disks.",
                               "method" : "GET",
                               "name" : "list",
@@ -31099,6 +32593,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get SMART Health of a disk.",
                               "method" : "GET",
                               "name" : "smart",
@@ -31167,6 +32662,7 @@ var pveapi = [
                      {
                         "info" : {
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Initialize Disk with GPT",
                               "method" : "POST",
                               "name" : "initgpt",
@@ -31216,6 +32712,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Node index.",
                         "method" : "GET",
                         "name" : "index",
@@ -31258,6 +32755,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List available updates.",
                               "method" : "GET",
                               "name" : "list_updates",
@@ -31292,6 +32790,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "This is used to resynchronize the package index files from their sources (apt-get update).",
                               "method" : "POST",
                               "name" : "update_database",
@@ -31343,6 +32842,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get package changelogs.",
                               "method" : "GET",
                               "name" : "changelog",
@@ -31390,6 +32890,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get package information for important Proxmox packages.",
                               "method" : "GET",
                               "name" : "versions",
@@ -31430,6 +32931,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Directory index for apt (Advanced Package Tool).",
                         "method" : "GET",
                         "name" : "index",
@@ -31477,6 +32979,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Delete rule.",
                                     "method" : "DELETE",
                                     "name" : "delete_rule",
@@ -31521,6 +33024,7 @@ var pveapi = [
                                     }
                                  },
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Get single rule data.",
                                     "method" : "GET",
                                     "name" : "get_rule",
@@ -31624,6 +33128,7 @@ var pveapi = [
                                     }
                                  },
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Modify rule data.",
                                     "method" : "PUT",
                                     "name" : "update_rule",
@@ -31787,6 +33292,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "List rules.",
                               "method" : "GET",
                               "name" : "get_rules",
@@ -31830,6 +33336,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Create new rule.",
                               "method" : "POST",
                               "name" : "create_rule",
@@ -31979,6 +33486,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get host firewall options.",
                               "method" : "GET",
                               "name" : "get_options",
@@ -32049,7 +33557,8 @@ var pveapi = [
                                        "type" : "boolean"
                                     },
                                     "ndp" : {
-                                       "description" : "Enable NDP.",
+                                       "default" : 0,
+                                       "description" : "Enable NDP (Neighbor Discovery Protocol).",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
@@ -32060,22 +33569,50 @@ var pveapi = [
                                        "type" : "boolean"
                                     },
                                     "nf_conntrack_max" : {
+                                       "default" : 262144,
                                        "description" : "Maximum number of tracked connections.",
                                        "minimum" : 32768,
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
                                     "nf_conntrack_tcp_timeout_established" : {
+                                       "default" : 432000,
                                        "description" : "Conntrack established timeout.",
                                        "minimum" : 7875,
                                        "optional" : 1,
                                        "type" : "integer"
                                     },
+                                    "nf_conntrack_tcp_timeout_syn_recv" : {
+                                       "default" : 60,
+                                       "description" : "Conntrack syn recv timeout.",
+                                       "maximum" : 60,
+                                       "minimum" : 30,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "nosmurfs" : {
                                        "description" : "Enable SMURFS filter.",
                                        "optional" : 1,
                                        "type" : "boolean"
                                     },
+                                    "protection_synflood" : {
+                                       "default" : 0,
+                                       "description" : "Enable synflood protection",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "protection_synflood_burst" : {
+                                       "default" : 1000,
+                                       "description" : "Synflood protection rate burst by ip src.",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "protection_synflood_rate" : {
+                                       "default" : 200,
+                                       "description" : "Synflood protection rate syn/sec by ip src.",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
                                     "smurf_log_level" : {
                                        "description" : "Log level for SMURFS filter.",
                                        "enum" : [
@@ -32109,6 +33646,7 @@ var pveapi = [
                                        "type" : "string"
                                     },
                                     "tcpflags" : {
+                                       "default" : 0,
                                        "description" : "Filter illegal combinations of TCP flags.",
                                        "optional" : 1,
                                        "type" : "boolean"
@@ -32118,6 +33656,7 @@ var pveapi = [
                               }
                            },
                            "PUT" : {
+                              "allowtoken" : 1,
                               "description" : "Set Firewall options.",
                               "method" : "PUT",
                               "name" : "set_options",
@@ -32184,7 +33723,8 @@ var pveapi = [
                                        "typetext" : "<boolean>"
                                     },
                                     "ndp" : {
-                                       "description" : "Enable NDP.",
+                                       "default" : 0,
+                                       "description" : "Enable NDP (Neighbor Discovery Protocol).",
                                        "optional" : 1,
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
@@ -32197,6 +33737,7 @@ var pveapi = [
                                        "typetext" : "<boolean>"
                                     },
                                     "nf_conntrack_max" : {
+                                       "default" : 262144,
                                        "description" : "Maximum number of tracked connections.",
                                        "minimum" : 32768,
                                        "optional" : 1,
@@ -32204,12 +33745,22 @@ var pveapi = [
                                        "typetext" : "<integer> (32768 - N)"
                                     },
                                     "nf_conntrack_tcp_timeout_established" : {
+                                       "default" : 432000,
                                        "description" : "Conntrack established timeout.",
                                        "minimum" : 7875,
                                        "optional" : 1,
                                        "type" : "integer",
                                        "typetext" : "<integer> (7875 - N)"
                                     },
+                                    "nf_conntrack_tcp_timeout_syn_recv" : {
+                                       "default" : 60,
+                                       "description" : "Conntrack syn recv timeout.",
+                                       "maximum" : 60,
+                                       "minimum" : 30,
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer> (30 - 60)"
+                                    },
                                     "node" : {
                                        "description" : "The cluster node name.",
                                        "format" : "pve-node",
@@ -32222,6 +33773,27 @@ var pveapi = [
                                        "type" : "boolean",
                                        "typetext" : "<boolean>"
                                     },
+                                    "protection_synflood" : {
+                                       "default" : 0,
+                                       "description" : "Enable synflood protection",
+                                       "optional" : 1,
+                                       "type" : "boolean",
+                                       "typetext" : "<boolean>"
+                                    },
+                                    "protection_synflood_burst" : {
+                                       "default" : 1000,
+                                       "description" : "Synflood protection rate burst by ip src.",
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer>"
+                                    },
+                                    "protection_synflood_rate" : {
+                                       "default" : 200,
+                                       "description" : "Synflood protection rate syn/sec by ip src.",
+                                       "optional" : 1,
+                                       "type" : "integer",
+                                       "typetext" : "<integer>"
+                                    },
                                     "smurf_log_level" : {
                                        "description" : "Log level for SMURFS filter.",
                                        "enum" : [
@@ -32255,6 +33827,7 @@ var pveapi = [
                                        "type" : "string"
                                     },
                                     "tcpflags" : {
+                                       "default" : 0,
                                        "description" : "Filter illegal combinations of TCP flags.",
                                        "optional" : 1,
                                        "type" : "boolean",
@@ -32285,6 +33858,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Read firewall log",
                               "method" : "GET",
                               "name" : "log",
@@ -32347,6 +33921,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Directory index.",
                         "method" : "GET",
                         "name" : "index",
@@ -32390,6 +33965,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Get replication job status.",
                                     "method" : "GET",
                                     "name" : "job_status",
@@ -32428,6 +34004,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "GET" : {
+                                    "allowtoken" : 1,
                                     "description" : "Read replication job log.",
                                     "method" : "GET",
                                     "name" : "read_job_log",
@@ -32491,6 +34068,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Schedule replication job to start as soon as possible.",
                                     "method" : "POST",
                                     "name" : "schedule_now",
@@ -32534,6 +34112,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Directory index.",
                               "method" : "GET",
                               "name" : "index",
@@ -32579,6 +34158,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "List status of all replication jobs on this node.",
                         "method" : "GET",
                         "name" : "status",
@@ -32637,6 +34217,7 @@ var pveapi = [
                            {
                               "info" : {
                                  "DELETE" : {
+                                    "allowtoken" : 1,
                                     "description" : "Revoke existing certificate from CA.",
                                     "method" : "DELETE",
                                     "name" : "revoke_certificate",
@@ -32658,6 +34239,7 @@ var pveapi = [
                                     }
                                  },
                                  "POST" : {
+                                    "allowtoken" : 1,
                                     "description" : "Order a new certificate from ACME-compatible CA.",
                                     "method" : "POST",
                                     "name" : "new_certificate",
@@ -32686,6 +34268,7 @@ var pveapi = [
                                     }
                                  },
                                  "PUT" : {
+                                    "allowtoken" : 1,
                                     "description" : "Renew existing certificate from CA.",
                                     "method" : "PUT",
                                     "name" : "renew_certificate",
@@ -32721,6 +34304,7 @@ var pveapi = [
                         ],
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "ACME index.",
                               "method" : "GET",
                               "name" : "index",
@@ -32760,6 +34344,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get information about node's certificates.",
                               "method" : "GET",
                               "name" : "info",
@@ -32814,6 +34399,16 @@ var pveapi = [
                                           "optional" : 1,
                                           "type" : "string"
                                        },
+                                       "public-key-bits" : {
+                                          "description" : "Certificate's public key size",
+                                          "optional" : 1,
+                                          "type" : "integer"
+                                       },
+                                       "public-key-type" : {
+                                          "description" : "Certificate's public key algorithm",
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
                                        "san" : {
                                           "description" : "List of Certificate's SubjectAlternativeName entries.",
                                           "items" : {
@@ -32842,6 +34437,7 @@ var pveapi = [
                      {
                         "info" : {
                            "DELETE" : {
+                              "allowtoken" : 1,
                               "description" : "DELETE custom certificate chain and key.",
                               "method" : "DELETE",
                               "name" : "remove_custom_cert",
@@ -32870,6 +34466,7 @@ var pveapi = [
                               }
                            },
                            "POST" : {
+                              "allowtoken" : 1,
                               "description" : "Upload or update custom certificate chain and key.",
                               "method" : "POST",
                               "name" : "upload_custom_cert",
@@ -32948,6 +34545,16 @@ var pveapi = [
                                        "optional" : 1,
                                        "type" : "string"
                                     },
+                                    "public-key-bits" : {
+                                       "description" : "Certificate's public key size",
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "public-key-type" : {
+                                       "description" : "Certificate's public key algorithm",
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
                                     "san" : {
                                        "description" : "List of Certificate's SubjectAlternativeName entries.",
                                        "items" : {
@@ -32974,6 +34581,7 @@ var pveapi = [
                   ],
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Node index.",
                         "method" : "GET",
                         "name" : "index",
@@ -33013,6 +34621,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get node configuration options.",
                         "method" : "GET",
                         "name" : "get_config",
@@ -33024,6 +34633,18 @@ var pveapi = [
                                  "format" : "pve-node",
                                  "type" : "string",
                                  "typetext" : "<string>"
+                              },
+                              "property" : {
+                                 "default" : "all",
+                                 "description" : "Return only a specific property from the node configuration.",
+                                 "enum" : [
+                                    "acme",
+                                    "description",
+                                    "startall-onboot-delay",
+                                    "wakeonlan"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
                               }
                            }
                         },
@@ -33042,6 +34663,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Set node configuration options.",
                         "method" : "PUT",
                         "name" : "set_options",
@@ -33096,6 +34718,15 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "startall-onboot-delay" : {
+                                 "default" : 0,
+                                 "description" : "Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.",
+                                 "maximum" : 300,
+                                 "minimum" : 0,
+                                 "optional" : 1,
+                                 "type" : "integer",
+                                 "typetext" : "<integer> (0 - 300)"
+                              },
                               "wakeonlan" : {
                                  "description" : "MAC address for wake on LAN",
                                  "format" : "mac-addr",
@@ -33128,6 +34759,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "API version details",
                         "method" : "GET",
                         "name" : "version",
@@ -33172,6 +34804,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read node status",
                         "method" : "GET",
                         "name" : "status",
@@ -33201,6 +34834,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Reboot or shutdown a node.",
                         "method" : "POST",
                         "name" : "node_cmd",
@@ -33246,6 +34880,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read tap/vm network device interface counters",
                         "method" : "GET",
                         "name" : "netstat",
@@ -33286,6 +34921,7 @@ var pveapi = [
                {
                   "info" : {
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Execute multiple commands in order.",
                         "method" : "POST",
                         "name" : "execute",
@@ -33328,6 +34964,7 @@ var pveapi = [
                {
                   "info" : {
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Try to wake a node via 'wake on LAN' network packet.",
                         "method" : "POST",
                         "name" : "wakeonlan",
@@ -33366,6 +35003,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read node RRD statistics (returns PNG)",
                         "method" : "GET",
                         "name" : "rrd",
@@ -33433,6 +35071,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read node RRD statistics",
                         "method" : "GET",
                         "name" : "rrddata",
@@ -33493,6 +35132,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read system log",
                         "method" : "GET",
                         "name" : "syslog",
@@ -33574,6 +35214,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read Journal",
                         "method" : "GET",
                         "name" : "journal",
@@ -33647,6 +35288,7 @@ var pveapi = [
                {
                   "info" : {
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Creates a VNC Shell proxy.",
                         "method" : "POST",
                         "name" : "vncshell",
@@ -33657,9 +35299,9 @@ var pveapi = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "ceph_install",
                                     "upgrade",
-                                    "login"
+                                    "login",
+                                    "ceph_install"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -33741,6 +35383,7 @@ var pveapi = [
                {
                   "info" : {
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Creates a VNC Shell proxy.",
                         "method" : "POST",
                         "name" : "termproxy",
@@ -33751,9 +35394,9 @@ var pveapi = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "ceph_install",
                                     "upgrade",
-                                    "login"
+                                    "login",
+                                    "ceph_install"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -33810,6 +35453,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Opens a weksocket for VNC traffic.",
                         "method" : "GET",
                         "name" : "vncwebsocket",
@@ -33864,6 +35508,7 @@ var pveapi = [
                {
                   "info" : {
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Creates a SPICE shell.",
                         "method" : "POST",
                         "name" : "spiceshell",
@@ -33874,9 +35519,9 @@ var pveapi = [
                                  "default" : "login",
                                  "description" : "Run specific command or default to login.",
                                  "enum" : [
-                                    "ceph_install",
                                     "upgrade",
-                                    "login"
+                                    "login",
+                                    "ceph_install"
                                  ],
                                  "optional" : 1,
                                  "type" : "string"
@@ -33945,6 +35590,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read DNS settings.",
                         "method" : "GET",
                         "name" : "dns",
@@ -33997,6 +35643,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Write DNS settings.",
                         "method" : "PUT",
                         "name" : "update_dns",
@@ -34060,6 +35707,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Read server time and time zone settings.",
                         "method" : "GET",
                         "name" : "time",
@@ -34108,6 +35756,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Set time zone.",
                         "method" : "PUT",
                         "name" : "set_timezone",
@@ -34150,6 +35799,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get list of appliances.",
                         "method" : "GET",
                         "name" : "aplinfo",
@@ -34177,6 +35827,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Download appliance templates.",
                         "method" : "POST",
                         "name" : "apl_download",
@@ -34226,6 +35877,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Gather various systems information about a node",
                         "method" : "GET",
                         "name" : "report",
@@ -34263,62 +35915,65 @@ var pveapi = [
                {
                   "info" : {
                      "POST" : {
-                        "description" : "Start all VMs and containers (when onboot=1).",
+                        "allowtoken" : 1,
+                        "description" : "Start all VMs and containers located on this node (by default only those with onboot=1).",
                         "method" : "POST",
                         "name" : "startall",
                         "parameters" : {
                            "additionalProperties" : 0,
                            "properties" : {
                               "force" : {
-                                 "description" : "force if onboot=0.",
+                                 "default" : "off",
+                                 "description" : "Issue start command even if virtual guest have 'onboot' not set or set to off.",
                                  "optional" : 1,
                                  "type" : "boolean",
                                  "typetext" : "<boolean>"
                               },
-                              "node" : {
-                                 "description" : "The cluster node name.",
-                                 "format" : "pve-node",
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              },
-                              "vms" : {
-                                 "description" : "Only consider Guests with these IDs.",
-                                 "format" : "pve-vmid-list",
-                                 "optional" : 1,
-                                 "type" : "string",
-                                 "typetext" : "<string>"
-                              }
-                           }
-                        },
-                        "permissions" : {
-                           "check" : [
-                              "perm",
-                              "/",
-                              [
-                                 "VM.PowerMgmt"
-                              ]
-                           ]
-                        },
-                        "protected" : 1,
-                        "proxyto" : "node",
-                        "returns" : {
-                           "type" : "string"
-                        }
-                     }
-                  },
-                  "leaf" : 1,
-                  "path" : "/nodes/{node}/startall",
-                  "text" : "startall"
-               },
-               {
-                  "info" : {
-                     "POST" : {
-                        "description" : "Stop all VMs and Containers.",
-                        "method" : "POST",
-                        "name" : "stopall",
-                        "parameters" : {
-                           "additionalProperties" : 0,
-                           "properties" : {
+                              "node" : {
+                                 "description" : "The cluster node name.",
+                                 "format" : "pve-node",
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              },
+                              "vms" : {
+                                 "description" : "Only consider guests from this comma separated list of VMIDs.",
+                                 "format" : "pve-vmid-list",
+                                 "optional" : 1,
+                                 "type" : "string",
+                                 "typetext" : "<string>"
+                              }
+                           }
+                        },
+                        "permissions" : {
+                           "check" : [
+                              "perm",
+                              "/",
+                              [
+                                 "VM.PowerMgmt"
+                              ]
+                           ]
+                        },
+                        "protected" : 1,
+                        "proxyto" : "node",
+                        "returns" : {
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "leaf" : 1,
+                  "path" : "/nodes/{node}/startall",
+                  "text" : "startall"
+               },
+               {
+                  "info" : {
+                     "POST" : {
+                        "allowtoken" : 1,
+                        "description" : "Stop all VMs and Containers.",
+                        "method" : "POST",
+                        "name" : "stopall",
+                        "parameters" : {
+                           "additionalProperties" : 0,
+                           "properties" : {
                               "node" : {
                                  "description" : "The cluster node name.",
                                  "format" : "pve-node",
@@ -34357,6 +36012,7 @@ var pveapi = [
                {
                   "info" : {
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Migrate all VMs and Containers.",
                         "method" : "POST",
                         "name" : "migrateall",
@@ -34388,6 +36044,12 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "string",
                                  "typetext" : "<string>"
+                              },
+                              "with-local-disks" : {
+                                 "description" : "Enable live storage migration for local disk",
+                                 "optional" : 1,
+                                 "type" : "boolean",
+                                 "typetext" : "<boolean>"
                               }
                            }
                         },
@@ -34414,6 +36076,7 @@ var pveapi = [
                {
                   "info" : {
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get the content of /etc/hosts.",
                         "method" : "GET",
                         "name" : "get_etc_hosts",
@@ -34456,6 +36119,7 @@ var pveapi = [
                         }
                      },
                      "POST" : {
+                        "allowtoken" : 1,
                         "description" : "Write /etc/hosts.",
                         "method" : "POST",
                         "name" : "write_etc_hosts",
@@ -34505,6 +36169,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Node index.",
                   "method" : "GET",
                   "name" : "index",
@@ -34544,6 +36209,7 @@ var pveapi = [
       ],
       "info" : {
          "GET" : {
+            "allowtoken" : 1,
             "description" : "Cluster node index.",
             "method" : "GET",
             "name" : "index",
@@ -34582,7 +36248,7 @@ var pveapi = [
                         "description" : "Used memory in bytes.",
                         "optional" : 1,
                         "renderer" : "bytes",
-                        "type" : "string"
+                        "type" : "integer"
                      },
                      "node" : {
                         "description" : "The cluster node name.",
@@ -34631,6 +36297,7 @@ var pveapi = [
          {
             "info" : {
                "DELETE" : {
+                  "allowtoken" : 1,
                   "description" : "Delete storage configuration.",
                   "method" : "DELETE",
                   "name" : "delete",
@@ -34660,6 +36327,7 @@ var pveapi = [
                   }
                },
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Read storage configuration.",
                   "method" : "GET",
                   "name" : "read",
@@ -34688,6 +36356,7 @@ var pveapi = [
                   }
                },
                "PUT" : {
+                  "allowtoken" : 1,
                   "description" : "Update storage configuration.",
                   "method" : "PUT",
                   "name" : "update",
@@ -34843,6 +36512,13 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "mountpoint" : {
+                           "description" : "mount point",
+                           "format" : "pve-storage-path",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "nodes" : {
                            "description" : "List of cluster node names.",
                            "format" : "pve-node-list",
@@ -34994,6 +36670,7 @@ var pveapi = [
       ],
       "info" : {
          "GET" : {
+            "allowtoken" : 1,
             "description" : "Storage index.",
             "method" : "GET",
             "name" : "index",
@@ -35045,6 +36722,7 @@ var pveapi = [
             }
          },
          "POST" : {
+            "allowtoken" : 1,
             "description" : "Create a new storage.",
             "method" : "POST",
             "name" : "create",
@@ -35211,6 +36889,13 @@ var pveapi = [
                      "type" : "string",
                      "typetext" : "<string>"
                   },
+                  "mountpoint" : {
+                     "description" : "mount point",
+                     "format" : "pve-storage-path",
+                     "optional" : 1,
+                     "type" : "string",
+                     "typetext" : "<string>"
+                  },
                   "nodes" : {
                      "description" : "List of cluster node names.",
                      "format" : "pve-node-list",
@@ -35433,6 +37118,7 @@ var pveapi = [
                      {
                         "info" : {
                            "GET" : {
+                              "allowtoken" : 1,
                               "description" : "Get user TFA types (Personal and Realm).",
                               "method" : "GET",
                               "name" : "read_user_tfa_type",
@@ -35494,10 +37180,376 @@ var pveapi = [
                         "leaf" : 1,
                         "path" : "/access/users/{userid}/tfa",
                         "text" : "tfa"
+                     },
+                     {
+                        "children" : [
+                           {
+                              "info" : {
+                                 "DELETE" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Remove API token for a specific user.",
+                                    "method" : "DELETE",
+                                    "name" : "remove_token",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "tokenid" : {
+                                             "description" : "User-specific token identifier.",
+                                             "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
+                                             "type" : "string"
+                                          },
+                                          "userid" : {
+                                             "description" : "User ID",
+                                             "format" : "pve-userid",
+                                             "maxLength" : 64,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "or",
+                                          [
+                                             "userid-param",
+                                             "self"
+                                          ],
+                                          [
+                                             "perm",
+                                             "/access/users/{userid}",
+                                             [
+                                                "User.Modify"
+                                             ]
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "type" : "null"
+                                    }
+                                 },
+                                 "GET" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Get specific API token information.",
+                                    "method" : "GET",
+                                    "name" : "read_token",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "tokenid" : {
+                                             "description" : "User-specific token identifier.",
+                                             "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
+                                             "type" : "string"
+                                          },
+                                          "userid" : {
+                                             "description" : "User ID",
+                                             "format" : "pve-userid",
+                                             "maxLength" : 64,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "or",
+                                          [
+                                             "userid-param",
+                                             "self"
+                                          ],
+                                          [
+                                             "perm",
+                                             "/access/users/{userid}",
+                                             [
+                                                "User.Modify"
+                                             ]
+                                          ]
+                                       ]
+                                    },
+                                    "returns" : {
+                                       "properties" : {
+                                          "comment" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "expire" : {
+                                             "default" : "same as user",
+                                             "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer"
+                                          },
+                                          "privsep" : {
+                                             "default" : 1,
+                                             "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
+                                             "optional" : 1,
+                                             "type" : "boolean"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "POST" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Generate a new API token for a specific user. NOTE: returns API token value, which needs to be stored as it cannot be retrieved afterwards!",
+                                    "method" : "POST",
+                                    "name" : "generate_token",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "comment" : {
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "expire" : {
+                                             "default" : "same as user",
+                                             "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
+                                          "privsep" : {
+                                             "default" : 1,
+                                             "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "tokenid" : {
+                                             "description" : "User-specific token identifier.",
+                                             "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
+                                             "type" : "string"
+                                          },
+                                          "userid" : {
+                                             "description" : "User ID",
+                                             "format" : "pve-userid",
+                                             "maxLength" : 64,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "or",
+                                          [
+                                             "userid-param",
+                                             "self"
+                                          ],
+                                          [
+                                             "perm",
+                                             "/access/users/{userid}",
+                                             [
+                                                "User.Modify"
+                                             ]
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "info" : {
+                                             "properties" : {
+                                                "comment" : {
+                                                   "optional" : 1,
+                                                   "type" : "string"
+                                                },
+                                                "expire" : {
+                                                   "default" : "same as user",
+                                                   "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
+                                                   "minimum" : 0,
+                                                   "optional" : 1,
+                                                   "type" : "integer"
+                                                },
+                                                "privsep" : {
+                                                   "default" : 1,
+                                                   "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
+                                                   "optional" : 1,
+                                                   "type" : "boolean"
+                                                }
+                                             },
+                                             "type" : "object"
+                                          },
+                                          "value" : {
+                                             "description" : "API token value used for authentication.",
+                                             "type" : "string"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 },
+                                 "PUT" : {
+                                    "allowtoken" : 1,
+                                    "description" : "Update API token for a specific user.",
+                                    "method" : "PUT",
+                                    "name" : "update_token_info",
+                                    "parameters" : {
+                                       "additionalProperties" : 0,
+                                       "properties" : {
+                                          "comment" : {
+                                             "optional" : 1,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          },
+                                          "expire" : {
+                                             "default" : "same as user",
+                                             "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer",
+                                             "typetext" : "<integer> (0 - N)"
+                                          },
+                                          "privsep" : {
+                                             "default" : 1,
+                                             "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
+                                             "optional" : 1,
+                                             "type" : "boolean",
+                                             "typetext" : "<boolean>"
+                                          },
+                                          "tokenid" : {
+                                             "description" : "User-specific token identifier.",
+                                             "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
+                                             "type" : "string"
+                                          },
+                                          "userid" : {
+                                             "description" : "User ID",
+                                             "format" : "pve-userid",
+                                             "maxLength" : 64,
+                                             "type" : "string",
+                                             "typetext" : "<string>"
+                                          }
+                                       }
+                                    },
+                                    "permissions" : {
+                                       "check" : [
+                                          "or",
+                                          [
+                                             "userid-param",
+                                             "self"
+                                          ],
+                                          [
+                                             "perm",
+                                             "/access/users/{userid}",
+                                             [
+                                                "User.Modify"
+                                             ]
+                                          ]
+                                       ]
+                                    },
+                                    "protected" : 1,
+                                    "returns" : {
+                                       "description" : "Updated token information.",
+                                       "properties" : {
+                                          "comment" : {
+                                             "optional" : 1,
+                                             "type" : "string"
+                                          },
+                                          "expire" : {
+                                             "default" : "same as user",
+                                             "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
+                                             "minimum" : 0,
+                                             "optional" : 1,
+                                             "type" : "integer"
+                                          },
+                                          "privsep" : {
+                                             "default" : 1,
+                                             "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
+                                             "optional" : 1,
+                                             "type" : "boolean"
+                                          }
+                                       },
+                                       "type" : "object"
+                                    }
+                                 }
+                              },
+                              "leaf" : 1,
+                              "path" : "/access/users/{userid}/token/{tokenid}",
+                              "text" : "{tokenid}"
+                           }
+                        ],
+                        "info" : {
+                           "GET" : {
+                              "allowtoken" : 1,
+                              "description" : "Get user API tokens.",
+                              "method" : "GET",
+                              "name" : "token_index",
+                              "parameters" : {
+                                 "additionalProperties" : 0,
+                                 "properties" : {
+                                    "userid" : {
+                                       "description" : "User ID",
+                                       "format" : "pve-userid",
+                                       "maxLength" : 64,
+                                       "type" : "string",
+                                       "typetext" : "<string>"
+                                    }
+                                 }
+                              },
+                              "permissions" : {
+                                 "check" : [
+                                    "or",
+                                    [
+                                       "userid-param",
+                                       "self"
+                                    ],
+                                    [
+                                       "perm",
+                                       "/access/users/{userid}",
+                                       [
+                                          "User.Modify"
+                                       ]
+                                    ]
+                                 ]
+                              },
+                              "returns" : {
+                                 "items" : {
+                                    "properties" : {
+                                       "comment" : {
+                                          "optional" : 1,
+                                          "type" : "string"
+                                       },
+                                       "expire" : {
+                                          "default" : "same as user",
+                                          "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
+                                          "minimum" : 0,
+                                          "optional" : 1,
+                                          "type" : "integer"
+                                       },
+                                       "privsep" : {
+                                          "default" : 1,
+                                          "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
+                                          "optional" : 1,
+                                          "type" : "boolean"
+                                       },
+                                       "tokenid" : {
+                                          "description" : "User-specific token identifier.",
+                                          "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
+                                          "type" : "string"
+                                       }
+                                    },
+                                    "type" : "object"
+                                 },
+                                 "links" : [
+                                    {
+                                       "href" : "{tokenid}",
+                                       "rel" : "child"
+                                    }
+                                 ],
+                                 "type" : "array"
+                              }
+                           }
+                        },
+                        "leaf" : 0,
+                        "path" : "/access/users/{userid}/token",
+                        "text" : "token"
                      }
                   ],
                   "info" : {
                      "DELETE" : {
+                        "allowtoken" : 1,
                         "description" : "Delete user.",
                         "method" : "DELETE",
                         "name" : "delete_user",
@@ -35534,6 +37586,7 @@ var pveapi = [
                         }
                      },
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get user configuration.",
                         "method" : "GET",
                         "name" : "read_user",
@@ -35587,6 +37640,11 @@ var pveapi = [
                                  "type" : "string"
                               },
                               "groups" : {
+                                 "items" : {
+                                    "format" : "pve-groupid",
+                                    "type" : "string"
+                                 },
+                                 "optional" : 1,
                                  "type" : "array"
                               },
                               "keys" : {
@@ -35597,12 +37655,17 @@ var pveapi = [
                               "lastname" : {
                                  "optional" : 1,
                                  "type" : "string"
+                              },
+                              "tokens" : {
+                                 "optional" : 1,
+                                 "type" : "object"
                               }
                            },
                            "type" : "object"
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Update user configuration.",
                         "method" : "PUT",
                         "name" : "update_user",
@@ -35694,6 +37757,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "User index.",
                   "method" : "GET",
                   "name" : "index",
@@ -35705,6 +37769,13 @@ var pveapi = [
                            "optional" : 1,
                            "type" : "boolean",
                            "typetext" : "<boolean>"
+                        },
+                        "full" : {
+                           "default" : 0,
+                           "description" : "Include group and token information.",
+                           "optional" : 1,
+                           "type" : "boolean",
+                           "typetext" : "<boolean>"
                         }
                      }
                   },
@@ -35740,6 +37811,11 @@ var pveapi = [
                               "optional" : 1,
                               "type" : "string"
                            },
+                           "groups" : {
+                              "format" : "pve-groupid-list",
+                              "optional" : 1,
+                              "type" : "string"
+                           },
                            "keys" : {
                               "description" : "Keys for two factor auth (yubico).",
                               "optional" : 1,
@@ -35749,6 +37825,37 @@ var pveapi = [
                               "optional" : 1,
                               "type" : "string"
                            },
+                           "tokens" : {
+                              "items" : {
+                                 "properties" : {
+                                    "comment" : {
+                                       "optional" : 1,
+                                       "type" : "string"
+                                    },
+                                    "expire" : {
+                                       "default" : "same as user",
+                                       "description" : "API token expiration date (seconds since epoch). '0' means no expiration date.",
+                                       "minimum" : 0,
+                                       "optional" : 1,
+                                       "type" : "integer"
+                                    },
+                                    "privsep" : {
+                                       "default" : 1,
+                                       "description" : "Restrict API token privileges with separate ACLs (default), or give full privileges of corresponding user.",
+                                       "optional" : 1,
+                                       "type" : "boolean"
+                                    },
+                                    "tokenid" : {
+                                       "description" : "User-specific token identifier.",
+                                       "pattern" : "(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)",
+                                       "type" : "string"
+                                    }
+                                 },
+                                 "type" : "object"
+                              },
+                              "optional" : 1,
+                              "type" : "array"
+                           },
                            "userid" : {
                               "description" : "User ID",
                               "format" : "pve-userid",
@@ -35768,6 +37875,7 @@ var pveapi = [
                   }
                },
                "POST" : {
+                  "allowtoken" : 1,
                   "description" : "Create new user.",
                   "method" : "POST",
                   "name" : "create_user",
@@ -35871,6 +37979,7 @@ var pveapi = [
                {
                   "info" : {
                      "DELETE" : {
+                        "allowtoken" : 1,
                         "description" : "Delete group.",
                         "method" : "DELETE",
                         "name" : "delete_group",
@@ -35899,6 +38008,7 @@ var pveapi = [
                         }
                      },
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get group configuration.",
                         "method" : "GET",
                         "name" : "read_group",
@@ -35945,6 +38055,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Update group data.",
                         "method" : "PUT",
                         "name" : "update_group",
@@ -35985,6 +38096,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Group index.",
                   "method" : "GET",
                   "name" : "index",
@@ -36005,6 +38117,12 @@ var pveapi = [
                            "groupid" : {
                               "format" : "pve-groupid",
                               "type" : "string"
+                           },
+                           "users" : {
+                              "description" : "list of users which form this group",
+                              "format" : "pve-userid-list",
+                              "optional" : 1,
+                              "type" : "string"
                            }
                         },
                         "type" : "object"
@@ -36019,6 +38137,7 @@ var pveapi = [
                   }
                },
                "POST" : {
+                  "allowtoken" : 1,
                   "description" : "Create new group.",
                   "method" : "POST",
                   "name" : "create_group",
@@ -36061,6 +38180,7 @@ var pveapi = [
                {
                   "info" : {
                      "DELETE" : {
+                        "allowtoken" : 1,
                         "description" : "Delete role.",
                         "method" : "DELETE",
                         "name" : "delete_role",
@@ -36089,6 +38209,7 @@ var pveapi = [
                         }
                      },
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get role configuration.",
                         "method" : "GET",
                         "name" : "read_role",
@@ -36144,6 +38265,14 @@ var pveapi = [
                                  "optional" : 1,
                                  "type" : "boolean"
                               },
+                              "SDN.Allocate" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
+                              "SDN.Audit" : {
+                                 "optional" : 1,
+                                 "type" : "boolean"
+                              },
                               "Sys.Audit" : {
                                  "optional" : 1,
                                  "type" : "boolean"
@@ -36241,6 +38370,7 @@ var pveapi = [
                         }
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Update an existing role.",
                         "method" : "PUT",
                         "name" : "update_role",
@@ -36288,6 +38418,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Role index.",
                   "method" : "GET",
                   "name" : "index",
@@ -36327,6 +38458,7 @@ var pveapi = [
                   }
                },
                "POST" : {
+                  "allowtoken" : 1,
                   "description" : "Create new role.",
                   "method" : "POST",
                   "name" : "create_role",
@@ -36368,6 +38500,7 @@ var pveapi = [
          {
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Get Access Control List (ACLs).",
                   "method" : "GET",
                   "name" : "read_acl",
@@ -36398,7 +38531,8 @@ var pveapi = [
                            "type" : {
                               "enum" : [
                                  "user",
-                                 "group"
+                                 "group",
+                                 "token"
                               ],
                               "type" : "string"
                            },
@@ -36412,6 +38546,7 @@ var pveapi = [
                   }
                },
                "PUT" : {
+                  "allowtoken" : 1,
                   "description" : "Update Access Control List (add or remove permissions).",
                   "method" : "PUT",
                   "name" : "update_acl",
@@ -36449,6 +38584,13 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "tokens" : {
+                           "description" : "List of API tokens.",
+                           "format" : "pve-tokenid-list",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
                         "users" : {
                            "description" : "List of users.",
                            "format" : "pve-userid-list",
@@ -36479,6 +38621,7 @@ var pveapi = [
                {
                   "info" : {
                      "DELETE" : {
+                        "allowtoken" : 1,
                         "description" : "Delete an authentication server.",
                         "method" : "DELETE",
                         "name" : "delete",
@@ -36509,6 +38652,7 @@ var pveapi = [
                         }
                      },
                      "GET" : {
+                        "allowtoken" : 1,
                         "description" : "Get auth server configuration.",
                         "method" : "GET",
                         "name" : "read",
@@ -36539,6 +38683,7 @@ var pveapi = [
                         "returns" : {}
                      },
                      "PUT" : {
+                        "allowtoken" : 1,
                         "description" : "Update authentication server settings.",
                         "method" : "PUT",
                         "name" : "update",
@@ -36650,6 +38795,17 @@ var pveapi = [
                                  "type" : "string",
                                  "typetext" : "<string>"
                               },
+                              "sslversion" : {
+                                 "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
+                                 "enum" : [
+                                    "tlsv1",
+                                    "tlsv1_1",
+                                    "tlsv1_2",
+                                    "tlsv1_3"
+                                 ],
+                                 "optional" : 1,
+                                 "type" : "string"
+                              },
                               "tfa" : {
                                  "description" : "Use Two-factor authentication.",
                                  "format" : "pve-tfa-config",
@@ -36697,6 +38853,7 @@ var pveapi = [
             ],
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Authentication domain index.",
                   "method" : "GET",
                   "name" : "index",
@@ -36740,6 +38897,7 @@ var pveapi = [
                   }
                },
                "POST" : {
+                  "allowtoken" : 1,
                   "description" : "Add an authentication server.",
                   "method" : "POST",
                   "name" : "create",
@@ -36836,6 +38994,17 @@ var pveapi = [
                            "type" : "string",
                            "typetext" : "<string>"
                         },
+                        "sslversion" : {
+                           "description" : "LDAPS TLS/SSL version. It's not recommended to use version older than 1.2!",
+                           "enum" : [
+                              "tlsv1",
+                              "tlsv1_1",
+                              "tlsv1_2",
+                              "tlsv1_3"
+                           ],
+                           "optional" : 1,
+                           "type" : "string"
+                        },
                         "tfa" : {
                            "description" : "Use Two-factor authentication.",
                            "format" : "pve-tfa-config",
@@ -36893,6 +39062,7 @@ var pveapi = [
          {
             "info" : {
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Dummy. Useful for formatters which want to provide a login page.",
                   "method" : "GET",
                   "name" : "get_ticket",
@@ -36907,6 +39077,7 @@ var pveapi = [
                   }
                },
                "POST" : {
+                  "allowtoken" : 0,
                   "description" : "Create or verify authentication ticket.",
                   "method" : "POST",
                   "name" : "create_ticket",
@@ -36991,6 +39162,7 @@ var pveapi = [
          {
             "info" : {
                "PUT" : {
+                  "allowtoken" : 0,
                   "description" : "Change user password.",
                   "method" : "PUT",
                   "name" : "change_password",
@@ -37049,6 +39221,7 @@ var pveapi = [
          {
             "info" : {
                "POST" : {
+                  "allowtoken" : 0,
                   "description" : "Finish a u2f challenge.",
                   "method" : "POST",
                   "name" : "verify_tfa",
@@ -37076,6 +39249,7 @@ var pveapi = [
                   }
                },
                "PUT" : {
+                  "allowtoken" : 0,
                   "description" : "Change user u2f authentication.",
                   "method" : "PUT",
                   "name" : "change_tfa",
@@ -37101,9 +39275,10 @@ var pveapi = [
                         },
                         "key" : {
                            "description" : "When adding TOTP, the shared secret value.",
+                           "format" : "pve-tfa-secret",
                            "optional" : 1,
-                           "pattern" : "(?^:[A-Z2-7=]{16}|[A-Fa-f0-9]{40})",
-                           "type" : "string"
+                           "type" : "string",
+                           "typetext" : "<string>"
                         },
                         "password" : {
                            "description" : "The current password.",
@@ -37160,10 +39335,49 @@ var pveapi = [
             "leaf" : 1,
             "path" : "/access/tfa",
             "text" : "tfa"
+         },
+         {
+            "info" : {
+               "GET" : {
+                  "allowtoken" : 1,
+                  "description" : "Retrieve effective permissions of given user/token.",
+                  "method" : "GET",
+                  "name" : "permissions",
+                  "parameters" : {
+                     "additionalProperties" : 0,
+                     "properties" : {
+                        "path" : {
+                           "description" : "Only dump this specific path, not the whole tree.",
+                           "optional" : 1,
+                           "type" : "string",
+                           "typetext" : "<string>"
+                        },
+                        "userid" : {
+                           "description" : "User ID or full API token ID",
+                           "optional" : 1,
+                           "pattern" : "(?^:^(?^:[^\\s:/]+)\\@(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+)(?:!(?^:[A-Za-z][A-Za-z0-9\\.\\-_]+))?$)",
+                           "type" : "string"
+                        }
+                     }
+                  },
+                  "permissions" : {
+                     "description" : "Each user/token is allowed to dump their own permissions. A user can dump the permissions of another user if they have 'Sys.Audit' permission on /access.",
+                     "user" : "all"
+                  },
+                  "returns" : {
+                     "description" : "Map of \"path\" => (Map of \"privilege\" => \"propagate boolean\").",
+                     "type" : "object"
+                  }
+               }
+            },
+            "leaf" : 1,
+            "path" : "/access/permissions",
+            "text" : "permissions"
          }
       ],
       "info" : {
          "GET" : {
+            "allowtoken" : 1,
             "description" : "Directory index.",
             "method" : "GET",
             "name" : "index",
@@ -37201,6 +39415,7 @@ var pveapi = [
          {
             "info" : {
                "DELETE" : {
+                  "allowtoken" : 1,
                   "description" : "Delete pool.",
                   "method" : "DELETE",
                   "name" : "delete_pool",
@@ -37230,6 +39445,7 @@ var pveapi = [
                   }
                },
                "GET" : {
+                  "allowtoken" : 1,
                   "description" : "Get pool configuration.",
                   "method" : "GET",
                   "name" : "read_pool",
@@ -37296,6 +39512,7 @@ var pveapi = [
                   }
                },
                "PUT" : {
+                  "allowtoken" : 1,
                   "description" : "Update pool data.",
                   "method" : "PUT",
                   "name" : "update_pool",
@@ -37357,6 +39574,7 @@ var pveapi = [
       ],
       "info" : {
          "GET" : {
+            "allowtoken" : 1,
             "description" : "Pool index.",
             "method" : "GET",
             "name" : "index",
@@ -37386,6 +39604,7 @@ var pveapi = [
             }
          },
          "POST" : {
+            "allowtoken" : 1,
             "description" : "Create new pool.",
             "method" : "POST",
             "name" : "create_pool",
@@ -37426,6 +39645,7 @@ var pveapi = [
    {
       "info" : {
          "GET" : {
+            "allowtoken" : 1,
             "description" : "API version details. The result also includes the global datacenter confguration.",
             "method" : "GET",
             "name" : "version",