X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=api-viewer%2Fapidata.js;h=a8f41de3f084219727581ae7a59ab6f176756890;hb=HEAD;hp=0769beb9501ca16c47355a7d76d3d1b854449d31;hpb=a5a80fe8cc869de45a8ae96f3f289581e3d68de3;p=pve-docs.git diff --git a/api-viewer/apidata.js b/api-viewer/apidata.js index 0769beb..8ba94e4 100644 --- a/api-viewer/apidata.js +++ b/api-viewer/apidata.js @@ -180,7 +180,7 @@ const apiSchema = [ "additionalProperties" : 0 }, "permissions" : { - "description" : "Requires the VM.Audit permission on /vms/.", + "description" : "Will only return replication jobs for which the calling user has VM.Audit permission on /vms/.", "user" : "all" }, "returns" : { @@ -741,6 +741,117 @@ const apiSchema = [ }, { "children" : [ + { + "info" : { + "GET" : { + "allowtoken" : 1, + "description" : "Returns known notification metadata fields", + "method" : "GET", + "name" : "get_matcher_fields", + "parameters" : { + "additionalProperties" : 0 + }, + "permissions" : { + "check" : [ + "or", + [ + "perm", + "/mapping/notifications", + [ + "Mapping.Modify" + ] + ], + [ + "perm", + "/mapping/notifications", + [ + "Mapping.Audit" + ] + ] + ] + }, + "protected" : 0, + "returns" : { + "items" : { + "properties" : { + "name" : { + "description" : "Name of the field.", + "type" : "string" + } + }, + "type" : "object" + }, + "links" : [ + { + "href" : "{name}", + "rel" : "child" + } + ], + "type" : "array" + } + } + }, + "leaf" : 1, + "path" : "/cluster/notifications/matcher-fields", + "text" : "matcher-fields" + }, + { + "info" : { + "GET" : { + "allowtoken" : 1, + "description" : "Returns known notification metadata fields and their known values", + "method" : "GET", + "name" : "get_matcher_field_values", + "parameters" : { + "additionalProperties" : 0 + }, + "permissions" : { + "check" : [ + "or", + [ + "perm", + "/mapping/notifications", + [ + "Mapping.Modify" + ] + ], + [ + "perm", + "/mapping/notifications", + [ + "Mapping.Audit" + ] + ] + ] + }, + "protected" : 1, + "returns" : { + "items" : { + "properties" : { + "comment" : { + "description" : "Additional comment for this value.", + "optional" : 1, + "type" : "string" + }, + "field" : { + "description" : "Field this value belongs to.", + "type" : "string" + }, + "value" : { + "description" : "Notification metadata value known by the system.", + "type" : "string" + } + }, + "type" : "object" + }, + "type" : "array" + } + } + }, + "leaf" : 1, + "path" : "/cluster/notifications/matcher-field-values", + "text" : "matcher-field-values" + }, { "children" : [ { @@ -2127,7 +2238,8 @@ const apiSchema = [ "description" : "Type of the target.", "enum" : [ "sendmail", - "gotify" + "gotify", + "smtp" ], "type" : "string" } @@ -5560,7 +5672,7 @@ const apiSchema = [ "typetext" : "" }, "exclude-path" : { - "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.", + "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.", "items" : { "type" : "string" }, @@ -5568,6 +5680,13 @@ const apiSchema = [ "type" : "array", "typetext" : "" }, + "fleecing" : { + "description" : "Options for backup fleecing (VM only).", + "format" : "backup-fleecing", + "optional" : 1, + "type" : "string", + "typetext" : "[[enabled=]<1|0>] [,storage=]" + }, "id" : { "description" : "The job ID.", "maxLength" : 50, @@ -5593,7 +5712,7 @@ const apiSchema = [ }, "mailnotification" : { "default" : "always", - "description" : "Deprecated: use 'notification-policy' instead.", + "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail", "enum" : [ "always", "failure" @@ -5602,7 +5721,7 @@ const apiSchema = [ "type" : "string" }, "mailto" : { - "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option is set at the same time.", + "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.", "format" : "email-or-username-list", "optional" : 1, "type" : "string", @@ -5641,9 +5760,20 @@ const apiSchema = [ "type" : "string", "typetext" : "" }, + "notification-mode" : { + "default" : "auto", + "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.", + "enum" : [ + "auto", + "legacy-sendmail", + "notification-system" + ], + "optional" : 1, + "type" : "string" + }, "notification-policy" : { "default" : "always", - "description" : "Specify when to send a notification", + "description" : "Deprecated: Do not use", "enum" : [ "always", "failure", @@ -5653,12 +5783,22 @@ const apiSchema = [ "type" : "string" }, "notification-target" : { - "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are set, the 'mailto' option will be ignored.", + "description" : "Deprecated: Do not use", "format" : "pve-configid", "optional" : 1, "type" : "string", "typetext" : "" }, + "pbs-change-detection-mode" : { + "description" : "PBS mode used to detect file changes and switch encoding. NOTE: `data` and `metadata` modes are experimental. format for container backups.", + "enum" : [ + "legacy", + "data", + "metadata" + ], + "optional" : 1, + "type" : "string" + }, "performance" : { "description" : "Other performance-related settings.", "format" : "backup-performance", @@ -5761,9 +5901,10 @@ const apiSchema = [ "storage" : { "description" : "Store resulting file to this storage.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "tmpdir" : { "description" : "Store temporary files to specified directory.", @@ -5780,7 +5921,7 @@ const apiSchema = [ }, "zstd" : { "default" : 1, - "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.", + "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.", "optional" : 1, "type" : "integer", "typetext" : "" @@ -5919,7 +6060,7 @@ const apiSchema = [ "typetext" : "" }, "exclude-path" : { - "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.", + "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.", "items" : { "type" : "string" }, @@ -5927,6 +6068,13 @@ const apiSchema = [ "type" : "array", "typetext" : "" }, + "fleecing" : { + "description" : "Options for backup fleecing (VM only).", + "format" : "backup-fleecing", + "optional" : 1, + "type" : "string", + "typetext" : "[[enabled=]<1|0>] [,storage=]" + }, "id" : { "description" : "Job ID (will be autogenerated).", "format" : "pve-configid", @@ -5953,7 +6101,7 @@ const apiSchema = [ }, "mailnotification" : { "default" : "always", - "description" : "Deprecated: use 'notification-policy' instead.", + "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail", "enum" : [ "always", "failure" @@ -5962,7 +6110,7 @@ const apiSchema = [ "type" : "string" }, "mailto" : { - "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option is set at the same time.", + "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.", "format" : "email-or-username-list", "optional" : 1, "type" : "string", @@ -6001,9 +6149,20 @@ const apiSchema = [ "type" : "string", "typetext" : "" }, + "notification-mode" : { + "default" : "auto", + "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.", + "enum" : [ + "auto", + "legacy-sendmail", + "notification-system" + ], + "optional" : 1, + "type" : "string" + }, "notification-policy" : { "default" : "always", - "description" : "Specify when to send a notification", + "description" : "Deprecated: Do not use", "enum" : [ "always", "failure", @@ -6013,12 +6172,22 @@ const apiSchema = [ "type" : "string" }, "notification-target" : { - "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are set, the 'mailto' option will be ignored.", + "description" : "Deprecated: Do not use", "format" : "pve-configid", "optional" : 1, "type" : "string", "typetext" : "" }, + "pbs-change-detection-mode" : { + "description" : "PBS mode used to detect file changes and switch encoding. NOTE: `data` and `metadata` modes are experimental. format for container backups.", + "enum" : [ + "legacy", + "data", + "metadata" + ], + "optional" : 1, + "type" : "string" + }, "performance" : { "description" : "Other performance-related settings.", "format" : "backup-performance", @@ -6121,9 +6290,10 @@ const apiSchema = [ "storage" : { "description" : "Store resulting file to this storage.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "tmpdir" : { "description" : "Store temporary files to specified directory.", @@ -6140,7 +6310,7 @@ const apiSchema = [ }, "zstd" : { "default" : 1, - "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.", + "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.", "optional" : 1, "type" : "integer", "typetext" : "" @@ -9314,6 +9484,8 @@ const apiSchema = [ "typetext" : "" }, "mdev" : { + "default" : 0, + "description" : "Marks the device(s) as being capable of providing mediated devices.", "optional" : 1, "type" : "boolean", "typetext" : "" @@ -9481,6 +9653,8 @@ const apiSchema = [ "typetext" : "" }, "mdev" : { + "default" : 0, + "description" : "Marks the device(s) as being capable of providing mediated devices.", "optional" : 1, "type" : "boolean", "typetext" : "" @@ -10913,7 +11087,8 @@ const apiSchema = [ "type" : "string" }, "pending" : { - "optional" : 1 + "optional" : 1, + "type" : "boolean" }, "reversedns" : { "optional" : 1, @@ -11285,6 +11460,7 @@ const apiSchema = [ }, "isis-net" : { "description" : "ISIS network entity title.", + "format" : "pve-sdn-isis-net", "optional" : 1, "type" : "string", "typetext" : "" @@ -11377,7 +11553,8 @@ const apiSchema = [ "type" : "string" }, "pending" : { - "optional" : 1 + "optional" : 1, + "type" : "boolean" }, "state" : { "optional" : 1, @@ -11451,6 +11628,7 @@ const apiSchema = [ }, "isis-net" : { "description" : "ISIS network entity title.", + "format" : "pve-sdn-isis-net", "optional" : 1, "type" : "string", "typetext" : "" @@ -12248,6 +12426,7 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier (when type == storage).", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string" }, @@ -12629,19 +12808,17 @@ const apiSchema = [ "description" : "Cluster-wide notification settings.", "format" : { "fencing" : { - "default" : "always", - "description" : "Control if notifications about node fencing should be sent.", + "description" : "UNUSED - Use datacenter notification settings instead.", "enum" : [ "always", "never" ], "optional" : 1, - "type" : "string", - "verbose_description" : "Control if notifications about node fencing should be sent.\n* 'always' always send out notifications\n* 'never' never send out notifications.\nFor production systems, turning off node fencing notifications is notrecommended!\n" + "type" : "string" }, "package-updates" : { "default" : "auto", - "description" : "Control when the daily update job should send out notifications.", + "description" : "DEPRECATED: Use datacenter notification settings instead. Control when the daily update job should send out notifications.", "enum" : [ "auto", "always", @@ -12649,39 +12826,34 @@ const apiSchema = [ ], "optional" : 1, "type" : "string", - "verbose_description" : "Control how often the daily update job should send out notifications:\n* 'auto' daily for systems with a valid subscription, as those are assumed to be production-ready and thus should know about pending updates.\n* 'always' every update, if there are new pending updates.\n* 'never' never send a notification for new pending updates.\n" + "verbose_description" : "DEPRECATED: Use datacenter notification settings instead.\nControl how often the daily update job should send out notifications:\n* 'auto' daily for systems with a valid subscription, as those are assumed to be production-ready and thus should know about pending updates.\n* 'always' every update, if there are new pending updates.\n* 'never' never send a notification for new pending updates.\n" }, "replication" : { - "default" : "always", - "description" : "Control if notifications for replication failures should be sent.", + "description" : "UNUSED - Use datacenter notification settings instead.", "enum" : [ "always", "never" ], "optional" : 1, - "type" : "string", - "verbose_description" : "Control if notifications for replication failures should be sent.\n* 'always' always send out notifications\n* 'never' never send out notifications.\nFor production systems, turning off replication notifications is notrecommended!\n" + "type" : "string" }, "target-fencing" : { - "description" : "Control where notifications about fenced cluster nodes should be sent to.", + "description" : "UNUSED - Use datacenter notification settings instead.", "format_description" : "TARGET", "optional" : 1, - "type" : "string", - "verbose_description" : "Control where notifications about fenced cluster nodes should be sent to. Has to be the name of a notification target (endpoint or notification group). If the 'target-fencing' parameter is not set, the system will send mails to root via a 'sendmail' notification endpoint." + "type" : "string" }, "target-package-updates" : { - "description" : "Control where notifications about available updates should be sent to.", + "description" : "UNUSED - Use datacenter notification settings instead.", "format_description" : "TARGET", "optional" : 1, - "type" : "string", - "verbose_description" : "Control where notifications about available updates should be sent to. Has to be the name of a notification target (endpoint or notification group). If the 'target-package-updates' parameter is not set, the system will send mails to root via a 'sendmail' notification endpoint." + "type" : "string" }, "target-replication" : { - "description" : "Control where notifications for failed storage replication jobs should be sent to.", + "description" : "UNUSED - Use datacenter notification settings instead.", "format_description" : "TARGET", "optional" : 1, - "type" : "string", - "verbose_description" : "Control where notifications for failed storage replication jobs should be sent to. Has to be the name of a notification target (endpoint or notification group). If the 'target-replication' parameter is not set, the system will send mails to root via a 'sendmail' notification endpoint." + "type" : "string" } }, "optional" : 1, @@ -17196,10 +17368,28 @@ const apiSchema = [ "type" : "string" }, "machine" : { - "description" : "Specifies the QEMU machine type.", - "maxLength" : 40, + "description" : "Specify the QEMU machine.", + "format" : { + "type" : { + "default_key" : 1, + "description" : "Specifies the QEMU machine type.", + "format_description" : "machine type", + "maxLength" : 40, + "optional" : 1, + "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", + "type" : "string" + }, + "viommu" : { + "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).", + "enum" : [ + "intel", + "virtio" + ], + "optional" : 1, + "type" : "string" + } + }, "optional" : 1, - "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" : { @@ -17218,7 +17408,7 @@ const apiSchema = [ }, "migrate_downtime" : { "default" : 0.1, - "description" : "Set maximum tolerated downtime (in seconds) for migrations.", + "description" : "Set maximum tolerated downtime (in seconds) for migrations. Should the migration not be able to converge in the very end, because too much newly dirtied RAM needs to be transferred, the limit will be increased automatically step-by-step until migration can converge.", "minimum" : 0, "optional" : 1, "type" : "number" @@ -17451,7 +17641,7 @@ const apiSchema = [ ], "optional" : 1, "type" : "string", - "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" + "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" }, "parallel[n]" : { "description" : "Map host parallel devices (n is 0 to 2).", @@ -18052,6 +18242,13 @@ const apiSchema = [ "optional" : 1, "type" : "string" }, + "product" : { + "description" : "The drive's product name, up to 16 bytes long.", + "format_description" : "product", + "optional" : 1, + "pattern" : "[A-Za-z0-9\\-_\\s]{,16}", + "type" : "string" + }, "queues" : { "description" : "Number of queues.", "minimum" : 2, @@ -18132,6 +18329,13 @@ const apiSchema = [ "optional" : 1, "type" : "string" }, + "vendor" : { + "description" : "The drive's vendor name, up to 8 bytes long.", + "format_description" : "vendor", + "optional" : 1, + "pattern" : "[A-Za-z0-9\\-_\\s]{,8}", + "type" : "string" + }, "volume" : { "alias" : "file" }, @@ -18300,7 +18504,7 @@ const apiSchema = [ "type" : "string" }, "version" : { - "default" : "v2.0", + "default" : "v1.2", "description" : "The TPM interface version. v2.0 is newer and should be preferred. Note that this cannot be changed later on.", "enum" : [ "v1.2", @@ -18372,7 +18576,7 @@ const apiSchema = [ "description" : "Configure the VGA hardware.", "format" : { "clipboard" : { - "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added.", + "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!", "enum" : [ "vnc" ], @@ -18389,7 +18593,7 @@ const apiSchema = [ "type" : { "default" : "std", "default_key" : 1, - "description" : "Select the VGA type.", + "description" : "Select the VGA type. Using type 'cirrus' is not recommended.", "enum" : [ "cirrus", "qxl", @@ -18741,6 +18945,7 @@ const apiSchema = [ "vmstatestorage" : { "description" : "Default storage for VM state volumes/files.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string" }, @@ -19539,11 +19744,30 @@ const apiSchema = [ "type" : "string" }, "machine" : { - "description" : "Specifies the QEMU machine type.", - "maxLength" : 40, + "description" : "Specify the QEMU machine.", + "format" : { + "type" : { + "default_key" : 1, + "description" : "Specifies the QEMU machine type.", + "format_description" : "machine type", + "maxLength" : 40, + "optional" : 1, + "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", + "type" : "string" + }, + "viommu" : { + "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).", + "enum" : [ + "intel", + "virtio" + ], + "optional" : 1, + "type" : "string" + } + }, "optional" : 1, - "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", - "type" : "string" + "type" : "string", + "typetext" : "[[type=]] [,viommu=]" }, "memory" : { "description" : "Memory properties.", @@ -19562,7 +19786,7 @@ const apiSchema = [ }, "migrate_downtime" : { "default" : 0.1, - "description" : "Set maximum tolerated downtime (in seconds) for migrations.", + "description" : "Set maximum tolerated downtime (in seconds) for migrations. Should the migration not be able to converge in the very end, because too much newly dirtied RAM needs to be transferred, the limit will be increased automatically step-by-step until migration can converge.", "minimum" : 0, "optional" : 1, "type" : "number", @@ -19809,7 +20033,7 @@ const apiSchema = [ ], "optional" : 1, "type" : "string", - "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" + "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" }, "parallel[n]" : { "description" : "Map host parallel devices (n is 0 to 2).", @@ -20435,6 +20659,13 @@ const apiSchema = [ "optional" : 1, "type" : "string" }, + "product" : { + "description" : "The drive's product name, up to 16 bytes long.", + "format_description" : "product", + "optional" : 1, + "pattern" : "[A-Za-z0-9\\-_\\s]{,16}", + "type" : "string" + }, "queues" : { "description" : "Number of queues.", "minimum" : 2, @@ -20515,6 +20746,13 @@ const apiSchema = [ "optional" : 1, "type" : "string" }, + "vendor" : { + "description" : "The drive's vendor name, up to 8 bytes long.", + "format_description" : "vendor", + "optional" : 1, + "pattern" : "[A-Za-z0-9\\-_\\s]{,8}", + "type" : "string" + }, "volume" : { "alias" : "file" }, @@ -20539,7 +20777,7 @@ const apiSchema = [ }, "optional" : 1, "type" : "string", - "typetext" : "[file=] [,aio=] [,backup=<1|0>] [,bps=] [,bps_max_length=] [,bps_rd=] [,bps_rd_max_length=] [,bps_wr=] [,bps_wr_max_length=] [,cache=] [,cyls=] [,detect_zeroes=<1|0>] [,discard=] [,format=] [,heads=] [,import-from=] [,iops=] [,iops_max=] [,iops_max_length=] [,iops_rd=] [,iops_rd_max=] [,iops_rd_max_length=] [,iops_wr=] [,iops_wr_max=] [,iops_wr_max_length=] [,iothread=<1|0>] [,mbps=] [,mbps_max=] [,mbps_rd=] [,mbps_rd_max=] [,mbps_wr=] [,mbps_wr_max=] [,media=] [,queues=] [,replicate=<1|0>] [,rerror=] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=] [,serial=] [,shared=<1|0>] [,size=] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=] [,werror=] [,wwn=]" + "typetext" : "[file=] [,aio=] [,backup=<1|0>] [,bps=] [,bps_max_length=] [,bps_rd=] [,bps_rd_max_length=] [,bps_wr=] [,bps_wr_max_length=] [,cache=] [,cyls=] [,detect_zeroes=<1|0>] [,discard=] [,format=] [,heads=] [,import-from=] [,iops=] [,iops_max=] [,iops_max_length=] [,iops_rd=] [,iops_rd_max=] [,iops_rd_max_length=] [,iops_wr=] [,iops_wr_max=] [,iops_wr_max_length=] [,iothread=<1|0>] [,mbps=] [,mbps_max=] [,mbps_rd=] [,mbps_rd_max=] [,mbps_wr=] [,mbps_wr_max=] [,media=] [,product=] [,queues=] [,replicate=<1|0>] [,rerror=] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=] [,serial=] [,shared=<1|0>] [,size=] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=] [,vendor=] [,werror=] [,wwn=]" }, "scsihw" : { "default" : "lsi", @@ -20708,7 +20946,7 @@ const apiSchema = [ "type" : "string" }, "version" : { - "default" : "v2.0", + "default" : "v1.2", "description" : "The TPM interface version. v2.0 is newer and should be preferred. Note that this cannot be changed later on.", "enum" : [ "v1.2", @@ -20784,7 +21022,7 @@ const apiSchema = [ "description" : "Configure the VGA hardware.", "format" : { "clipboard" : { - "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added.", + "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!", "enum" : [ "vnc" ], @@ -20801,7 +21039,7 @@ const apiSchema = [ "type" : { "default" : "std", "default_key" : 1, - "description" : "Select the VGA type.", + "description" : "Select the VGA type. Using type 'cirrus' is not recommended.", "enum" : [ "cirrus", "qxl", @@ -21170,9 +21408,10 @@ const apiSchema = [ "vmstatestorage" : { "description" : "Default storage for VM state volumes/files.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "watchdog" : { "description" : "Create a virtual hardware watchdog device.", @@ -21985,11 +22224,30 @@ const apiSchema = [ "type" : "string" }, "machine" : { - "description" : "Specifies the QEMU machine type.", - "maxLength" : 40, + "description" : "Specify the QEMU machine.", + "format" : { + "type" : { + "default_key" : 1, + "description" : "Specifies the QEMU machine type.", + "format_description" : "machine type", + "maxLength" : 40, + "optional" : 1, + "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", + "type" : "string" + }, + "viommu" : { + "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).", + "enum" : [ + "intel", + "virtio" + ], + "optional" : 1, + "type" : "string" + } + }, "optional" : 1, - "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", - "type" : "string" + "type" : "string", + "typetext" : "[[type=]] [,viommu=]" }, "memory" : { "description" : "Memory properties.", @@ -22008,7 +22266,7 @@ const apiSchema = [ }, "migrate_downtime" : { "default" : 0.1, - "description" : "Set maximum tolerated downtime (in seconds) for migrations.", + "description" : "Set maximum tolerated downtime (in seconds) for migrations. Should the migration not be able to converge in the very end, because too much newly dirtied RAM needs to be transferred, the limit will be increased automatically step-by-step until migration can converge.", "minimum" : 0, "optional" : 1, "type" : "number", @@ -22255,7 +22513,7 @@ const apiSchema = [ ], "optional" : 1, "type" : "string", - "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" + "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" }, "parallel[n]" : { "description" : "Map host parallel devices (n is 0 to 2).", @@ -22881,6 +23139,13 @@ const apiSchema = [ "optional" : 1, "type" : "string" }, + "product" : { + "description" : "The drive's product name, up to 16 bytes long.", + "format_description" : "product", + "optional" : 1, + "pattern" : "[A-Za-z0-9\\-_\\s]{,16}", + "type" : "string" + }, "queues" : { "description" : "Number of queues.", "minimum" : 2, @@ -22961,6 +23226,13 @@ const apiSchema = [ "optional" : 1, "type" : "string" }, + "vendor" : { + "description" : "The drive's vendor name, up to 8 bytes long.", + "format_description" : "vendor", + "optional" : 1, + "pattern" : "[A-Za-z0-9\\-_\\s]{,8}", + "type" : "string" + }, "volume" : { "alias" : "file" }, @@ -22985,7 +23257,7 @@ const apiSchema = [ }, "optional" : 1, "type" : "string", - "typetext" : "[file=] [,aio=] [,backup=<1|0>] [,bps=] [,bps_max_length=] [,bps_rd=] [,bps_rd_max_length=] [,bps_wr=] [,bps_wr_max_length=] [,cache=] [,cyls=] [,detect_zeroes=<1|0>] [,discard=] [,format=] [,heads=] [,import-from=] [,iops=] [,iops_max=] [,iops_max_length=] [,iops_rd=] [,iops_rd_max=] [,iops_rd_max_length=] [,iops_wr=] [,iops_wr_max=] [,iops_wr_max_length=] [,iothread=<1|0>] [,mbps=] [,mbps_max=] [,mbps_rd=] [,mbps_rd_max=] [,mbps_wr=] [,mbps_wr_max=] [,media=] [,queues=] [,replicate=<1|0>] [,rerror=] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=] [,serial=] [,shared=<1|0>] [,size=] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=] [,werror=] [,wwn=]" + "typetext" : "[file=] [,aio=] [,backup=<1|0>] [,bps=] [,bps_max_length=] [,bps_rd=] [,bps_rd_max_length=] [,bps_wr=] [,bps_wr_max_length=] [,cache=] [,cyls=] [,detect_zeroes=<1|0>] [,discard=] [,format=] [,heads=] [,import-from=] [,iops=] [,iops_max=] [,iops_max_length=] [,iops_rd=] [,iops_rd_max=] [,iops_rd_max_length=] [,iops_wr=] [,iops_wr_max=] [,iops_wr_max_length=] [,iothread=<1|0>] [,mbps=] [,mbps_max=] [,mbps_rd=] [,mbps_rd_max=] [,mbps_wr=] [,mbps_wr_max=] [,media=] [,product=] [,queues=] [,replicate=<1|0>] [,rerror=] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=] [,serial=] [,shared=<1|0>] [,size=] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=] [,vendor=] [,werror=] [,wwn=]" }, "scsihw" : { "default" : "lsi", @@ -23154,7 +23426,7 @@ const apiSchema = [ "type" : "string" }, "version" : { - "default" : "v2.0", + "default" : "v1.2", "description" : "The TPM interface version. v2.0 is newer and should be preferred. Note that this cannot be changed later on.", "enum" : [ "v1.2", @@ -23230,7 +23502,7 @@ const apiSchema = [ "description" : "Configure the VGA hardware.", "format" : { "clipboard" : { - "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added.", + "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!", "enum" : [ "vnc" ], @@ -23247,7 +23519,7 @@ const apiSchema = [ "type" : { "default" : "std", "default_key" : 1, - "description" : "Select the VGA type.", + "description" : "Select the VGA type. Using type 'cirrus' is not recommended.", "enum" : [ "cirrus", "qxl", @@ -23616,9 +23888,10 @@ const apiSchema = [ "vmstatestorage" : { "description" : "Default storage for VM state volumes/files.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "watchdog" : { "description" : "Create a virtual hardware watchdog device.", @@ -24400,11 +24673,30 @@ const apiSchema = [ "typetext" : "" }, "machine" : { - "description" : "Specifies the QEMU machine type.", - "maxLength" : 40, + "description" : "Specify the QEMU machine.", + "format" : { + "type" : { + "default_key" : 1, + "description" : "Specifies the QEMU machine type.", + "format_description" : "machine type", + "maxLength" : 40, + "optional" : 1, + "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", + "type" : "string" + }, + "viommu" : { + "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).", + "enum" : [ + "intel", + "virtio" + ], + "optional" : 1, + "type" : "string" + } + }, "optional" : 1, - "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", - "type" : "string" + "type" : "string", + "typetext" : "[[type=]] [,viommu=]" }, "migratedfrom" : { "description" : "The cluster node name.", @@ -24497,7 +24789,7 @@ const apiSchema = [ "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", + "description" : "Stop virtual machine. The qemu process will exit immediately. This is akin to pulling the power plug of a running computer and may damage the VM data.", "method" : "POST", "name" : "vm_stop", "parameters" : { @@ -24523,6 +24815,13 @@ const apiSchema = [ "type" : "string", "typetext" : "" }, + "overrule-shutdown" : { + "default" : 0, + "description" : "Try to abort active 'qmshutdown' tasks before stopping.", + "optional" : 1, + "type" : "boolean", + "typetext" : "" + }, "skiplock" : { "description" : "Ignore locks - only root is allowed to use this option.", "optional" : 1, @@ -24622,7 +24921,7 @@ const apiSchema = [ "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.", + "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", "parameters" : { @@ -24769,10 +25068,11 @@ const apiSchema = [ "statestorage" : { "description" : "The storage for the VM state", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "requires" : "todisk", "type" : "string", - "typetext" : "" + "typetext" : "" }, "todisk" : { "default" : 0, @@ -25132,9 +25432,10 @@ const apiSchema = [ "storage" : { "description" : "Target storage for full clone.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "target" : { "description" : "Target node. Only allowed if the original VM is on shared storage.", @@ -25568,9 +25869,10 @@ const apiSchema = [ "storage" : { "description" : "Target storage.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "target-digest" : { "description" : "Prevent changes if the current config file of the target VM has a\"\n\t\t .\" different SHA1 digest. This can be used to detect concurrent modifications.", @@ -26164,7 +26466,7 @@ const apiSchema = [ "description" : "Remote target endpoint", "format" : "proxmox-remote", "type" : "string", - "typetext" : "apitoken= ,host= [,fingerprint=] [,port=]" + "typetext" : "apitoken= ,host=
[,fingerprint=] [,port=]" }, "target-storage" : { "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.", @@ -28057,9 +28359,8 @@ const apiSchema = [ "typetext" : "" }, "live-restore" : { - "description" : "Start the VM immediately from the backup and restore in background. PBS only.", + "description" : "Start the VM immediately while importing or restoring in the background.", "optional" : 1, - "requires" : "archive", "type" : "boolean", "typetext" : "" }, @@ -28086,11 +28387,30 @@ const apiSchema = [ "type" : "string" }, "machine" : { - "description" : "Specifies the QEMU machine type.", - "maxLength" : 40, + "description" : "Specify the QEMU machine.", + "format" : { + "type" : { + "default_key" : 1, + "description" : "Specifies the QEMU machine type.", + "format_description" : "machine type", + "maxLength" : 40, + "optional" : 1, + "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", + "type" : "string" + }, + "viommu" : { + "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).", + "enum" : [ + "intel", + "virtio" + ], + "optional" : 1, + "type" : "string" + } + }, "optional" : 1, - "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)", - "type" : "string" + "type" : "string", + "typetext" : "[[type=]] [,viommu=]" }, "memory" : { "description" : "Memory properties.", @@ -28109,7 +28429,7 @@ const apiSchema = [ }, "migrate_downtime" : { "default" : 0.1, - "description" : "Set maximum tolerated downtime (in seconds) for migrations.", + "description" : "Set maximum tolerated downtime (in seconds) for migrations. Should the migration not be able to converge in the very end, because too much newly dirtied RAM needs to be transferred, the limit will be increased automatically step-by-step until migration can converge.", "minimum" : 0, "optional" : 1, "type" : "number", @@ -28356,7 +28676,7 @@ const apiSchema = [ ], "optional" : 1, "type" : "string", - "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" + "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n" }, "parallel[n]" : { "description" : "Map host parallel devices (n is 0 to 2).", @@ -28982,6 +29302,13 @@ const apiSchema = [ "optional" : 1, "type" : "string" }, + "product" : { + "description" : "The drive's product name, up to 16 bytes long.", + "format_description" : "product", + "optional" : 1, + "pattern" : "[A-Za-z0-9\\-_\\s]{,16}", + "type" : "string" + }, "queues" : { "description" : "Number of queues.", "minimum" : 2, @@ -29062,6 +29389,13 @@ const apiSchema = [ "optional" : 1, "type" : "string" }, + "vendor" : { + "description" : "The drive's vendor name, up to 8 bytes long.", + "format_description" : "vendor", + "optional" : 1, + "pattern" : "[A-Za-z0-9\\-_\\s]{,8}", + "type" : "string" + }, "volume" : { "alias" : "file" }, @@ -29086,7 +29420,7 @@ const apiSchema = [ }, "optional" : 1, "type" : "string", - "typetext" : "[file=] [,aio=] [,backup=<1|0>] [,bps=] [,bps_max_length=] [,bps_rd=] [,bps_rd_max_length=] [,bps_wr=] [,bps_wr_max_length=] [,cache=] [,cyls=] [,detect_zeroes=<1|0>] [,discard=] [,format=] [,heads=] [,import-from=] [,iops=] [,iops_max=] [,iops_max_length=] [,iops_rd=] [,iops_rd_max=] [,iops_rd_max_length=] [,iops_wr=] [,iops_wr_max=] [,iops_wr_max_length=] [,iothread=<1|0>] [,mbps=] [,mbps_max=] [,mbps_rd=] [,mbps_rd_max=] [,mbps_wr=] [,mbps_wr_max=] [,media=] [,queues=] [,replicate=<1|0>] [,rerror=] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=] [,serial=] [,shared=<1|0>] [,size=] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=] [,werror=] [,wwn=]" + "typetext" : "[file=] [,aio=] [,backup=<1|0>] [,bps=] [,bps_max_length=] [,bps_rd=] [,bps_rd_max_length=] [,bps_wr=] [,bps_wr_max_length=] [,cache=] [,cyls=] [,detect_zeroes=<1|0>] [,discard=] [,format=] [,heads=] [,import-from=] [,iops=] [,iops_max=] [,iops_max_length=] [,iops_rd=] [,iops_rd_max=] [,iops_rd_max_length=] [,iops_wr=] [,iops_wr_max=] [,iops_wr_max_length=] [,iothread=<1|0>] [,mbps=] [,mbps_max=] [,mbps_rd=] [,mbps_rd_max=] [,mbps_wr=] [,mbps_wr_max=] [,media=] [,product=] [,queues=] [,replicate=<1|0>] [,rerror=] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=] [,serial=] [,shared=<1|0>] [,size=] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=] [,vendor=] [,werror=] [,wwn=]" }, "scsihw" : { "default" : "lsi", @@ -29205,9 +29539,10 @@ const apiSchema = [ "storage" : { "description" : "Default storage.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "tablet" : { "default" : 1, @@ -29263,7 +29598,7 @@ const apiSchema = [ "type" : "string" }, "version" : { - "default" : "v2.0", + "default" : "v1.2", "description" : "The TPM interface version. v2.0 is newer and should be preferred. Note that this cannot be changed later on.", "enum" : [ "v1.2", @@ -29346,7 +29681,7 @@ const apiSchema = [ "description" : "Configure the VGA hardware.", "format" : { "clipboard" : { - "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added.", + "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!", "enum" : [ "vnc" ], @@ -29363,7 +29698,7 @@ const apiSchema = [ "type" : { "default" : "std", "default_key" : 1, - "description" : "Select the VGA type.", + "description" : "Select the VGA type. Using type 'cirrus' is not recommended.", "enum" : [ "cirrus", "qxl", @@ -29732,9 +30067,10 @@ const apiSchema = [ "vmstatestorage" : { "description" : "Default storage for VM state volumes/files.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "watchdog" : { "description" : "Create a virtual hardware watchdog device.", @@ -31144,6 +31480,13 @@ const apiSchema = [ "type" : "string", "typetext" : "" }, + "overrule-shutdown" : { + "default" : 0, + "description" : "Try to abort active 'vzshutdown' tasks before stopping.", + "optional" : 1, + "type" : "boolean", + "typetext" : "" + }, "skiplock" : { "description" : "Ignore locks - only root is allowed to use this option.", "optional" : 1, @@ -34208,7 +34551,7 @@ const apiSchema = [ "description" : "Remote target endpoint", "format" : "proxmox-remote", "type" : "string", - "typetext" : "apitoken= ,host= [,fingerprint=] [,port=]" + "typetext" : "apitoken= ,host=
[,fingerprint=] [,port=]" }, "target-storage" : { "description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.", @@ -34535,9 +34878,10 @@ const apiSchema = [ "storage" : { "description" : "Target storage for full clone.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "target" : { "description" : "Target node. Only allowed if the original VM is on shared storage.", @@ -34964,9 +35308,10 @@ const apiSchema = [ "storage" : { "description" : "Target Storage.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "target-digest" : { "description" : "Prevent changes if current configuration file of the target \" .\n\t\t \"container has a different SHA1 digest. This can be used to prevent \" .\n\t\t \"concurrent modifications.", @@ -37098,9 +37443,10 @@ const apiSchema = [ "default" : "local", "description" : "Default Storage.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "swap" : { "default" : 512, @@ -39868,9 +40214,10 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" } } }, @@ -39920,13 +40267,19 @@ const apiSchema = [ "type" : "string" }, "exclude-path" : { - "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.", + "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.", "items" : { "type" : "string" }, "optional" : 1, "type" : "array" }, + "fleecing" : { + "description" : "Options for backup fleecing (VM only).", + "format" : "backup-fleecing", + "optional" : 1, + "type" : "string" + }, "ionice" : { "default" : 7, "description" : "Set IO priority when using the BFQ scheduler. For snapshot and suspend mode backups of VMs, this only affects the compressor. A value of 8 means the idle priority is used, otherwise the best-effort priority is used with the specified value.", @@ -39944,7 +40297,7 @@ const apiSchema = [ }, "mailnotification" : { "default" : "always", - "description" : "Deprecated: use 'notification-policy' instead.", + "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail", "enum" : [ "always", "failure" @@ -39953,7 +40306,7 @@ const apiSchema = [ "type" : "string" }, "mailto" : { - "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option is set at the same time.", + "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.", "format" : "email-or-username-list", "optional" : 1, "type" : "string" @@ -39988,9 +40341,20 @@ const apiSchema = [ "requires" : "storage", "type" : "string" }, + "notification-mode" : { + "default" : "auto", + "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.", + "enum" : [ + "auto", + "legacy-sendmail", + "notification-system" + ], + "optional" : 1, + "type" : "string" + }, "notification-policy" : { "default" : "always", - "description" : "Specify when to send a notification", + "description" : "Deprecated: Do not use", "enum" : [ "always", "failure", @@ -40000,11 +40364,21 @@ const apiSchema = [ "type" : "string" }, "notification-target" : { - "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are set, the 'mailto' option will be ignored.", + "description" : "Deprecated: Do not use", "format" : "pve-configid", "optional" : 1, "type" : "string" }, + "pbs-change-detection-mode" : { + "description" : "PBS mode used to detect file changes and switch encoding. NOTE: `data` and `metadata` modes are experimental. format for container backups.", + "enum" : [ + "legacy", + "data", + "metadata" + ], + "optional" : 1, + "type" : "string" + }, "performance" : { "description" : "Other performance-related settings.", "format" : "backup-performance", @@ -40074,6 +40448,7 @@ const apiSchema = [ "storage" : { "description" : "Store resulting file to this storage.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string" }, @@ -40090,7 +40465,7 @@ const apiSchema = [ }, "zstd" : { "default" : 1, - "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.", + "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.", "optional" : 1, "type" : "integer" } @@ -40193,7 +40568,7 @@ const apiSchema = [ "typetext" : "" }, "exclude-path" : { - "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.", + "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.", "items" : { "type" : "string" }, @@ -40201,6 +40576,13 @@ const apiSchema = [ "type" : "array", "typetext" : "" }, + "fleecing" : { + "description" : "Options for backup fleecing (VM only).", + "format" : "backup-fleecing", + "optional" : 1, + "type" : "string", + "typetext" : "[[enabled=]<1|0>] [,storage=]" + }, "ionice" : { "default" : 7, "description" : "Set IO priority when using the BFQ scheduler. For snapshot and suspend mode backups of VMs, this only affects the compressor. A value of 8 means the idle priority is used, otherwise the best-effort priority is used with the specified value.", @@ -40210,6 +40592,14 @@ const apiSchema = [ "type" : "integer", "typetext" : " (0 - 8)" }, + "job-id" : { + "description" : "The ID of the backup job. If set, the 'backup-job' metadata field of the backup notification will be set to this value. Only root@pam can set this parameter.", + "format" : "pve-configid", + "maxLength" : 256, + "optional" : 1, + "type" : "string", + "typetext" : "" + }, "lockwait" : { "default" : 180, "description" : "Maximal time to wait for the global lock (minutes).", @@ -40220,7 +40610,7 @@ const apiSchema = [ }, "mailnotification" : { "default" : "always", - "description" : "Deprecated: use 'notification-policy' instead.", + "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail", "enum" : [ "always", "failure" @@ -40229,7 +40619,7 @@ const apiSchema = [ "type" : "string" }, "mailto" : { - "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option is set at the same time.", + "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.", "format" : "email-or-username-list", "optional" : 1, "type" : "string", @@ -40268,9 +40658,20 @@ const apiSchema = [ "type" : "string", "typetext" : "" }, + "notification-mode" : { + "default" : "auto", + "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.", + "enum" : [ + "auto", + "legacy-sendmail", + "notification-system" + ], + "optional" : 1, + "type" : "string" + }, "notification-policy" : { "default" : "always", - "description" : "Specify when to send a notification", + "description" : "Deprecated: Do not use", "enum" : [ "always", "failure", @@ -40280,12 +40681,22 @@ const apiSchema = [ "type" : "string" }, "notification-target" : { - "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are set, the 'mailto' option will be ignored.", + "description" : "Deprecated: Do not use", "format" : "pve-configid", "optional" : 1, "type" : "string", "typetext" : "" }, + "pbs-change-detection-mode" : { + "description" : "PBS mode used to detect file changes and switch encoding. NOTE: `data` and `metadata` modes are experimental. format for container backups.", + "enum" : [ + "legacy", + "data", + "metadata" + ], + "optional" : 1, + "type" : "string" + }, "performance" : { "description" : "Other performance-related settings.", "format" : "backup-performance", @@ -40372,9 +40783,10 @@ const apiSchema = [ "storage" : { "description" : "Store resulting file to this storage.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "tmpdir" : { "description" : "Store temporary files to specified directory.", @@ -40391,7 +40803,7 @@ const apiSchema = [ }, "zstd" : { "default" : 1, - "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.", + "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.", "optional" : 1, "type" : "integer", "typetext" : "" @@ -40399,7 +40811,7 @@ const apiSchema = [ } }, "permissions" : { - "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'tmpdir', 'dumpdir' and 'script' parameters are restricted to the 'root@pam' user. The 'maxfiles' and 'prune-backups' settings require 'Datastore.Allocate' on the backup storage. The 'bwlimit', 'performance' and 'ionice' parameters require 'Sys.Modify' on '/'. ", + "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage (and fleecing storage when fleecing is used). The 'tmpdir', 'dumpdir', 'script' and 'job-id' parameters are restricted to the 'root@pam' user. The 'maxfiles' and 'prune-backups' settings require 'Datastore.Allocate' on the backup storage. The 'bwlimit', 'performance' and 'ionice' parameters require 'Sys.Modify' on '/'.", "user" : "all" }, "protected" : 1, @@ -43188,8 +43600,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "type" : { "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.", @@ -43245,8 +43658,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "type" : { "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.", @@ -43352,9 +43766,10 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "volume" : { "description" : "Volume identifier", @@ -43391,9 +43806,10 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "volume" : { "description" : "Volume identifier", @@ -43459,9 +43875,10 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "target" : { "description" : "Target volume identifier", @@ -43517,9 +43934,10 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "volume" : { "description" : "Volume identifier", @@ -43569,8 +43987,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "vmid" : { "description" : "Only list images for this VM", @@ -43714,8 +44133,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "vmid" : { "description" : "Specify owner VM", @@ -43774,8 +44194,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "volume" : { "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.", @@ -43854,8 +44275,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "tar" : { "default" : 0, @@ -43910,8 +44332,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" } } }, @@ -43972,8 +44395,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "timeframe" : { "description" : "Specify the time frame you are interested in.", @@ -44044,8 +44468,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "timeframe" : { "description" : "Specify the time frame you are interested in.", @@ -44142,8 +44567,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "tmpfilename" : { "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.", @@ -44234,8 +44660,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "url" : { "description" : "The URL to download the file from.", @@ -44262,14 +44689,25 @@ const apiSchema = [ ] ], [ - "perm", - "/", + "or", + [ + "perm", + "/", + [ + "Sys.Audit", + "Sys.Modify" + ] + ], [ - "Sys.Audit", - "Sys.Modify" + "perm", + "/nodes/{node}", + [ + "Sys.AccessNetwork" + ] ] ] - ] + ], + "description" : "Requires allocation access on the storage and as this allows one to probe the (local!) host network indirectly it also requires one of Sys.Modify on / (for backwards compatibility) or the newer Sys.AccessNetwork privilege on the node." }, "protected" : 1, "proxyto" : "node", @@ -44281,6 +44719,119 @@ const apiSchema = [ "leaf" : 1, "path" : "/nodes/{node}/storage/{storage}/download-url", "text" : "download-url" + }, + { + "info" : { + "GET" : { + "allowtoken" : 1, + "description" : "Get the base parameters for creating a guest which imports data from a foreign importable guest, like an ESXi VM", + "method" : "GET", + "name" : "get_import_metadata", + "parameters" : { + "additionalProperties" : 0, + "properties" : { + "node" : { + "description" : "The cluster node name.", + "format" : "pve-node", + "type" : "string", + "typetext" : "" + }, + "storage" : { + "description" : "The storage identifier.", + "format" : "pve-storage-id", + "format_description" : "storage ID", + "type" : "string", + "typetext" : "" + }, + "volume" : { + "description" : "Volume identifier for the guest archive/entry.", + "type" : "string", + "typetext" : "" + } + } + }, + "permissions" : { + "description" : "You need read access for the volume.", + "user" : "all" + }, + "protected" : 1, + "proxyto" : "node", + "returns" : { + "additionalProperties" : 0, + "description" : "Information about how to import a guest.", + "properties" : { + "create-args" : { + "additionalProperties" : 1, + "description" : "Parameters which can be used in a call to create a VM or container.", + "type" : "object" + }, + "disks" : { + "additionalProperties" : 1, + "description" : "Recognised disk volumes as `$bus$id` => `$storeid:$path` map.", + "optional" : 1, + "type" : "object" + }, + "net" : { + "additionalProperties" : 1, + "description" : "Recognised network interfaces as `net$id` => { ...params } object.", + "optional" : 1, + "type" : "object" + }, + "source" : { + "description" : "The type of the import-source of this guest volume.", + "enum" : [ + "esxi" + ], + "type" : "string" + }, + "type" : { + "description" : "The type of guest this is going to produce.", + "enum" : [ + "vm" + ], + "type" : "string" + }, + "warnings" : { + "description" : "List of known issues that can affect the import of a guest. Note that lack of warning does not imply that there cannot be any problems.", + "items" : { + "additionalProperties" : 1, + "properties" : { + "key" : { + "description" : "Related subject (config) key of warning.", + "optional" : 1, + "type" : "string" + }, + "type" : { + "description" : "What this warning is about.", + "enum" : [ + "cdrom-image-ignored", + "efi-state-lost", + "guest-is-running", + "nvme-unsupported", + "ovmf-with-lsi-unsupported", + "serial-port-socket-only" + ], + "type" : "string" + }, + "value" : { + "description" : "Related subject (config) value of warning.", + "optional" : 1, + "type" : "string" + } + }, + "type" : "object" + }, + "optional" : 1, + "type" : "array" + } + }, + "type" : "object" + } + } + }, + "leaf" : 1, + "path" : "/nodes/{node}/storage/{storage}/import-metadata", + "text" : "import-metadata" } ], "info" : { @@ -44301,8 +44852,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" } } }, @@ -44381,9 +44933,10 @@ const apiSchema = [ "storage" : { "description" : "Only list status for specified storage", "format" : "pve-storage-id", + "format_description" : "storage ID", "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "" }, "target" : { "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.", @@ -44432,6 +44985,7 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string" }, "total" : { @@ -44504,8 +45058,9 @@ const apiSchema = [ "name" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "node" : { "description" : "The cluster node name.", @@ -44645,8 +45200,9 @@ const apiSchema = [ "name" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "node" : { "description" : "The cluster node name.", @@ -44706,8 +45262,9 @@ const apiSchema = [ "name" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "node" : { "description" : "The cluster node name.", @@ -44718,8 +45275,9 @@ const apiSchema = [ "volume-group" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" } } }, @@ -44829,8 +45387,9 @@ const apiSchema = [ "name" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "node" : { "description" : "The cluster node name.", @@ -44890,8 +45449,9 @@ const apiSchema = [ "name" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "node" : { "description" : "The cluster node name.", @@ -45013,8 +45573,9 @@ const apiSchema = [ "name" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "node" : { "description" : "The cluster node name.", @@ -45074,8 +45635,9 @@ const apiSchema = [ "name" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "node" : { "description" : "The cluster node name.", @@ -45112,8 +45674,9 @@ const apiSchema = [ "name" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "node" : { "description" : "The cluster node name.", @@ -45343,8 +45906,9 @@ const apiSchema = [ "name" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "node" : { "description" : "The cluster node name.", @@ -46893,6 +47457,12 @@ const apiSchema = [ "optional" : 1, "type" : "integer" }, + "nftables" : { + "default" : 0, + "description" : "Enable nftables based firewall (tech preview)", + "optional" : 1, + "type" : "boolean" + }, "nosmurfs" : { "description" : "Enable SMURFS filter.", "optional" : 1, @@ -47072,6 +47642,13 @@ const apiSchema = [ "type" : "integer", "typetext" : " (30 - 60)" }, + "nftables" : { + "default" : 0, + "description" : "Enable nftables based firewall (tech preview)", + "optional" : 1, + "type" : "boolean", + "typetext" : "" + }, "node" : { "description" : "The cluster node name.", "format" : "pve-node", @@ -48109,8 +48686,32 @@ const apiSchema = [ "type" : "integer" }, "wakeonlan" : { - "description" : "MAC address for wake on LAN", - "format" : "mac-addr", + "description" : "Node specific wake on LAN settings.", + "format" : { + "bind-interface" : { + "default" : "The interface carrying the default route", + "description" : "Bind to this interface when sending wake on LAN packet", + "format" : "pve-iface", + "format_description" : "bind interface", + "optional" : 1, + "type" : "string" + }, + "broadcast-address" : { + "default" : "255.255.255.255", + "description" : "IPv4 broadcast address to use when sending wake on LAN packet", + "format" : "ipv4", + "format_description" : "IPv4 broadcast address", + "optional" : 1, + "type" : "string" + }, + "mac" : { + "default_key" : 1, + "description" : "MAC address for wake on LAN", + "format" : "mac-addr", + "format_description" : "MAC address", + "type" : "string" + } + }, "optional" : 1, "type" : "string" } @@ -48216,11 +48817,35 @@ const apiSchema = [ "typetext" : " (0 - 300)" }, "wakeonlan" : { - "description" : "MAC address for wake on LAN", - "format" : "mac-addr", + "description" : "Node specific wake on LAN settings.", + "format" : { + "bind-interface" : { + "default" : "The interface carrying the default route", + "description" : "Bind to this interface when sending wake on LAN packet", + "format" : "pve-iface", + "format_description" : "bind interface", + "optional" : 1, + "type" : "string" + }, + "broadcast-address" : { + "default" : "255.255.255.255", + "description" : "IPv4 broadcast address to use when sending wake on LAN packet", + "format" : "ipv4", + "format_description" : "IPv4 broadcast address", + "optional" : 1, + "type" : "string" + }, + "mac" : { + "default_key" : 1, + "description" : "MAC address for wake on LAN", + "format" : "mac-addr", + "format_description" : "MAC address", + "type" : "string" + } + }, "optional" : 1, "type" : "string", - "typetext" : "" + "typetext" : "[mac=] [,bind-interface=] [,broadcast-address=]" } } }, @@ -48551,6 +49176,50 @@ const apiSchema = [ }, "proxyto" : "node", "returns" : { + "additionalProperties" : 1, + "properties" : { + "boot-info" : { + "description" : "Meta-information about the boot mode.", + "properties" : { + "mode" : { + "description" : "Through which firmware the system got booted.", + "enum" : [ + "efi", + "legacy-bios" + ], + "type" : "string" + }, + "secureboot" : { + "description" : "System is booted in secure mode, only applicable for the \"efi\" mode.", + "optional" : 1, + "type" : "boolean" + } + }, + "type" : "object" + }, + "current-kernel" : { + "description" : "Meta-information about the currently booted kernel of this node.", + "properties" : { + "machine" : { + "description" : "Hardware (architecture) type", + "type" : "string" + }, + "release" : { + "description" : "OS kernel release (e.g., \"6.8.0\")", + "type" : "string" + }, + "sysname" : { + "description" : "OS kernel name (e.g., \"Linux\")", + "type" : "string" + }, + "version" : { + "description" : "OS kernel version with build info", + "type" : "string" + } + }, + "type" : "object" + } + }, "type" : "object" } }, @@ -49017,8 +49686,8 @@ const apiSchema = [ "default" : "login", "description" : "Run specific command or default to login (requires 'root@pam')", "enum" : [ - "ceph_install", "login", + "ceph_install", "upgrade" ], "optional" : 1, @@ -49112,8 +49781,8 @@ const apiSchema = [ "default" : "login", "description" : "Run specific command or default to login (requires 'root@pam')", "enum" : [ - "ceph_install", "login", + "ceph_install", "upgrade" ], "optional" : 1, @@ -49237,8 +49906,8 @@ const apiSchema = [ "default" : "login", "description" : "Run specific command or default to login (requires 'root@pam')", "enum" : [ - "ceph_install", "login", + "ceph_install", "upgrade" ], "optional" : 1, @@ -49561,8 +50230,9 @@ const apiSchema = [ "storage" : { "description" : "The storage where the template will be stored", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "template" : { "description" : "The template which will downloaded", @@ -49624,11 +50294,21 @@ const apiSchema = [ }, "permissions" : { "check" : [ - "perm", - "/", + "or", [ - "Sys.Audit", - "Sys.Modify" + "perm", + "/", + [ + "Sys.Audit", + "Sys.Modify" + ] + ], + [ + "perm", + "/nodes/{node}", + [ + "Sys.AccessNetwork" + ] ] ] }, @@ -50131,8 +50811,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" } } }, @@ -50161,8 +50842,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" } } }, @@ -50423,7 +51105,7 @@ const apiSchema = [ "typetext" : "" }, "nodes" : { - "description" : "List of cluster node names.", + "description" : "List of nodes for which the storage configuration applies.", "format" : "pve-node-list", "optional" : 1, "type" : "string", @@ -50456,7 +51138,6 @@ const apiSchema = [ "typetext" : "" }, "port" : { - "default" : 8007, "description" : "For non default port.", "maximum" : 65535, "minimum" : 1, @@ -50511,7 +51192,14 @@ const apiSchema = [ "typetext" : "" }, "shared" : { - "description" : "Mark storage as shared.", + "description" : "Indicate that this is a single storage with the same contents on all nodes (or all listed in the 'nodes' option). It will not make the contents of a local storage automatically accessible to other nodes, it just marks an already shared storage as such!", + "optional" : 1, + "type" : "boolean", + "typetext" : "" + }, + "skip-cert-verification" : { + "default" : "false", + "description" : "Disable TLS certificate verification, only enable on fully trusted networks!", "optional" : 1, "type" : "boolean", "typetext" : "" @@ -50539,8 +51227,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "subdir" : { "description" : "Subdir to mount.", @@ -50610,6 +51299,7 @@ const apiSchema = [ "cephfs", "cifs", "dir", + "esxi", "glusterfs", "iscsi", "iscsidirect", @@ -50649,6 +51339,7 @@ const apiSchema = [ "cephfs", "cifs", "dir", + "esxi", "glusterfs", "iscsi", "iscsidirect", @@ -50948,7 +51639,7 @@ const apiSchema = [ "typetext" : "" }, "nodes" : { - "description" : "List of cluster node names.", + "description" : "List of nodes for which the storage configuration applies.", "format" : "pve-node-list", "optional" : 1, "type" : "string", @@ -50988,7 +51679,6 @@ const apiSchema = [ "typetext" : "" }, "port" : { - "default" : 8007, "description" : "For non default port.", "maximum" : 65535, "minimum" : 1, @@ -51056,7 +51746,14 @@ const apiSchema = [ "typetext" : "" }, "shared" : { - "description" : "Mark storage as shared.", + "description" : "Indicate that this is a single storage with the same contents on all nodes (or all listed in the 'nodes' option). It will not make the contents of a local storage automatically accessible to other nodes, it just marks an already shared storage as such!", + "optional" : 1, + "type" : "boolean", + "typetext" : "" + }, + "skip-cert-verification" : { + "default" : "false", + "description" : "Disable TLS certificate verification, only enable on fully trusted networks!", "optional" : 1, "type" : "boolean", "typetext" : "" @@ -51084,8 +51781,9 @@ const apiSchema = [ "storage" : { "description" : "The storage identifier.", "format" : "pve-storage-id", + "format_description" : "storage ID", "type" : "string", - "typetext" : "" + "typetext" : "" }, "subdir" : { "description" : "Subdir to mount.", @@ -51130,6 +51828,7 @@ const apiSchema = [ "cephfs", "cifs", "dir", + "esxi", "glusterfs", "iscsi", "iscsidirect", @@ -51201,6 +51900,7 @@ const apiSchema = [ "cephfs", "cifs", "dir", + "esxi", "glusterfs", "iscsi", "iscsidirect", @@ -51789,11 +52489,13 @@ const apiSchema = [ "additionalProperties" : 0, "properties" : { "comment" : { + "maxLength" : 2048, "optional" : 1, "type" : "string" }, "email" : { "format" : "email-opt", + "maxLength" : 254, "optional" : 1, "type" : "string" }, @@ -51810,6 +52512,7 @@ const apiSchema = [ "type" : "integer" }, "firstname" : { + "maxLength" : 1024, "optional" : 1, "type" : "string" }, @@ -51824,9 +52527,11 @@ const apiSchema = [ "keys" : { "description" : "Keys for two factor auth (yubico).", "optional" : 1, + "pattern" : "[0-9a-zA-Z!=]{0,4096}", "type" : "string" }, "lastname" : { + "maxLength" : 1024, "optional" : 1, "type" : "string" }, @@ -51875,12 +52580,14 @@ const apiSchema = [ "typetext" : "" }, "comment" : { + "maxLength" : 2048, "optional" : 1, "type" : "string", "typetext" : "" }, "email" : { "format" : "email-opt", + "maxLength" : 254, "optional" : 1, "type" : "string", "typetext" : "" @@ -51900,6 +52607,7 @@ const apiSchema = [ "typetext" : " (0 - N)" }, "firstname" : { + "maxLength" : 1024, "optional" : 1, "type" : "string", "typetext" : "" @@ -51913,10 +52621,11 @@ const apiSchema = [ "keys" : { "description" : "Keys for two factor auth (yubico).", "optional" : 1, - "type" : "string", - "typetext" : "" + "pattern" : "[0-9a-zA-Z!=]{0,4096}", + "type" : "string" }, "lastname" : { + "maxLength" : 1024, "optional" : 1, "type" : "string", "typetext" : "" @@ -51984,11 +52693,13 @@ const apiSchema = [ "items" : { "properties" : { "comment" : { + "maxLength" : 2048, "optional" : 1, "type" : "string" }, "email" : { "format" : "email-opt", + "maxLength" : 254, "optional" : 1, "type" : "string" }, @@ -52005,6 +52716,7 @@ const apiSchema = [ "type" : "integer" }, "firstname" : { + "maxLength" : 1024, "optional" : 1, "type" : "string" }, @@ -52016,9 +52728,11 @@ const apiSchema = [ "keys" : { "description" : "Keys for two factor auth (yubico).", "optional" : 1, + "pattern" : "[0-9a-zA-Z!=]{0,4096}", "type" : "string" }, "lastname" : { + "maxLength" : 1024, "optional" : 1, "type" : "string" }, @@ -52096,12 +52810,14 @@ const apiSchema = [ "additionalProperties" : 0, "properties" : { "comment" : { + "maxLength" : 2048, "optional" : 1, "type" : "string", "typetext" : "" }, "email" : { "format" : "email-opt", + "maxLength" : 254, "optional" : 1, "type" : "string", "typetext" : "" @@ -52121,6 +52837,7 @@ const apiSchema = [ "typetext" : " (0 - N)" }, "firstname" : { + "maxLength" : 1024, "optional" : 1, "type" : "string", "typetext" : "" @@ -52134,10 +52851,11 @@ const apiSchema = [ "keys" : { "description" : "Keys for two factor auth (yubico).", "optional" : 1, - "type" : "string", - "typetext" : "" + "pattern" : "[0-9a-zA-Z!=]{0,4096}", + "type" : "string" }, "lastname" : { + "maxLength" : 1024, "optional" : 1, "type" : "string", "typetext" : "" @@ -52506,6 +53224,10 @@ const apiSchema = [ "optional" : 1, "type" : "boolean" }, + "Sys.AccessNetwork" : { + "optional" : 1, + "type" : "boolean" + }, "Sys.Audit" : { "optional" : 1, "type" : "boolean" @@ -53030,8 +53752,8 @@ const apiSchema = [ "acr-values" : { "description" : "Specifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.", "optional" : 1, - "type" : "string", - "typetext" : "" + "pattern" : "^[^\\x00-\\x1F\\x7F <>#\"]*$", + "type" : "string" }, "autocreate" : { "default" : 0, @@ -53383,8 +54105,8 @@ const apiSchema = [ "acr-values" : { "description" : "Specifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.", "optional" : 1, - "type" : "string", - "typetext" : "" + "pattern" : "^[^\\x00-\\x1F\\x7F <>#\"]*$", + "type" : "string" }, "autocreate" : { "default" : 0, @@ -53835,7 +54557,7 @@ const apiSchema = [ "typetext" : "" }, "password" : { - "description" : "The current password.", + "description" : "The current password of the user performing the change.", "maxLength" : 64, "minLength" : 5, "optional" : 1, @@ -53973,7 +54695,7 @@ const apiSchema = [ "typetext" : "" }, "password" : { - "description" : "The current password.", + "description" : "The current password of the user performing the change.", "maxLength" : 64, "minLength" : 5, "optional" : 1, @@ -54118,7 +54840,7 @@ const apiSchema = [ "typetext" : "" }, "password" : { - "description" : "The current password.", + "description" : "The current password of the user performing the change.", "maxLength" : 64, "minLength" : 5, "optional" : 1, @@ -54413,6 +55135,14 @@ const apiSchema = [ "parameters" : { "additionalProperties" : 0, "properties" : { + "confirmation-password" : { + "description" : "The current password of the user performing the change.", + "maxLength" : 64, + "minLength" : 5, + "optional" : 1, + "type" : "string", + "typetext" : "" + }, "password" : { "description" : "The new password.", "maxLength" : 64,