-var pveapi = [
+const apiSchema = [
{
"children" : [
{
"typetext" : "<string>"
},
"source" : {
- "description" : "Source of the replication.",
+ "description" : "For internal use, to detect if the guest was stolen.",
"format" : "pve-node",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"source" : {
- "description" : "Source of the replication.",
+ "description" : "For internal use, to detect if the guest was stolen.",
"format" : "pve-node",
"optional" : 1,
"type" : "string",
"path" : "/cluster/replication",
"text" : "replication"
},
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Remove Metric server.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read metric server configuration.",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create a new external metric server config",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "api-path-prefix" : {
+ "description" : "An API path prefix inserted between '<host>:<port>/' and '/api2/'. Can be useful if the InfluxDB service runs behind a reverse proxy.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "bucket" : {
+ "description" : "The InfluxDB bucket/db. Only necessary when using the http v2 api.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "disable" : {
+ "description" : "Flag to disable the plugin.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "id" : {
+ "description" : "The ID of the entry.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "influxdbproto" : {
+ "default" : "udp",
+ "enum" : [
+ "udp",
+ "http",
+ "https"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "max-body-size" : {
+ "default" : 25000000,
+ "description" : "InfluxDB max-body-size in bytes. Requests are batched up to this size.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "mtu" : {
+ "default" : 1500,
+ "description" : "MTU for metrics transmission over UDP",
+ "maximum" : 65536,
+ "minimum" : 512,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (512 - 65536)"
+ },
+ "organization" : {
+ "description" : "The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "path" : {
+ "description" : "root graphite path (ex: proxmox.mycluster.mykey)",
+ "format" : "graphite-path",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "port" : {
+ "description" : "server network port",
+ "maximum" : 65536,
+ "minimum" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65536)"
+ },
+ "proto" : {
+ "description" : "Protocol to send graphite data. TCP or UDP (default)",
+ "enum" : [
+ "udp",
+ "tcp"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "server" : {
+ "description" : "server dns name or IP address",
+ "format" : "address",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "timeout" : {
+ "default" : 1,
+ "description" : "graphite TCP socket timeout (default=1)",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "token" : {
+ "description" : "The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use 'user:password' instead.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Plugin type.",
+ "enum" : [
+ "graphite",
+ "influxdb"
+ ],
+ "format" : "pve-configid",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update metric server configuration.",
+ "method" : "PUT",
+ "name" : "update",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "api-path-prefix" : {
+ "description" : "An API path prefix inserted between '<host>:<port>/' and '/api2/'. Can be useful if the InfluxDB service runs behind a reverse proxy.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "bucket" : {
+ "description" : "The InfluxDB bucket/db. Only necessary when using the http v2 api.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "disable" : {
+ "description" : "Flag to disable the plugin.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "id" : {
+ "description" : "The ID of the entry.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "influxdbproto" : {
+ "default" : "udp",
+ "enum" : [
+ "udp",
+ "http",
+ "https"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "max-body-size" : {
+ "default" : 25000000,
+ "description" : "InfluxDB max-body-size in bytes. Requests are batched up to this size.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "mtu" : {
+ "default" : 1500,
+ "description" : "MTU for metrics transmission over UDP",
+ "maximum" : 65536,
+ "minimum" : 512,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (512 - 65536)"
+ },
+ "organization" : {
+ "description" : "The InfluxDB organization. Only necessary when using the http v2 api. Has no meaning when using v2 compatibility api.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "path" : {
+ "description" : "root graphite path (ex: proxmox.mycluster.mykey)",
+ "format" : "graphite-path",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "port" : {
+ "description" : "server network port",
+ "maximum" : 65536,
+ "minimum" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65536)"
+ },
+ "proto" : {
+ "description" : "Protocol to send graphite data. TCP or UDP (default)",
+ "enum" : [
+ "udp",
+ "tcp"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "server" : {
+ "description" : "server dns name or IP address",
+ "format" : "address",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "timeout" : {
+ "default" : 1,
+ "description" : "graphite TCP socket timeout (default=1)",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "token" : {
+ "description" : "The InfluxDB access token. Only necessary when using the http v2 api. If the v2 compatibility api is used, use 'user:password' instead.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/metrics/server/{id}",
+ "text" : "{id}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List configured metric servers.",
+ "method" : "GET",
+ "name" : "server_index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "disable" : {
+ "description" : "Flag to disable the plugin.",
+ "type" : "boolean"
+ },
+ "id" : {
+ "description" : "The ID of the entry.",
+ "type" : "string"
+ },
+ "port" : {
+ "description" : "Server network port",
+ "type" : "integer"
+ },
+ "server" : {
+ "description" : "Server dns name or IP address",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "Plugin type.",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{id}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/metrics/server",
+ "text" : "server"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Metrics index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/metrics",
+ "text" : "metrics"
+ },
{
"children" : [
{
"optional" : 1,
"type" : "integer"
},
+ "icmp-type" : {
+ "optional" : 1,
+ "type" : "string"
+ },
"iface" : {
"optional" : 1,
"type" : "string"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
"type" : "string"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
"type" : "string"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"optional" : 1,
"type" : "integer"
},
+ "icmp-type" : {
+ "optional" : 1,
+ "type" : "string"
+ },
"iface" : {
"optional" : 1,
"type" : "string"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"format" : {
"burst" : {
"default" : 5,
- "description" : "Inital burst of packages which will get logged",
+ "description" : "Initial burst of packages which will always get logged before the rate is applied",
"minimum" : 0,
"optional" : 1,
"type" : "integer"
"format" : {
"burst" : {
"default" : 5,
- "description" : "Inital burst of packages which will get logged",
+ "description" : "Initial burst of packages which will always get logged before the rate is applied",
"minimum" : 0,
"optional" : 1,
"type" : "integer"
"typetext" : "<string>"
},
"exclude-path" : {
- "description" : "Exclude certain files/directories (shell globs).",
+ "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
"format" : "string-alist",
"optional" : 1,
"type" : "string",
"type" : "string"
},
"mailto" : {
- "description" : "Comma-separated list of email addresses that should receive email notifications.",
- "format" : "string-list",
+ "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
+ "format" : "email-or-username-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"maxfiles" : {
- "default" : 1,
- "description" : "Maximal number of backup files per guest system.",
+ "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
"minimum" : 1,
"optional" : 1,
"type" : "integer",
"type" : "string",
"typetext" : "<string>"
},
+ "prune-backups" : {
+ "default" : "keep-all=1",
+ "description" : "Use these retention options instead of those from the storage configuration.",
+ "format" : "prune-backups",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
+ },
"quiet" : {
"default" : 0,
"description" : "Be quiet.",
},
"remove" : {
"default" : 1,
- "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
+ "description" : "Prune older backups according to 'prune-backups'.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"type" : "string",
"typetext" : "<string>"
},
- "size" : {
- "default" : 1024,
- "description" : "Unused, will be removed in a future release.",
- "minimum" : 500,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (500 - N)"
- },
"starttime" : {
"description" : "Job Start time.",
"pattern" : "\\d{1,2}:\\d{1,2}",
"typetext" : "<string>"
},
"exclude-path" : {
- "description" : "Exclude certain files/directories (shell globs).",
+ "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
"format" : "string-alist",
"optional" : 1,
"type" : "string",
"type" : "string"
},
"mailto" : {
- "description" : "Comma-separated list of email addresses that should receive email notifications.",
- "format" : "string-list",
+ "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
+ "format" : "email-or-username-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"maxfiles" : {
- "default" : 1,
- "description" : "Maximal number of backup files per guest system.",
+ "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
"minimum" : 1,
"optional" : 1,
"type" : "integer",
"type" : "string",
"typetext" : "<string>"
},
+ "prune-backups" : {
+ "default" : "keep-all=1",
+ "description" : "Use these retention options instead of those from the storage configuration.",
+ "format" : "prune-backups",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
+ },
"quiet" : {
"default" : 0,
"description" : "Be quiet.",
},
"remove" : {
"default" : 1,
- "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
+ "description" : "Prune older backups according to 'prune-backups'.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"type" : "string",
"typetext" : "<string>"
},
- "size" : {
- "default" : 1024,
- "description" : "Unused, will be removed in a future release.",
- "minimum" : 500,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (500 - N)"
- },
"starttime" : {
"description" : "Job Start time.",
"pattern" : "\\d{1,2}:\\d{1,2}",
"api" : {
"description" : "API plugin name",
"enum" : [
+ "1984hosting",
"acmedns",
"acmeproxy",
"active24",
"ad",
"ali",
+ "anx",
+ "arvan",
+ "aurora",
"autodns",
"aws",
"azure",
"dynu",
"dynv6",
"easydns",
+ "edgedns",
"euserv",
"exoscale",
"freedns",
"gd",
"gdnsdk",
"he",
+ "hetzner",
"hexonet",
"hostingde",
+ "huaweicloud",
"infoblox",
+ "infomaniak",
"internetbs",
"inwx",
+ "ionos",
"ispconfig",
"jd",
+ "joker",
+ "kappernet",
"kas",
"kinghost",
"knot",
"nederhost",
"neodigit",
"netcup",
+ "netlify",
"nic",
+ "njalla",
+ "nm",
"nsd",
"nsone",
"nsupdate",
"one",
"online",
"openprovider",
+ "openstack",
"opnsense",
"ovh",
"pdns",
"pleskxml",
"pointhq",
+ "porkbun",
+ "rackcorp",
"rackspace",
"rcode0",
"regru",
+ "scaleway",
"schlundtech",
"selectel",
"servercow",
+ "simply",
"tele3",
+ "transip",
"ultra",
"unoeuro",
"variomedia",
"vscale",
"vultr",
+ "websupport",
+ "world4you",
"yandex",
"zilore",
"zone",
"api" : {
"description" : "API plugin name",
"enum" : [
+ "1984hosting",
"acmedns",
"acmeproxy",
"active24",
"ad",
"ali",
+ "anx",
+ "arvan",
+ "aurora",
"autodns",
"aws",
"azure",
"dynu",
"dynv6",
"easydns",
+ "edgedns",
"euserv",
"exoscale",
"freedns",
"gd",
"gdnsdk",
"he",
+ "hetzner",
"hexonet",
"hostingde",
+ "huaweicloud",
"infoblox",
+ "infomaniak",
"internetbs",
"inwx",
+ "ionos",
"ispconfig",
"jd",
+ "joker",
+ "kappernet",
"kas",
"kinghost",
"knot",
"nederhost",
"neodigit",
"netcup",
+ "netlify",
"nic",
+ "njalla",
+ "nm",
"nsd",
"nsone",
"nsupdate",
"one",
"online",
"openprovider",
+ "openstack",
"opnsense",
"ovh",
"pdns",
"pleskxml",
"pointhq",
+ "porkbun",
+ "rackcorp",
"rackspace",
"rcode0",
"regru",
+ "scaleway",
"schlundtech",
"selectel",
"servercow",
+ "simply",
"tele3",
+ "transip",
"ultra",
"unoeuro",
"variomedia",
"vscale",
"vultr",
+ "websupport",
+ "world4you",
"yandex",
"zilore",
"zone",
{
"children" : [
{
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete sdn subnet object configuration.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "subnet" : {
+ "description" : "The SDN subnet object identifier.",
+ "format" : "pve-sdn-subnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vnet" : {
+ "description" : "The SDN vnet object identifier.",
+ "format" : "pve-sdn-vnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/vnets/{vnet}/subnets",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read sdn subnet configuration.",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "pending" : {
+ "description" : "Display pending config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "running" : {
+ "description" : "Display running config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "subnet" : {
+ "description" : "The SDN subnet object identifier.",
+ "format" : "pve-sdn-subnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vnet" : {
+ "description" : "The SDN vnet object identifier.",
+ "format" : "pve-sdn-vnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/vnets/{vnet}/subnets/{subnet}",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update sdn subnet object configuration.",
+ "method" : "PUT",
+ "name" : "update",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dnszoneprefix" : {
+ "description" : "dns domain zone prefix ex: 'adm' -> <hostname>.adm.mydomain.com",
+ "format" : "dns-name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "gateway" : {
+ "description" : "Subnet Gateway: Will be assign on vnet for layer3 zones",
+ "format" : "ip",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "snat" : {
+ "description" : "enable masquerade for this subnet if pve-firewall",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "subnet" : {
+ "description" : "The SDN subnet object identifier.",
+ "format" : "pve-sdn-subnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vnet" : {
+ "description" : "associated vnet",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/vnets/{vnet}/subnets",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/sdn/vnets/{vnet}/subnets/{subnet}",
+ "text" : "{subnet}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "SDN subnets index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "pending" : {
+ "description" : "Display pending config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "running" : {
+ "description" : "Display running config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "vnet" : {
+ "description" : "The SDN vnet object identifier.",
+ "format" : "pve-sdn-vnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/subnets/<subnet>'",
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{subnet}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create a new sdn subnet object.",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "dnszoneprefix" : {
+ "description" : "dns domain zone prefix ex: 'adm' -> <hostname>.adm.mydomain.com",
+ "format" : "dns-name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "gateway" : {
+ "description" : "Subnet Gateway: Will be assign on vnet for layer3 zones",
+ "format" : "ip",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "snat" : {
+ "description" : "enable masquerade for this subnet if pve-firewall",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "subnet" : {
+ "description" : "The SDN subnet object identifier.",
+ "format" : "pve-sdn-subnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "enum" : [
+ "subnet"
+ ],
+ "type" : "string"
+ },
+ "vnet" : {
+ "description" : "associated vnet",
+ "optional" : 0,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/vnets/{vnet}/subnets",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/sdn/vnets/{vnet}/subnets",
+ "text" : "subnets"
+ }
+ ],
"info" : {
"DELETE" : {
"allowtoken" : 1,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "pending" : {
+ "description" : "Display pending config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "running" : {
+ "description" : "Display running config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"vnet" : {
"description" : "The SDN vnet object identifier.",
"format" : "pve-sdn-vnet-id",
"type" : "string",
"typetext" : "<string>"
},
- "ipv4" : {
- "description" : "Anycast router ipv4 address.",
- "format" : "CIDRv4",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "ipv6" : {
- "description" : "Anycast router ipv6 address.",
- "format" : "CIDRv6",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "mac" : {
- "description" : "Anycast router mac address",
- "format" : "mac-addr",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
"tag" : {
"description" : "vlan or vxlan id",
"optional" : 1,
}
}
},
- "leaf" : 1,
+ "leaf" : 0,
"path" : "/cluster/sdn/vnets/{vnet}",
"text" : "{vnet}"
}
"method" : "GET",
"name" : "index",
"parameters" : {
- "additionalProperties" : 0
+ "additionalProperties" : 0,
+ "properties" : {
+ "pending" : {
+ "description" : "Display pending config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "running" : {
+ "description" : "Display running config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ }
},
"permissions" : {
"description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'",
"type" : "string",
"typetext" : "<string>"
},
- "ipv4" : {
- "description" : "Anycast router ipv4 address.",
- "format" : "CIDRv4",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "ipv6" : {
- "description" : "Anycast router ipv6 address.",
- "format" : "CIDRv6",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "mac" : {
- "description" : "Anycast router mac address",
- "format" : "mac-addr",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
"tag" : {
"description" : "vlan or vxlan id",
"optional" : 1,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "pending" : {
+ "description" : "Display pending config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "running" : {
+ "description" : "Display running config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"zone" : {
"description" : "The SDN zone object identifier.",
"format" : "pve-sdn-zone-id",
"type" : "string",
"typetext" : "<string>"
},
+ "dns" : {
+ "description" : "dns api server",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dnszone" : {
+ "description" : "dns domain zone ex: mydomain.com",
+ "format" : "dns-name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"dp-id" : {
"description" : "Faucet dataplane id",
"optional" : 1,
"type" : "integer",
"typetext" : "<integer>"
},
+ "exitnodes" : {
+ "description" : "List of cluster node names.",
+ "format" : "pve-node-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ipam" : {
+ "description" : "use a specific ipam",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mac" : {
+ "description" : "Anycast logical router mac address",
+ "format" : "mac-addr",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"mtu" : {
"description" : "MTU",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
+ "reversedns" : {
+ "description" : "reverse dns api server",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"tag" : {
"description" : "Service-VLAN Tag",
"minimum" : 0,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "pending" : {
+ "description" : "Display pending config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "running" : {
+ "description" : "Display running config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"type" : {
- "description" : "Only list sdn zones of specific type",
+ "description" : "Only list SDN zones of specific type",
"enum" : [
"evpn",
"faucet",
"returns" : {
"items" : {
"properties" : {
+ "dns" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "dnszone" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "ipam" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "mtu" : {
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "nodes" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "pending" : {
+ "optional" : 1
+ },
+ "reversedns" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "state" : {
+ "optional" : 1,
+ "type" : "string"
+ },
"type" : {
"type" : "string"
},
"type" : "string",
"typetext" : "<string>"
},
+ "dns" : {
+ "description" : "dns api server",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dnszone" : {
+ "description" : "dns domain zone ex: mydomain.com",
+ "format" : "dns-name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"dp-id" : {
"description" : "Faucet dataplane id",
"optional" : 1,
"type" : "integer",
"typetext" : "<integer>"
},
+ "exitnodes" : {
+ "description" : "List of cluster node names.",
+ "format" : "pve-node-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ipam" : {
+ "description" : "use a specific ipam",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mac" : {
+ "description" : "Anycast logical router mac address",
+ "format" : "mac-addr",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"mtu" : {
"description" : "MTU",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
+ "reversedns" : {
+ "description" : "reverse dns api server",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"tag" : {
"description" : "Service-VLAN Tag",
"minimum" : 0,
"format" : "pve-sdn-controller-id",
"type" : "string",
"typetext" : "<string>"
+ },
+ "pending" : {
+ "description" : "Display pending config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "running" : {
+ "description" : "Display running config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
}
}
},
"type" : "string",
"typetext" : "<string>"
},
- "gateway-external-peers" : {
- "description" : "upstream bgp peers address list.",
- "format" : "ip-list",
+ "ebgp" : {
+ "description" : "Enable ebgp. (remote-as external)",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "ebgp-multihop" : {
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "loopback" : {
+ "description" : "source loopback interface.",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "gateway-nodes" : {
- "description" : "List of cluster node names.",
- "format" : "pve-node-list",
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "pending" : {
+ "description" : "Display pending config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "running" : {
+ "description" : "Display running config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"type" : {
"description" : "Only list sdn controllers of specific type",
"enum" : [
+ "bgp",
"evpn",
"faucet"
],
"controller" : {
"type" : "string"
},
+ "pending" : {
+ "optional" : 1
+ },
+ "state" : {
+ "optional" : 1,
+ "type" : "string"
+ },
"type" : {
"type" : "string"
}
"type" : "string",
"typetext" : "<string>"
},
- "gateway-external-peers" : {
- "description" : "upstream bgp peers address list.",
- "format" : "ip-list",
+ "ebgp" : {
+ "description" : "Enable ebgp. (remote-as external)",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "ebgp-multihop" : {
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "loopback" : {
+ "description" : "source loopback interface.",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "gateway-nodes" : {
- "description" : "List of cluster node names.",
- "format" : "pve-node-list",
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : {
"description" : "Plugin type.",
"enum" : [
+ "bgp",
"evpn",
"faucet"
],
"leaf" : 0,
"path" : "/cluster/sdn/controllers",
"text" : "controllers"
- }
- ],
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "Directory index.",
- "method" : "GET",
- "name" : "index",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "SDN.Audit"
- ]
- ]
- },
- "returns" : {
- "items" : {
- "properties" : {
- "id" : {
- "type" : "string"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete sdn ipam object configuration.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "ipam" : {
+ "description" : "The SDN ipam object identifier.",
+ "format" : "pve-sdn-ipam-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/ipams",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read sdn ipam configuration.",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "ipam" : {
+ "description" : "The SDN ipam object identifier.",
+ "format" : "pve-sdn-ipam-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/ipams/{ipam}",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update sdn ipam object configuration.",
+ "method" : "PUT",
+ "name" : "update",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ipam" : {
+ "description" : "The SDN ipam object identifier.",
+ "format" : "pve-sdn-ipam-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "section" : {
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "token" : {
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "url" : {
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/ipams",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
}
},
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{id}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- },
- "PUT" : {
- "allowtoken" : 1,
- "description" : "Apply sdn controller changes && reload.",
- "method" : "PUT",
- "name" : "reload",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "check" : [
- "perm",
- "/sdn",
- [
- "SDN.Allocate"
- ]
- ]
- },
- "protected" : 1,
- "returns" : {
- "type" : "string"
- }
- }
- },
- "leaf" : 0,
- "path" : "/cluster/sdn",
- "text" : "sdn"
- },
- {
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "Read cluster log",
- "method" : "GET",
- "name" : "log",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "max" : {
- "description" : "Maximum number of entries.",
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
+ "leaf" : 1,
+ "path" : "/cluster/sdn/ipams/{ipam}",
+ "text" : "{ipam}"
}
- },
- "permissions" : {
- "user" : "all"
- },
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/cluster/log",
- "text" : "log"
- },
- {
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "Resources index (cluster wide).",
- "method" : "GET",
- "name" : "resources",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "type" : {
- "enum" : [
- "vm",
- "storage",
- "node",
- "sdn"
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "SDN ipams index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "type" : {
+ "description" : "Only list sdn ipams of specific type",
+ "enum" : [
+ "netbox",
+ "phpipam",
+ "pve"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/ipams/<ipam>'",
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "ipam" : {
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{ipam}",
+ "rel" : "child"
+ }
],
- "optional" : 1,
- "type" : "string"
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create a new sdn ipam object.",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "ipam" : {
+ "description" : "The SDN ipam object identifier.",
+ "format" : "pve-sdn-ipam-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "section" : {
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "token" : {
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Plugin type.",
+ "enum" : [
+ "netbox",
+ "phpipam",
+ "pve"
+ ],
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "url" : {
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/ipams",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
}
}
},
- "permissions" : {
- "user" : "all"
- },
- "returns" : {
- "items" : {
- "properties" : {
- "cpu" : {
- "description" : "CPU utilization (when type in node,qemu,lxc).",
- "optional" : 1,
- "renderer" : "fraction_as_percentage",
- "type" : "number"
- },
- "disk" : {
- "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
- "optional" : 1,
- "renderer" : "bytes",
- "type" : "string"
- },
- "hastate" : {
- "description" : "HA service status (for HA managed VMs).",
+ "leaf" : 0,
+ "path" : "/cluster/sdn/ipams",
+ "text" : "ipams"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete sdn dns object configuration.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "dns" : {
+ "description" : "The SDN dns object identifier.",
+ "format" : "pve-sdn-dns-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/dns",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read sdn dns configuration.",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "dns" : {
+ "description" : "The SDN dns object identifier.",
+ "format" : "pve-sdn-dns-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/dns/{dns}",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update sdn dns object configuration.",
+ "method" : "PUT",
+ "name" : "update",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dns" : {
+ "description" : "The SDN dns object identifier.",
+ "format" : "pve-sdn-dns-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "key" : {
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "reversemaskv6" : {
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "ttl" : {
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "url" : {
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/dns",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/sdn/dns/{dns}",
+ "text" : "{dns}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "SDN dns index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "type" : {
+ "description" : "Only list sdn dns of specific type",
+ "enum" : [
+ "powerdns"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/dns/<dns>'",
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "dns" : {
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{dns}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create a new sdn dns object.",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "dns" : {
+ "description" : "The SDN dns object identifier.",
+ "format" : "pve-sdn-dns-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "key" : {
+ "optional" : 0,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "reversemaskv6" : {
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "reversev6mask" : {
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "ttl" : {
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "type" : {
+ "description" : "Plugin type.",
+ "enum" : [
+ "powerdns"
+ ],
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "url" : {
+ "optional" : 0,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/dns",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/sdn/dns",
+ "text" : "dns"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Directory index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "SDN.Audit"
+ ]
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "id" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{id}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Apply sdn controller changes && reload.",
+ "method" : "PUT",
+ "name" : "reload",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/sdn",
+ "text" : "sdn"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Read cluster log",
+ "method" : "GET",
+ "name" : "log",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "max" : {
+ "description" : "Maximum number of entries.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/log",
+ "text" : "log"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Resources index (cluster wide).",
+ "method" : "GET",
+ "name" : "resources",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "type" : {
+ "enum" : [
+ "vm",
+ "storage",
+ "node",
+ "sdn"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "content" : {
+ "description" : "Allowed storage content types (when type == storage).",
+ "format" : "pve-storage-content-list",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "cpu" : {
+ "description" : "CPU utilization (when type in node,qemu,lxc).",
+ "optional" : 1,
+ "renderer" : "fraction_as_percentage",
+ "type" : "number"
+ },
+ "disk" : {
+ "description" : "Used disk space in bytes (when type in storage), used root image spave for VMs (type in qemu,lxc).",
+ "optional" : 1,
+ "renderer" : "bytes",
+ "type" : "string"
+ },
+ "hastate" : {
+ "description" : "HA service status (for HA managed VMs).",
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string"
},
+ "plugintype" : {
+ "description" : "More specific type, if available.",
+ "optional" : 1,
+ "type" : "string"
+ },
"pool" : {
"description" : "The pool name (when type in pool,qemu,lxc).",
"optional" : 1,
"optional" : 1,
"type" : "integer"
},
+ "icmp-type" : {
+ "optional" : 1,
+ "type" : "string"
+ },
"iface" : {
"optional" : 1,
"type" : "string"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"fstrim_cloned_disks" : {
"default" : 0,
- "description" : "Run fstrim after cloning/moving a disk.",
+ "description" : "Run fstrim after moving a disk or migrating the VM.",
"optional" : 1,
"type" : "boolean"
},
"default" : "spice",
"description" : "Driver backend for the audio device.",
"enum" : [
- "spice"
+ "spice",
+ "none"
],
"optional" : 1,
"type" : "string"
"type" : "string"
},
"boot" : {
- "default" : "cdn",
- "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
+ "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
+ "format" : "pve-qm-boot",
"optional" : 1,
- "pattern" : "[acdn]{1,4}",
"type" : "string"
},
"bootdisk" : {
- "description" : "Enable booting from specified disk.",
+ "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
"format" : "pve-qm-bootdisk",
"optional" : 1,
"pattern" : "(ide|sata|scsi|virtio)\\d+",
"description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
"enum" : [
"configdrive2",
- "nocloud"
+ "nocloud",
+ "opennebula"
],
"optional" : 1,
"type" : "string"
"verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
},
"description" : {
- "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+ "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
+ "maxLength" : 8192,
"optional" : 1,
"type" : "string"
},
"type" : "string"
},
"efidisk0" : {
- "description" : "Configure a Disk for storing EFI vars",
+ "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead.",
"format" : {
"file" : {
"default_key" : 1,
"type" : "string"
},
"ide[n]" : {
- "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
+ "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
"type" : "string"
},
"ipconfig[n]" : {
- "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
+ "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
"format" : "pve-qm-ipconfig",
"optional" : 1,
"type" : "string"
"optional" : 1,
"type" : "string"
},
+ "keephugepages" : {
+ "default" : 0,
+ "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
"keyboard" : {
"default" : null,
"description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
"type" : "string"
},
"nameserver" : {
- "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
"format" : "address-list",
"optional" : 1,
"type" : "string"
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\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).",
"optional" : 1,
"pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
"type" : "string",
- "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
},
"protection" : {
"default" : 0,
"type" : "string"
},
"sata[n]" : {
- "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
+ "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
"type" : "string"
},
"scsi[n]" : {
- "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
+ "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
"type" : "string"
},
"searchdomain" : {
- "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"pattern" : "(/dev/.+|socket)",
"type" : "string",
- "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
},
"shares" : {
"default" : 1000,
},
"startdate" : {
"default" : "now",
- "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
+ "description" : "Set the initial date of the real time clock. Valid format for date are:'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
"optional" : 1,
"pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
"type" : "string",
"description" : "Enable/disable the USB tablet device.",
"optional" : 1,
"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)."
+ "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 (`qm set <vmid> --vga qxl`)."
},
"tags" : {
"description" : "Tags of the VM. This is only meta information.",
"format" : {
"host" : {
"default_key" : 1,
- "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
+ "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
"format" : "pve-qm-usb-device",
"format_description" : "HOSTUSBDEVICE|spice",
"type" : "string"
"verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
},
"virtio[n]" : {
- "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
+ "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
"optional" : 1,
"pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
"type" : "string",
- "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
+ "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file."
},
"vmstatestorage" : {
"description" : "Default storage for VM state volumes/files.",
},
"fstrim_cloned_disks" : {
"default" : 0,
- "description" : "Run fstrim after cloning/moving a disk.",
+ "description" : "Run fstrim after moving a disk or migrating the VM.",
"optional" : 1,
"type" : "boolean"
},
"default" : "spice",
"description" : "Driver backend for the audio device.",
"enum" : [
- "spice"
+ "spice",
+ "none"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
+ "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
},
"autostart" : {
"default" : 0,
"type" : "string"
},
"boot" : {
- "default" : "cdn",
- "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
+ "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
+ "format" : "pve-qm-boot",
"optional" : 1,
- "pattern" : "[acdn]{1,4}",
- "type" : "string"
+ "type" : "string",
+ "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
},
"bootdisk" : {
- "description" : "Enable booting from specified disk.",
+ "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
"format" : "pve-qm-bootdisk",
"optional" : 1,
"pattern" : "(ide|sata|scsi|virtio)\\d+",
"description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
"enum" : [
"configdrive2",
- "nocloud"
+ "nocloud",
+ "opennebula"
],
"optional" : 1,
"type" : "string"
"typetext" : "<string>"
},
"description" : {
- "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+ "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
+ "maxLength" : 8192,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<string>"
},
"efidisk0" : {
- "description" : "Configure a Disk for storing EFI vars",
+ "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead.",
"format" : {
"file" : {
"default_key" : 1,
"type" : "string"
},
"ide[n]" : {
- "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
+ "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
},
"ipconfig[n]" : {
- "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
+ "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
"format" : "pve-qm-ipconfig",
"optional" : 1,
"type" : "string",
"type" : "string",
"typetext" : "size=<integer> [,name=<string>]"
},
+ "keephugepages" : {
+ "default" : 0,
+ "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"keyboard" : {
"default" : null,
"description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
"typetext" : "<string>"
},
"nameserver" : {
- "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
"format" : "address-list",
"optional" : 1,
"type" : "string",
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\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).",
"optional" : 1,
"pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
"type" : "string",
- "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
},
"protection" : {
"default" : 0,
"typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
},
"sata[n]" : {
- "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
+ "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
},
"scsi[n]" : {
- "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
+ "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
},
"scsihw" : {
"default" : "lsi",
"type" : "string"
},
"searchdomain" : {
- "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"optional" : 1,
"pattern" : "(/dev/.+|socket)",
"type" : "string",
- "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
},
"shares" : {
"default" : 1000,
},
"startdate" : {
"default" : "now",
- "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
+ "description" : "Set the initial date of the real time clock. Valid format for date are:'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
"optional" : 1,
"pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
"type" : "string",
"optional" : 1,
"type" : "boolean",
"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)."
+ "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 (`qm set <vmid> --vga qxl`)."
},
"tags" : {
"description" : "Tags of the VM. This is only meta information.",
"format" : {
"host" : {
"default_key" : 1,
- "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
+ "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
"format" : "pve-qm-usb-device",
"format_description" : "HOSTUSBDEVICE|spice",
"type" : "string"
"verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
},
"virtio[n]" : {
- "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
+ "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
},
"vmgenid" : {
"default" : "1 (autogenerated)",
"optional" : 1,
"pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
"type" : "string",
- "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
+ "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file."
},
"vmid" : {
"description" : "The (unique) ID of the VM.",
},
"fstrim_cloned_disks" : {
"default" : 0,
- "description" : "Run fstrim after cloning/moving a disk.",
+ "description" : "Run fstrim after moving a disk or migrating the VM.",
"optional" : 1,
"type" : "boolean"
},
"default" : "spice",
"description" : "Driver backend for the audio device.",
"enum" : [
- "spice"
+ "spice",
+ "none"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
+ "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
},
"autostart" : {
"default" : 0,
"type" : "string"
},
"boot" : {
- "default" : "cdn",
- "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
+ "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
+ "format" : "pve-qm-boot",
"optional" : 1,
- "pattern" : "[acdn]{1,4}",
- "type" : "string"
+ "type" : "string",
+ "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
},
"bootdisk" : {
- "description" : "Enable booting from specified disk.",
+ "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
"format" : "pve-qm-bootdisk",
"optional" : 1,
"pattern" : "(ide|sata|scsi|virtio)\\d+",
"description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
"enum" : [
"configdrive2",
- "nocloud"
+ "nocloud",
+ "opennebula"
],
"optional" : 1,
"type" : "string"
"typetext" : "<string>"
},
"description" : {
- "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+ "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
+ "maxLength" : 8192,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<string>"
},
"efidisk0" : {
- "description" : "Configure a Disk for storing EFI vars",
+ "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead.",
"format" : {
"file" : {
"default_key" : 1,
"type" : "string"
},
"ide[n]" : {
- "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
+ "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
},
"ipconfig[n]" : {
- "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
+ "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
"format" : "pve-qm-ipconfig",
"optional" : 1,
"type" : "string",
"type" : "string",
"typetext" : "size=<integer> [,name=<string>]"
},
+ "keephugepages" : {
+ "default" : 0,
+ "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"keyboard" : {
"default" : null,
"description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
"typetext" : "<string>"
},
"nameserver" : {
- "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
"format" : "address-list",
"optional" : 1,
"type" : "string",
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\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).",
"optional" : 1,
"pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
"type" : "string",
- "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
},
"protection" : {
"default" : 0,
"typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
},
"sata[n]" : {
- "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
+ "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
},
"scsi[n]" : {
- "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
+ "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
},
"scsihw" : {
"default" : "lsi",
"type" : "string"
},
"searchdomain" : {
- "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"optional" : 1,
"pattern" : "(/dev/.+|socket)",
"type" : "string",
- "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
},
"shares" : {
"default" : 1000,
},
"startdate" : {
"default" : "now",
- "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
+ "description" : "Set the initial date of the real time clock. Valid format for date are:'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
"optional" : 1,
"pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
"type" : "string",
"optional" : 1,
"type" : "boolean",
"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)."
+ "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 (`qm set <vmid> --vga qxl`)."
},
"tags" : {
"description" : "Tags of the VM. This is only meta information.",
"format" : {
"host" : {
"default_key" : 1,
- "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
+ "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
"format" : "pve-qm-usb-device",
"format_description" : "HOSTUSBDEVICE|spice",
"type" : "string"
"verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
},
"virtio[n]" : {
- "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
+ "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
},
"vmgenid" : {
"default" : "1 (autogenerated)",
"optional" : 1,
"pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
"type" : "string",
- "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
+ "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file."
},
"vmid" : {
"description" : "The (unique) ID of the VM.",
"optional" : 1,
"type" : "string"
},
+ "running-machine" : {
+ "description" : "The currently running machine type (if running).",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "running-qemu" : {
+ "description" : "The currently running QEMU version (if running).",
+ "optional" : 1,
+ "type" : "string"
+ },
"spice" : {
"description" : "Qemu VGA configuration supports spice.",
"optional" : 1,
"info" : {
"DELETE" : {
"allowtoken" : 1,
- "description" : "Destroy the vm (also delete all used/owned volumes).",
+ "description" : "Destroy the VM and all used/owned volumes. Removes any VM specific permissions and firewall rules",
"method" : "DELETE",
"name" : "destroy_vm",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "destroy-unreferenced-disks" : {
+ "default" : 0,
+ "description" : "If set, destroy additionally all disks not referenced in the config but with a matching VMID from all enabled storages.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"typetext" : "<string>"
},
"purge" : {
- "description" : "Remove vmid from backup cron jobs.",
+ "description" : "Remove VMID from configurations, like backup & replication jobs and HA.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"optional" : 1,
"type" : "string"
},
+ "running-machine" : {
+ "description" : "The currently running machine type (if running).",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "running-qemu" : {
+ "description" : "The currently running QEMU version (if running).",
+ "optional" : 1,
+ "type" : "string"
+ },
"status" : {
"description" : "Qemu process status.",
"enum" : [
},
"fstrim_cloned_disks" : {
"default" : 0,
- "description" : "Run fstrim after cloning/moving a disk.",
+ "description" : "Run fstrim after moving a disk or migrating the VM.",
"optional" : 1,
"type" : "boolean"
},
"default" : "spice",
"description" : "Driver backend for the audio device.",
"enum" : [
- "spice"
+ "spice",
+ "none"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice>]"
+ "typetext" : "device=<ich9-intel-hda|intel-hda|AC97> [,driver=<spice|none>]"
},
"autostart" : {
"default" : 0,
"type" : "string"
},
"boot" : {
- "default" : "cdn",
- "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
+ "description" : "Specify guest boot order. Use with 'order=', usage with no key or 'legacy=' is deprecated.",
+ "format" : "pve-qm-boot",
"optional" : 1,
- "pattern" : "[acdn]{1,4}",
- "type" : "string"
+ "type" : "string",
+ "typetext" : "[[legacy=]<[acdn]{1,4}>] [,order=<device[;device...]>]"
},
"bootdisk" : {
- "description" : "Enable booting from specified disk.",
+ "description" : "Enable booting from specified disk. Deprecated: Use 'boot: order=foo;bar' instead.",
"format" : "pve-qm-bootdisk",
"optional" : 1,
"pattern" : "(ide|sata|scsi|virtio)\\d+",
"description" : "Specifies the cloud-init configuration format. The default depends on the configured operating system type (`ostype`. We use the `nocloud` format for Linux, and `configdrive2` for windows.",
"enum" : [
"configdrive2",
- "nocloud"
+ "nocloud",
+ "opennebula"
],
"optional" : 1,
"type" : "string"
"verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
},
"description" : {
- "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+ "description" : "Description for the VM. Shown in the web-interface VM's summary. This is saved as comment inside the configuration file.",
+ "maxLength" : 8192,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"efidisk0" : {
- "description" : "Configure a Disk for storing EFI vars",
+ "description" : "Configure a Disk for storing EFI vars. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume. Note that SIZE_IN_GiB is ignored here and that the default EFI vars are copied to the volume instead.",
"format" : {
"file" : {
"default_key" : 1,
"type" : "string"
},
"ide[n]" : {
- "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
+ "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,model=<model>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
},
"ipconfig[n]" : {
- "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4.\n",
+ "description" : "cloud-init: Specify IP addresses and gateways for the corresponding interface.\n\nIP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.\n\nThe special string 'dhcp' can be used for IP addresses to use DHCP, in which case no explicit\ngateway should be provided.\nFor IPv6 the special string 'auto' can be used to use stateless autoconfiguration. This requires\ncloud-init 19.4 or newer.\n\nIf cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using\ndhcp on IPv4.\n",
"format" : "pve-qm-ipconfig",
"optional" : 1,
"type" : "string",
"type" : "string",
"typetext" : "size=<integer> [,name=<string>]"
},
+ "keephugepages" : {
+ "default" : 0,
+ "description" : "Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"keyboard" : {
"default" : null,
"description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
"type" : "boolean",
"typetext" : "<boolean>"
},
+ "live-restore" : {
+ "description" : "Start the VM immediately from the backup and restore in background. PBS only.",
+ "optional" : 1,
+ "requires" : "archive",
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"localtime" : {
"description" : "Set the real time clock to local time. This is enabled by default if ostype indicates a Microsoft OS.",
"optional" : 1,
"typetext" : "<string>"
},
"nameserver" : {
- "description" : "cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "description" : "cloud-init: Sets DNS server IP address for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
"format" : "address-list",
"optional" : 1,
"type" : "string",
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 5.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\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).",
"optional" : 1,
"pattern" : "/dev/parport\\d+|/dev/usb/lp\\d+",
"type" : "string",
- "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "verbose_description" : "Map host parallel devices (n is 0 to 2).\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
},
"pool" : {
"description" : "Add the VM to the specified pool.",
"typetext" : "[source=]</dev/urandom|/dev/random|/dev/hwrng> [,max_bytes=<integer>] [,period=<integer>]"
},
"sata[n]" : {
- "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
+ "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
},
"scsi[n]" : {
- "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).",
+ "description" : "Use volume as SCSI hard disk or CD-ROM (n is 0 to 30). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
},
"scsihw" : {
"default" : "lsi",
"type" : "string"
},
"searchdomain" : {
- "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "description" : "cloud-init: Sets DNS search domains for a container. Create will'\n\t .' automatically use the setting from the host if neither searchdomain nor nameserver'\n\t .' are set.",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"optional" : 1,
"pattern" : "(/dev/.+|socket)",
"type" : "string",
- "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "verbose_description" : "Create a serial device inside the VM (n is 0 to 3), and pass through a\nhost serial device (i.e. /dev/ttyS0), or create a unix socket on the\nhost side (use 'qm terminal' to open a terminal connection).\n\nNOTE: If you pass through a host serial device, it is no longer possible to migrate such machines -\nuse with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
},
"shares" : {
"default" : 1000,
},
"startdate" : {
"default" : "now",
- "description" : "Set the initial date of the real time clock. Valid format for date are: 'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
+ "description" : "Set the initial date of the real time clock. Valid format for date are:'now' or '2006-06-17T16:01:21' or '2006-06-17'.",
"optional" : 1,
"pattern" : "(now|\\d{4}-\\d{1,2}-\\d{1,2}(T\\d{1,2}:\\d{1,2}:\\d{1,2})?)",
"type" : "string",
"optional" : 1,
"type" : "boolean",
"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)."
+ "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 (`qm set <vmid> --vga qxl`)."
},
"tags" : {
"description" : "Tags of the VM. This is only meta information.",
"format" : {
"host" : {
"default_key" : 1,
- "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such machines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
+ "description" : "The Host USB device or port or the value 'spice'. HOSTUSBDEVICE syntax is:\n\n 'bus-port(.port)*' (decimal numbers) or\n 'vendor_id:product_id' (hexadeciaml numbers) or\n 'spice'\n\nYou can use the 'lsusb -t' command to list existing usb devices.\n\nNOTE: This option allows direct access to host hardware. So it is no longer possible to migrate such\nmachines - use with special care.\n\nThe value 'spice' can be used to add a usb redirection devices for spice.\n",
"format" : "pve-qm-usb-device",
"format_description" : "HOSTUSBDEVICE|spice",
"type" : "string"
"verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
},
"virtio[n]" : {
- "description" : "Use volume as VIRTIO hard disk (n is 0 to 15).",
+ "description" : "Use volume as VIRTIO hard disk (n is 0 to 15). Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"aio" : {
"description" : "AIO type to use.",
"enum" : [
"native",
- "threads"
+ "threads",
+ "io_uring"
],
"optional" : 1,
"type" : "string"
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>]"
},
"vmgenid" : {
"default" : "1 (autogenerated)",
"optional" : 1,
"pattern" : "(?:[a-fA-F0-9]{8}(?:-[a-fA-F0-9]{4}){3}-[a-fA-F0-9]{12}|[01])",
"type" : "string",
- "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done throug API/CLI create or update methods, but not when manually editing the config file."
+ "verbose_description" : "The VM generation ID (vmgenid) device exposes a 128-bit integer value identifier to the guest OS. This allows to notify the guest operating system when the virtual machine is executed with a different configuration (e.g. snapshot execution or creation from a template). The guest operating system notices the change, and is then able to react as appropriate by marking its copies of distributed databases as dirty, re-initializing its random number generator, etc.\nNote that auto-creation only works when done through API/CLI create or update methods, but not when manually editing the config file."
},
"vmid" : {
"description" : "The (unique) ID of the VM.",
"path" : "/nodes/{node}/qemu",
"text" : "qemu"
},
- {
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "List all custom and default CPU models.",
- "method" : "GET",
- "name" : "index",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "description" : "Only returns custom models when the current user has Sys.Audit on /nodes.",
- "user" : "all"
- },
- "returns" : {
- "items" : {
- "properties" : {
- "custom" : {
- "description" : "True if this is a custom CPU model.",
- "type" : "boolean"
- },
- "name" : {
- "description" : "Name of the CPU model. Identifies it for subsequent API calls. Prefixed with 'custom-' for custom models.",
- "type" : "string"
- },
- "vendor" : {
- "description" : "CPU vendor visible to the guest when this model is selected. Vendor of 'reported-model' in case of custom models.",
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{name}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/cpu",
- "text" : "cpu"
- },
{
"children" : [
{
},
"cores" : {
"description" : "The number of cores assigned to the container. A container can use all available cores by default.",
- "maximum" : 128,
+ "maximum" : 8192,
"minimum" : 1,
"optional" : 1,
"type" : "integer"
"cpulimit" : {
"default" : 0,
"description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.",
- "maximum" : 128,
+ "maximum" : 8192,
"minimum" : 0,
"optional" : 1,
"type" : "number"
"optional" : 1,
"type" : "integer"
},
+ "debug" : {
+ "default" : 0,
+ "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
"description" : {
- "description" : "Container description. Only used on the configuration web interface.",
+ "description" : "Description for the Container. Shown in the web-interface CT's summary. This is saved as comment inside the configuration file.",
+ "maxLength" : 8192,
"optional" : 1,
"type" : "string"
},
"type" : "integer"
},
"mp[n]" : {
- "description" : "Use volume as container mount point.",
+ "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"acl" : {
"description" : "Explicitly enable or disable ACL support.",
},
"nameserver" : {
"description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
- "format" : "address-list",
+ "format" : "lxc-ip-with-ll-iface-list",
"optional" : 1,
"type" : "string"
},
"description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
"enum" : [
"debian",
+ "devuan",
"ubuntu",
"centos",
"fedora",
},
"cores" : {
"description" : "The number of cores assigned to the container. A container can use all available cores by default.",
- "maximum" : 128,
+ "maximum" : 8192,
"minimum" : 1,
"optional" : 1,
"type" : "integer",
- "typetext" : "<integer> (1 - 128)"
+ "typetext" : "<integer> (1 - 8192)"
},
"cpulimit" : {
"default" : 0,
"description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.",
- "maximum" : 128,
+ "maximum" : 8192,
"minimum" : 0,
"optional" : 1,
"type" : "number",
- "typetext" : "<number> (0 - 128)"
+ "typetext" : "<number> (0 - 8192)"
},
"cpuunits" : {
"default" : 1024,
"type" : "integer",
"typetext" : "<integer> (0 - 500000)"
},
+ "debug" : {
+ "default" : 0,
+ "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"delete" : {
"description" : "A list of settings you want to delete.",
"format" : "pve-configid-list",
"typetext" : "<string>"
},
"description" : {
- "description" : "Container description. Only used on the configuration web interface.",
+ "description" : "Description for the Container. Shown in the web-interface CT's summary. This is saved as comment inside the configuration file.",
+ "maxLength" : 8192,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<integer> (16 - N)"
},
"mp[n]" : {
- "description" : "Use volume as container mount point.",
+ "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"acl" : {
"description" : "Explicitly enable or disable ACL support.",
},
"nameserver" : {
"description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
- "format" : "address-list",
+ "format" : "lxc-ip-with-ll-iface-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
"enum" : [
"debian",
+ "devuan",
"ubuntu",
"centos",
"fedora",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "debug" : {
+ "default" : 0,
+ "description" : "If set, enables very verbose debug log-level on start.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"optional" : 1,
"type" : "integer"
},
+ "icmp-type" : {
+ "optional" : 1,
+ "type" : "string"
+ },
"iface" : {
"optional" : 1,
"type" : "string"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "number",
"typetext" : "<number> (0 - N)"
},
- "force" : {
- "description" : "Force migration despite local bind / device mounts. NOTE: deprecated, use 'shared' property of mount point instead.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "destroy-unreferenced-disks" : {
+ "description" : "If set, destroy additionally all disks with the VMID from all enabled storages which are not referenced in the config.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"force" : {
"default" : 0,
"description" : "Force destroy, even if running.",
},
"cores" : {
"description" : "The number of cores assigned to the container. A container can use all available cores by default.",
- "maximum" : 128,
+ "maximum" : 8192,
"minimum" : 1,
"optional" : 1,
"type" : "integer",
- "typetext" : "<integer> (1 - 128)"
+ "typetext" : "<integer> (1 - 8192)"
},
"cpulimit" : {
"default" : 0,
"description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has a total of '2' CPU time. Value '0' indicates no CPU limit.",
- "maximum" : 128,
+ "maximum" : 8192,
"minimum" : 0,
"optional" : 1,
"type" : "number",
- "typetext" : "<number> (0 - 128)"
+ "typetext" : "<number> (0 - 8192)"
},
"cpuunits" : {
"default" : 1024,
"type" : "integer",
"typetext" : "<integer> (0 - 500000)"
},
+ "debug" : {
+ "default" : 0,
+ "description" : "Try to be more verbose. For now this only enables debug log-level on start.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"description" : {
- "description" : "Container description. Only used on the configuration web interface.",
+ "description" : "Description for the Container. Shown in the web-interface CT's summary. This is saved as comment inside the configuration file.",
+ "maxLength" : 8192,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<integer> (16 - N)"
},
"mp[n]" : {
- "description" : "Use volume as container mount point.",
+ "description" : "Use volume as container mount point. Use the special syntax STORAGE_ID:SIZE_IN_GiB to allocate a new volume.",
"format" : {
"acl" : {
"description" : "Explicitly enable or disable ACL support.",
},
"nameserver" : {
"description" : "Sets DNS server IP address for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
- "format" : "address-list",
+ "format" : "lxc-ip-with-ll-iface-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"description" : "OS type. This is used to setup configuration inside the container, and corresponds to lxc setup scripts in /usr/share/lxc/config/<ostype>.common.conf. Value 'unmanaged' can be used to skip and OS specific setup.",
"enum" : [
"debian",
+ "devuan",
"ubuntu",
"centos",
"fedora",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "crush-device-class" : {
+ "description" : "Set the device class of the OSD in crush.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"db_dev" : {
"description" : "Block device name for block.db.",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "db_size" : {
+ "db_dev_size" : {
"default" : "bluestore_block_db_size or 10% of OSD size",
"description" : "Size in GiB for block.db.",
"minimum" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "wal_size" : {
+ "wal_dev_size" : {
"default" : "bluestore_block_wal_size or 1% of OSD size",
"description" : "Size in GiB for block.wal.",
"minimum" : 0.5,
"additionalProperties" : 0,
"properties" : {
"mon-address" : {
- "description" : "Overwrites autodetected monitor IP address. Must be in the public network of ceph.",
- "format" : "ip",
+ "description" : "Overwrites autodetected monitor IP address(es). Must be in the public network(s) of Ceph.",
+ "format" : "ip-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"text" : "fs"
},
{
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Destroy pool",
+ "method" : "DELETE",
+ "name" : "destroypool",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "force" : {
+ "default" : 0,
+ "description" : "If true, destroys pool even if in use",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "name" : {
+ "description" : "The name of the pool. It must be unique.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "remove_storages" : {
+ "default" : 0,
+ "description" : "Remove all pveceph-managed storages configured for this pool",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List pool settings.",
+ "method" : "GET",
+ "name" : "getpool",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "name" : {
+ "description" : "The name of the pool. It must be unique.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "verbose" : {
+ "default" : 0,
+ "description" : "If enabled, will display additional data(eg. statistics).",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit",
+ "Datastore.Audit"
+ ],
+ "any",
+ 1
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "properties" : {
+ "application" : {
+ "default" : "rbd",
+ "description" : "The application of the pool.",
+ "enum" : [
+ "rbd",
+ "cephfs",
+ "rgw"
+ ],
+ "optional" : 1,
+ "title" : "Application",
+ "type" : "string"
+ },
+ "application_list" : {
+ "optional" : 1,
+ "title" : "Application",
+ "type" : "array"
+ },
+ "autoscale_status" : {
+ "optional" : 1,
+ "title" : "Autoscale Status",
+ "type" : "object"
+ },
+ "crush_rule" : {
+ "description" : "The rule to use for mapping object placement in the cluster.",
+ "optional" : 1,
+ "title" : "Crush Rule Name",
+ "type" : "string"
+ },
+ "fast_read" : {
+ "title" : "Fast Read",
+ "type" : "boolean"
+ },
+ "hashpspool" : {
+ "title" : "hashpspool",
+ "type" : "boolean"
+ },
+ "id" : {
+ "title" : "ID",
+ "type" : "integer"
+ },
+ "min_size" : {
+ "default" : 2,
+ "description" : "Minimum number of replicas per object",
+ "maximum" : 7,
+ "minimum" : 1,
+ "optional" : 1,
+ "title" : "Min Size",
+ "type" : "integer"
+ },
+ "name" : {
+ "description" : "The name of the pool. It must be unique.",
+ "title" : "Name",
+ "type" : "string"
+ },
+ "nodeep-scrub" : {
+ "title" : "nodeep-scrub",
+ "type" : "boolean"
+ },
+ "nodelete" : {
+ "title" : "nodelete",
+ "type" : "boolean"
+ },
+ "nopgchange" : {
+ "title" : "nopgchange",
+ "type" : "boolean"
+ },
+ "noscrub" : {
+ "title" : "noscrub",
+ "type" : "boolean"
+ },
+ "nosizechange" : {
+ "title" : "nosizechange",
+ "type" : "boolean"
+ },
+ "pg_autoscale_mode" : {
+ "default" : "warn",
+ "description" : "The automatic PG scaling mode of the pool.",
+ "enum" : [
+ "on",
+ "off",
+ "warn"
+ ],
+ "optional" : 1,
+ "title" : "PG Autoscale Mode",
+ "type" : "string"
+ },
+ "pg_num" : {
+ "default" : 128,
+ "description" : "Number of placement groups.",
+ "maximum" : 32768,
+ "minimum" : 1,
+ "optional" : 1,
+ "title" : "PG Num",
+ "type" : "integer"
+ },
+ "pg_num_min" : {
+ "description" : "Minimal number of placement groups.",
+ "maximum" : 32768,
+ "optional" : 1,
+ "title" : "min. PG Num",
+ "type" : "integer"
+ },
+ "pgp_num" : {
+ "title" : "PGP num",
+ "type" : "integer"
+ },
+ "size" : {
+ "default" : 3,
+ "description" : "Number of replicas per object",
+ "maximum" : 7,
+ "minimum" : 1,
+ "optional" : 1,
+ "title" : "Size",
+ "type" : "integer"
+ },
+ "statistics" : {
+ "optional" : 1,
+ "title" : "Statistics",
+ "type" : "object"
+ },
+ "target_size" : {
+ "description" : "The estimated target size of the pool for the PG autoscaler.",
+ "optional" : 1,
+ "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
+ "title" : "PG Autoscale Target Size",
+ "type" : "string"
+ },
+ "target_size_ratio" : {
+ "description" : "The estimated target ratio of the pool for the PG autoscaler.",
+ "optional" : 1,
+ "title" : "PG Autoscale Target Ratio",
+ "type" : "number"
+ },
+ "use_gmt_hitset" : {
+ "title" : "use_gmt_hitset",
+ "type" : "boolean"
+ },
+ "write_fadvise_dontneed" : {
+ "title" : "write_fadvise_dontneed",
+ "type" : "boolean"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Change POOL settings",
+ "method" : "PUT",
+ "name" : "setpool",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "application" : {
+ "description" : "The application of the pool.",
+ "enum" : [
+ "rbd",
+ "cephfs",
+ "rgw"
+ ],
+ "optional" : 1,
+ "title" : "Application",
+ "type" : "string"
+ },
+ "crush_rule" : {
+ "description" : "The rule to use for mapping object placement in the cluster.",
+ "optional" : 1,
+ "title" : "Crush Rule Name",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "min_size" : {
+ "description" : "Minimum number of replicas per object",
+ "maximum" : 7,
+ "minimum" : 1,
+ "optional" : 1,
+ "title" : "Min Size",
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 7)"
+ },
+ "name" : {
+ "description" : "The name of the pool. It must be unique.",
+ "title" : "Name",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "pg_autoscale_mode" : {
+ "description" : "The automatic PG scaling mode of the pool.",
+ "enum" : [
+ "on",
+ "off",
+ "warn"
+ ],
+ "optional" : 1,
+ "title" : "PG Autoscale Mode",
+ "type" : "string"
+ },
+ "pg_num" : {
+ "description" : "Number of placement groups.",
+ "maximum" : 32768,
+ "minimum" : 1,
+ "optional" : 1,
+ "title" : "PG Num",
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 32768)"
+ },
+ "pg_num_min" : {
+ "description" : "Minimal number of placement groups.",
+ "maximum" : 32768,
+ "optional" : 1,
+ "title" : "min. PG Num",
+ "type" : "integer",
+ "typetext" : "<integer> (-N - 32768)"
+ },
+ "size" : {
+ "description" : "Number of replicas per object",
+ "maximum" : 7,
+ "minimum" : 1,
+ "optional" : 1,
+ "title" : "Size",
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 7)"
+ },
+ "target_size" : {
+ "description" : "The estimated target size of the pool for the PG autoscaler.",
+ "optional" : 1,
+ "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
+ "title" : "PG Autoscale Target Size",
+ "type" : "string"
+ },
+ "target_size_ratio" : {
+ "description" : "The estimated target ratio of the pool for the PG autoscaler.",
+ "optional" : 1,
+ "title" : "PG Autoscale Target Ratio",
+ "type" : "number",
+ "typetext" : "<number>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/ceph/pools/{name}",
+ "text" : "{name}"
+ }
+ ],
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "List local disks.",
+ "description" : "List all pools.",
"method" : "GET",
- "name" : "disks",
+ "name" : "lspools",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "type" : {
- "description" : "Only list specific types of disks.",
- "enum" : [
- "unused",
- "journal_disks"
- ],
- "optional" : 1,
- "type" : "string"
}
}
},
"returns" : {
"items" : {
"properties" : {
- "dev" : {
+ "autoscale_status" : {
+ "optional" : 1,
+ "title" : "Autoscale Status",
+ "type" : "object"
+ },
+ "bytes_used" : {
+ "title" : "Used",
+ "type" : "integer"
+ },
+ "crush_rule" : {
+ "title" : "Crush Rule",
+ "type" : "integer"
+ },
+ "crush_rule_name" : {
+ "title" : "Crush Rule Name",
"type" : "string"
},
- "gpt" : {
- "type" : "boolean"
+ "min_size" : {
+ "title" : "Min Size",
+ "type" : "integer"
},
- "model" : {
+ "percent_used" : {
+ "title" : "%-Used",
+ "type" : "number"
+ },
+ "pg_autoscale_mode" : {
"optional" : 1,
+ "title" : "PG Autoscale Mode",
"type" : "string"
},
- "osdid" : {
+ "pg_num" : {
+ "title" : "PG Num",
"type" : "integer"
},
- "serial" : {
+ "pg_num_final" : {
+ "optional" : 1,
+ "title" : "Optimal PG Num",
+ "type" : "integer"
+ },
+ "pg_num_min" : {
"optional" : 1,
+ "title" : "min. PG Num",
+ "type" : "integer"
+ },
+ "pool" : {
+ "title" : "ID",
+ "type" : "integer"
+ },
+ "pool_name" : {
+ "title" : "Name",
"type" : "string"
},
"size" : {
+ "title" : "Size",
"type" : "integer"
},
- "used" : {
+ "target_size" : {
"optional" : 1,
- "type" : "string"
+ "title" : "PG Autoscale Target Size",
+ "type" : "integer"
},
- "vendor" : {
+ "target_size_ratio" : {
"optional" : 1,
- "type" : "string"
+ "title" : "PG Autoscale Target Ratio",
+ "type" : "number"
}
},
"type" : "object"
},
+ "links" : [
+ {
+ "href" : "{pool_name}",
+ "rel" : "child"
+ }
+ ],
"type" : "array"
}
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create POOL",
+ "method" : "POST",
+ "name" : "createpool",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "add_storages" : {
+ "description" : "Configure VM and CT storage using the new pool.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "application" : {
+ "default" : "rbd",
+ "description" : "The application of the pool.",
+ "enum" : [
+ "rbd",
+ "cephfs",
+ "rgw"
+ ],
+ "optional" : 1,
+ "title" : "Application",
+ "type" : "string"
+ },
+ "crush_rule" : {
+ "description" : "The rule to use for mapping object placement in the cluster.",
+ "optional" : 1,
+ "title" : "Crush Rule Name",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "min_size" : {
+ "default" : 2,
+ "description" : "Minimum number of replicas per object",
+ "maximum" : 7,
+ "minimum" : 1,
+ "optional" : 1,
+ "title" : "Min Size",
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 7)"
+ },
+ "name" : {
+ "description" : "The name of the pool. It must be unique.",
+ "title" : "Name",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "pg_autoscale_mode" : {
+ "default" : "warn",
+ "description" : "The automatic PG scaling mode of the pool.",
+ "enum" : [
+ "on",
+ "off",
+ "warn"
+ ],
+ "optional" : 1,
+ "title" : "PG Autoscale Mode",
+ "type" : "string"
+ },
+ "pg_num" : {
+ "default" : 128,
+ "description" : "Number of placement groups.",
+ "maximum" : 32768,
+ "minimum" : 1,
+ "optional" : 1,
+ "title" : "PG Num",
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 32768)"
+ },
+ "pg_num_min" : {
+ "description" : "Minimal number of placement groups.",
+ "maximum" : 32768,
+ "optional" : 1,
+ "title" : "min. PG Num",
+ "type" : "integer",
+ "typetext" : "<integer> (-N - 32768)"
+ },
+ "size" : {
+ "default" : 3,
+ "description" : "Number of replicas per object",
+ "maximum" : 7,
+ "minimum" : 1,
+ "optional" : 1,
+ "title" : "Size",
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 7)"
+ },
+ "target_size" : {
+ "description" : "The estimated target size of the pool for the PG autoscaler.",
+ "optional" : 1,
+ "pattern" : "^(\\d+(\\.\\d+)?)([KMGT])?$",
+ "title" : "PG Autoscale Target Size",
+ "type" : "string"
+ },
+ "target_size_ratio" : {
+ "description" : "The estimated target ratio of the pool for the PG autoscaler.",
+ "optional" : 1,
+ "title" : "PG Autoscale Target Ratio",
+ "type" : "number",
+ "typetext" : "<number>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/ceph/disks",
- "text" : "disks"
+ "leaf" : 0,
+ "path" : "/nodes/{node}/ceph/pools",
+ "text" : "pools"
},
{
"info" : {
"protected" : 1,
"proxyto" : "node",
"returns" : {
- "type" : "object"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/ceph/status",
- "text" : "status"
- },
- {
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "allowtoken" : 1,
- "description" : "Destroy pool",
- "method" : "DELETE",
- "name" : "destroypool",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "force" : {
- "default" : 0,
- "description" : "If true, destroys pool even if in use",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "name" : {
- "description" : "The name of the pool. It must be unique.",
- "type" : "string",
- "typetext" : "<string>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "remove_storages" : {
- "default" : 0,
- "description" : "Remove all pveceph-managed storages configured for this pool",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/ceph/pools/{name}",
- "text" : "{name}"
- }
- ],
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "List all pools.",
- "method" : "GET",
- "name" : "lspools",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Audit",
- "Datastore.Audit"
- ],
- "any",
- 1
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "items" : {
- "properties" : {
- "bytes_used" : {
- "title" : "Used",
- "type" : "integer"
- },
- "crush_rule" : {
- "title" : "Crush Rule",
- "type" : "integer"
- },
- "crush_rule_name" : {
- "title" : "Crush Rule Name",
- "type" : "string"
- },
- "min_size" : {
- "title" : "Min Size",
- "type" : "integer"
- },
- "percent_used" : {
- "title" : "%-Used",
- "type" : "number"
- },
- "pg_autoscale_mode" : {
- "optional" : 1,
- "title" : "PG Autoscale Mode",
- "type" : "string"
- },
- "pg_num" : {
- "title" : "PG Num",
- "type" : "integer"
- },
- "pool" : {
- "title" : "ID",
- "type" : "integer"
- },
- "pool_name" : {
- "title" : "Name",
- "type" : "string"
- },
- "size" : {
- "title" : "Size",
- "type" : "integer"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{pool_name}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- },
- "POST" : {
- "allowtoken" : 1,
- "description" : "Create POOL",
- "method" : "POST",
- "name" : "createpool",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "add_storages" : {
- "description" : "Configure VM and CT storage using the new pool.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "application" : {
- "description" : "The application of the pool, 'rbd' by default.",
- "enum" : [
- "rbd",
- "cephfs",
- "rgw"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "crush_rule" : {
- "description" : "The rule to use for mapping object placement in the cluster.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "min_size" : {
- "default" : 2,
- "description" : "Minimum number of replicas per object",
- "maximum" : 7,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 7)"
- },
- "name" : {
- "description" : "The name of the pool. It must be unique.",
- "type" : "string",
- "typetext" : "<string>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "pg_num" : {
- "default" : 128,
- "description" : "Number of placement groups.",
- "maximum" : 32768,
- "minimum" : 8,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (8 - 32768)"
- },
- "size" : {
- "default" : 3,
- "description" : "Number of replicas per object",
- "maximum" : 7,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 7)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/ceph/pools",
- "text" : "pools"
- },
- {
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "allowtoken" : 1,
- "description" : "Unset a ceph flag",
- "method" : "DELETE",
- "name" : "unset_flag",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "flag" : {
- "description" : "The ceph flag to unset",
- "enum" : [
- "nobackfill",
- "nodeep-scrub",
- "nodown",
- "noin",
- "noout",
- "norebalance",
- "norecover",
- "noscrub",
- "notieragent",
- "noup",
- "pause"
- ],
- "type" : "string"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- },
- "POST" : {
- "allowtoken" : 1,
- "description" : "Set a specific ceph flag",
- "method" : "POST",
- "name" : "set_flag",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "flag" : {
- "description" : "The ceph flag to set",
- "enum" : [
- "nobackfill",
- "nodeep-scrub",
- "nodown",
- "noin",
- "noout",
- "norebalance",
- "norecover",
- "noscrub",
- "notieragent",
- "noup",
- "pause"
- ],
- "type" : "string"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/ceph/flags/{flag}",
- "text" : "{flag}"
- }
- ],
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "get all set ceph flags",
- "method" : "GET",
- "name" : "get_flags",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Audit"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
+ "type" : "object"
}
}
},
- "leaf" : 0,
- "path" : "/nodes/{node}/ceph/flags",
- "text" : "flags"
+ "leaf" : 1,
+ "path" : "/nodes/{node}/ceph/status",
+ "text" : "status"
},
{
"info" : {
},
{
"children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get the currently configured vzdump defaults.",
+ "method" : "GET",
+ "name" : "defaults",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "storage" : {
+ "description" : "The storage identifier.",
+ "format" : "pve-storage-id",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "The user needs 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions for the specified storage (or default storage if none specified). Some properties are only returned when the user has 'Sys.Audit' permissions for the node.",
+ "user" : "all"
+ },
+ "proxyto" : "node",
+ "returns" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "all" : {
+ "default" : 0,
+ "description" : "Backup all known guest systems on this host.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "bwlimit" : {
+ "default" : 0,
+ "description" : "Limit I/O bandwidth (KBytes per second).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "compress" : {
+ "default" : "0",
+ "description" : "Compress dump file.",
+ "enum" : [
+ "0",
+ "1",
+ "gzip",
+ "lzo",
+ "zstd"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "dumpdir" : {
+ "description" : "Store resulting files to specified directory.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "exclude" : {
+ "description" : "Exclude specified guest systems (assumes --all)",
+ "format" : "pve-vmid-list",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "exclude-path" : {
+ "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
+ "format" : "string-alist",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "ionice" : {
+ "default" : 7,
+ "description" : "Set CFQ ionice priority.",
+ "maximum" : 8,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "lockwait" : {
+ "default" : 180,
+ "description" : "Maximal time to wait for the global lock (minutes).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "mailnotification" : {
+ "default" : "always",
+ "description" : "Specify when to send an email",
+ "enum" : [
+ "always",
+ "failure"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "mailto" : {
+ "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
+ "format" : "email-or-username-list",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "maxfiles" : {
+ "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "mode" : {
+ "default" : "snapshot",
+ "description" : "Backup mode.",
+ "enum" : [
+ "snapshot",
+ "suspend",
+ "stop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "node" : {
+ "description" : "Only run if executed on this node.",
+ "format" : "pve-node",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "pigz" : {
+ "default" : 0,
+ "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "pool" : {
+ "description" : "Backup all known guest systems included in the specified pool.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "prune-backups" : {
+ "default" : "keep-all=1",
+ "description" : "Use these retention options instead of those from the storage configuration.",
+ "format" : "prune-backups",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "quiet" : {
+ "default" : 0,
+ "description" : "Be quiet.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "remove" : {
+ "default" : 1,
+ "description" : "Prune older backups according to 'prune-backups'.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "script" : {
+ "description" : "Use specified hook script.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "stdexcludes" : {
+ "default" : 1,
+ "description" : "Exclude temporary files and logs.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "stop" : {
+ "default" : 0,
+ "description" : "Stop running backup jobs on this host.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "stopwait" : {
+ "default" : 10,
+ "description" : "Maximal time to wait until a guest system is stopped (minutes).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "storage" : {
+ "description" : "Store resulting file to this storage.",
+ "format" : "pve-storage-id",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "tmpdir" : {
+ "description" : "Store temporary files to specified directory.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "vmid" : {
+ "description" : "The ID of the guest system you want to backup.",
+ "format" : "pve-vmid-list",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "zstd" : {
+ "default" : 1,
+ "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+ "optional" : 1,
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/vzdump/defaults",
+ "text" : "defaults"
+ },
{
"info" : {
"GET" : {
"typetext" : "<string>"
},
"exclude-path" : {
- "description" : "Exclude certain files/directories (shell globs).",
+ "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
"format" : "string-alist",
"optional" : 1,
"type" : "string",
"type" : "string"
},
"mailto" : {
- "description" : "Comma-separated list of email addresses that should receive email notifications.",
- "format" : "string-list",
+ "description" : "Comma-separated list of email addresses or users that should receive email notifications.",
+ "format" : "email-or-username-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"maxfiles" : {
- "default" : 1,
- "description" : "Maximal number of backup files per guest system.",
+ "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per guest system.",
"minimum" : 1,
"optional" : 1,
"type" : "integer",
"type" : "string",
"typetext" : "<string>"
},
+ "prune-backups" : {
+ "default" : "keep-all=1",
+ "description" : "Use these retention options instead of those from the storage configuration.",
+ "format" : "prune-backups",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
+ },
"quiet" : {
"default" : 0,
"description" : "Be quiet.",
},
"remove" : {
"default" : 1,
- "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
+ "description" : "Prune older backups according to 'prune-backups'.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"type" : "string",
"typetext" : "<string>"
},
- "size" : {
- "default" : 1024,
- "description" : "Unused, will be removed in a future release.",
- "minimum" : 500,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (500 - N)"
- },
"stdexcludes" : {
"default" : 1,
"description" : "Exclude temporary files and logs.",
}
},
"permissions" : {
- "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
+ "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'maxfiles', 'prune-backups', 'tmpdir', 'dumpdir', 'script', 'bwlimit' and 'ionice' parameters are restricted to the 'root@pam' user.",
"user" : "all"
},
"protected" : 1,
"pve-ha-lrm",
"sshd",
"syslog",
+ "systemd-journald",
"cron",
"postfix",
"ksmtuned",
- "systemd-timesyncd"
+ "systemd-timesyncd",
+ "chrony"
],
"type" : "string"
}
"pve-ha-lrm",
"sshd",
"syslog",
+ "systemd-journald",
"cron",
"postfix",
"ksmtuned",
- "systemd-timesyncd"
+ "systemd-timesyncd",
+ "chrony"
],
"type" : "string"
}
"pve-ha-lrm",
"sshd",
"syslog",
+ "systemd-journald",
"cron",
"postfix",
"ksmtuned",
- "systemd-timesyncd"
+ "systemd-timesyncd",
+ "chrony"
],
"type" : "string"
}
"info" : {
"POST" : {
"allowtoken" : 1,
- "description" : "Restart service.",
+ "description" : "Hard restart service. Use reload if you want to reduce interruptions.",
"method" : "POST",
"name" : "service_restart",
"parameters" : {
"pve-ha-lrm",
"sshd",
"syslog",
+ "systemd-journald",
"cron",
"postfix",
"ksmtuned",
- "systemd-timesyncd"
+ "systemd-timesyncd",
+ "chrony"
],
"type" : "string"
}
"info" : {
"POST" : {
"allowtoken" : 1,
- "description" : "Reload service.",
+ "description" : "Reload service. Falls back to restart if service cannot be reloaded.",
"method" : "POST",
"name" : "service_reload",
"parameters" : {
"pve-ha-lrm",
"sshd",
"syslog",
+ "systemd-journald",
"cron",
"postfix",
"ksmtuned",
- "systemd-timesyncd"
+ "systemd-timesyncd",
+ "chrony"
],
"type" : "string"
}
"pve-ha-lrm",
"sshd",
"syslog",
+ "systemd-journald",
"cron",
"postfix",
"ksmtuned",
- "systemd-timesyncd"
+ "systemd-timesyncd",
+ "chrony"
],
"type" : "string"
}
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "Scan zfs pool list on local node.",
+ "description" : "Scan remote NFS server.",
"method" : "GET",
- "name" : "zfsscan",
+ "name" : "nfsscan",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
+ },
+ "server" : {
+ "description" : "The server address (name or IP).",
+ "format" : "pve-storage-server",
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
"returns" : {
"items" : {
"properties" : {
- "pool" : {
- "description" : "ZFS pool name.",
+ "options" : {
+ "description" : "NFS export options.",
+ "type" : "string"
+ },
+ "path" : {
+ "description" : "The exported path.",
"type" : "string"
}
},
}
},
"leaf" : 1,
- "path" : "/nodes/{node}/scan/zfs",
- "text" : "zfs"
+ "path" : "/nodes/{node}/scan/nfs",
+ "text" : "nfs"
},
{
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "Scan remote NFS server.",
+ "description" : "Scan remote CIFS server.",
"method" : "GET",
- "name" : "nfsscan",
+ "name" : "cifsscan",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "domain" : {
+ "description" : "SMB domain (Workgroup).",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
},
+ "password" : {
+ "description" : "User password.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"server" : {
"description" : "The server address (name or IP).",
"format" : "pve-storage-server",
"type" : "string",
"typetext" : "<string>"
+ },
+ "username" : {
+ "description" : "User name.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
"returns" : {
"items" : {
"properties" : {
- "options" : {
- "description" : "NFS export options.",
+ "description" : {
+ "description" : "Descriptive text from server.",
"type" : "string"
},
- "path" : {
- "description" : "The exported path.",
+ "share" : {
+ "description" : "The cifs share name.",
"type" : "string"
}
},
}
},
"leaf" : 1,
- "path" : "/nodes/{node}/scan/nfs",
- "text" : "nfs"
+ "path" : "/nodes/{node}/scan/cifs",
+ "text" : "cifs"
},
{
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "Scan remote CIFS server.",
+ "description" : "Scan remote Proxmox Backup Server.",
"method" : "GET",
- "name" : "cifsscan",
+ "name" : "pbsscan",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "domain" : {
- "description" : "SMB domain (Workgroup).",
+ "fingerprint" : {
+ "description" : "Certificate SHA 256 fingerprint.",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
+ "type" : "string"
},
"node" : {
"description" : "The cluster node name.",
"typetext" : "<string>"
},
"password" : {
- "description" : "User password.",
- "optional" : 1,
+ "description" : "User password or API token secret.",
"type" : "string",
"typetext" : "<string>"
},
+ "port" : {
+ "default" : 8007,
+ "description" : "Optional port.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65535)"
+ },
"server" : {
"description" : "The server address (name or IP).",
"format" : "pve-storage-server",
"typetext" : "<string>"
},
"username" : {
- "description" : "User name.",
- "optional" : 1,
+ "description" : "User-name or API token-ID.",
"type" : "string",
"typetext" : "<string>"
}
"returns" : {
"items" : {
"properties" : {
- "description" : {
- "description" : "Descriptive text from server.",
+ "comment" : {
+ "description" : "Comment from server.",
+ "optional" : 1,
"type" : "string"
},
- "share" : {
- "description" : "The cifs share name.",
+ "store" : {
+ "description" : "The datastore name.",
"type" : "string"
}
},
}
},
"leaf" : 1,
- "path" : "/nodes/{node}/scan/cifs",
- "text" : "cifs"
+ "path" : "/nodes/{node}/scan/pbs",
+ "text" : "pbs"
},
{
"info" : {
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "List local USB devices.",
+ "description" : "Scan zfs pool list on local node.",
"method" : "GET",
- "name" : "usbscan",
+ "name" : "zfsscan",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"permissions" : {
"check" : [
"perm",
- "/",
+ "/storage",
[
- "Sys.Modify"
+ "Datastore.Allocate"
]
]
},
"returns" : {
"items" : {
"properties" : {
- "busnum" : {
- "type" : "integer"
- },
- "class" : {
- "type" : "integer"
- },
- "devnum" : {
- "type" : "integer"
- },
- "level" : {
- "type" : "integer"
- },
- "manufacturer" : {
- "optional" : 1,
- "type" : "string"
- },
- "port" : {
- "type" : "integer"
- },
- "prodid" : {
- "type" : "string"
- },
- "product" : {
- "optional" : 1,
- "type" : "string"
- },
- "serial" : {
- "optional" : 1,
- "type" : "string"
- },
- "speed" : {
- "type" : "string"
- },
- "usbpath" : {
- "optional" : 1,
- "type" : "string"
- },
- "vendid" : {
+ "pool" : {
+ "description" : "ZFS pool name.",
"type" : "string"
}
},
}
},
"leaf" : 1,
- "path" : "/nodes/{node}/scan/usb",
- "text" : "usb"
+ "path" : "/nodes/{node}/scan/zfs",
+ "text" : "zfs"
}
],
"info" : {
"leaf" : 0,
"path" : "/nodes/{node}/hardware/pci",
"text" : "pci"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List local USB devices.",
+ "method" : "GET",
+ "name" : "usbscan",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "busnum" : {
+ "type" : "integer"
+ },
+ "class" : {
+ "type" : "integer"
+ },
+ "devnum" : {
+ "type" : "integer"
+ },
+ "level" : {
+ "type" : "integer"
+ },
+ "manufacturer" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "port" : {
+ "type" : "integer"
+ },
+ "prodid" : {
+ "type" : "string"
+ },
+ "product" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "serial" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "speed" : {
+ "type" : "string"
+ },
+ "usbpath" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "vendid" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/hardware/usb",
+ "text" : "usb"
}
],
"info" : {
"children" : [
{
"children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List all custom and default CPU models.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "Only returns custom models when the current user has Sys.Audit on /nodes.",
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "custom" : {
+ "description" : "True if this is a custom CPU model.",
+ "type" : "boolean"
+ },
+ "name" : {
+ "description" : "Name of the CPU model. Identifies it for subsequent API calls. Prefixed with 'custom-' for custom models.",
+ "type" : "string"
+ },
+ "vendor" : {
+ "description" : "CPU vendor visible to the guest when this model is selected. Vendor of 'reported-model' in case of custom models.",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/capabilities/qemu/cpu",
+ "text" : "cpu"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get available QEMU/KVM machine types.",
+ "method" : "GET",
+ "name" : "types",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "additionalProperties" : 1,
+ "properties" : {
+ "id" : {
+ "description" : "Full name of machine type and version.",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "The machine type.",
+ "enum" : [
+ "q35",
+ "i440fx"
+ ],
+ "type" : "string"
+ },
+ "version" : {
+ "description" : "The machine version.",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/capabilities/qemu/machines",
+ "text" : "machines"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "QEMU capabilities index.",
+ "method" : "GET",
+ "name" : "qemu_caps_index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/capabilities/qemu",
+ "text" : "qemu"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Node capabilities index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/capabilities",
+ "text" : "capabilities"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Prune backups. Only those using the standard naming scheme are considered.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "prune-backups" : {
+ "description" : "Use these retention options instead of those from the storage configuration.",
+ "format" : "prune-backups",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
+ },
+ "storage" : {
+ "description" : "The storage identifier.",
+ "format" : "pve-storage-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
+ "enum" : [
+ "qemu",
+ "lxc"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "vmid" : {
+ "description" : "Only prune backups for this VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "You need the 'Datastore.Allocate' privilege on the storage (or if a VM ID is specified, 'Datastore.AllocateSpace' and 'VM.Backup' for the VM).",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get prune information for backups. NOTE: this is only a preview and might not be what a subsequent prune call does if backups are removed/added in the meantime.",
+ "method" : "GET",
+ "name" : "dryrun",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "prune-backups" : {
+ "description" : "Use these retention options instead of those from the storage configuration.",
+ "format" : "prune-backups",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
+ },
+ "storage" : {
+ "description" : "The storage identifier.",
+ "format" : "pve-storage-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
+ "enum" : [
+ "qemu",
+ "lxc"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "vmid" : {
+ "description" : "Only consider backups for this guest.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/storage/{storage}",
+ [
+ "Datastore.Audit",
+ "Datastore.AllocateSpace"
+ ],
+ "any",
+ 1
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "ctime" : {
+ "description" : "Creation time of the backup (seconds since the UNIX epoch).",
+ "type" : "integer"
+ },
+ "mark" : {
+ "description" : "Whether the backup would be kept or removed. For backups that don't use the standard naming scheme, it's 'protected'.",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "One of 'qemu', 'lxc', 'openvz' or 'unknown'.",
+ "type" : "string"
+ },
+ "vmid" : {
+ "description" : "The VM the backup belongs to.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "volid" : {
+ "description" : "Backup volume ID.",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/storage/{storage}/prunebackups",
+ "text" : "prunebackups"
+ },
{
"children" : [
{
"protected" : 1,
"proxyto" : "node",
"returns" : {
+ "properties" : {
+ "format" : {
+ "description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
+ "type" : "string"
+ },
+ "notes" : {
+ "description" : "Optional notes.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "path" : {
+ "description" : "The Path",
+ "type" : "string"
+ },
+ "size" : {
+ "description" : "Volume size in bytes.",
+ "renderer" : "bytes",
+ "type" : "integer"
+ },
+ "used" : {
+ "description" : "Used space. Please note that most storage plugins do not report anything useful here.",
+ "renderer" : "bytes",
+ "type" : "integer"
+ }
+ },
"type" : "object"
}
},
"returns" : {
"type" : "string"
}
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update volume attributes",
+ "method" : "PUT",
+ "name" : "updateattributes",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "notes" : {
+ "description" : "The new notes.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "storage" : {
+ "description" : "The storage identifier.",
+ "format" : "pve-storage-id",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "volume" : {
+ "description" : "Volume identifier",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "You need read access for the volume.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
}
},
"leaf" : 1,
"optional" : 1,
"type" : "integer"
},
+ "encrypted" : {
+ "description" : "If whole backup is encrypted, value is the fingerprint or '1' if encrypted. Only useful for the Proxmox Backup Server storage type.",
+ "optional" : 1,
+ "type" : "string"
+ },
"format" : {
"description" : "Format identifier ('raw', 'qcow2', 'subvol', 'iso', 'tgz' ...)",
"type" : "string"
},
+ "notes" : {
+ "description" : "Optional notes. If they contain multiple lines, only the first one is returned here.",
+ "optional" : 1,
+ "type" : "string"
+ },
"parent" : {
"description" : "Volume identifier of parent (for linked cloned).",
"optional" : 1,
"renderer" : "bytes",
"type" : "integer"
},
+ "verification" : {
+ "description" : "Last backup verification result, only useful for PBS storages.",
+ "optional" : 1,
+ "properties" : {
+ "state" : {
+ "description" : "Last backup verification state.",
+ "type" : "string"
+ },
+ "upid" : {
+ "description" : "Last backup verification UPID.",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
"vmid" : {
"description" : "Associated Owner VMID.",
"optional" : 1,
"path" : "/nodes/{node}/storage/{storage}/content",
"text" : "content"
},
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List files and directories for single file restore under the given path.",
+ "method" : "GET",
+ "name" : "list",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "filepath" : {
+ "description" : "base64-path to the directory or file being listed, or \"/\".",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "storage" : {
+ "description" : "The storage identifier.",
+ "format" : "pve-storage-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "volume" : {
+ "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "You need read access for the volume.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "filepath" : {
+ "description" : "base64 path of the current entry",
+ "type" : "string"
+ },
+ "leaf" : {
+ "description" : "If this entry is a leaf in the directory graph.",
+ "type" : "boolean"
+ },
+ "mtime" : {
+ "description" : "Entry last-modified time (unix timestamp).",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "size" : {
+ "description" : "Entry file size.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "text" : {
+ "description" : "Entry display text.",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "Entry type.",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/storage/{storage}/file-restore/list",
+ "text" : "list"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Extract a file or directory (as zip archive) from a PBS backup.",
+ "method" : "GET",
+ "name" : "download",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "filepath" : {
+ "description" : "base64-path to the directory or file to download.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "storage" : {
+ "description" : "The storage identifier.",
+ "format" : "pve-storage-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "volume" : {
+ "description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "You need read access for the volume.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "any"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/storage/{storage}/file-restore/download",
+ "text" : "download"
+ }
+ ],
+ "leaf" : 0,
+ "path" : "/nodes/{node}/storage/{storage}/file-restore",
+ "text" : "file-restore"
+ },
{
"info" : {
"GET" : {
},
"scan" : {
"description" : "Information about the last/current scrub.",
+ "optional" : 1,
"type" : "string"
},
"state" : {
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "include-partitions" : {
+ "default" : 0,
+ "description" : "Also include partitions.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
},
"permissions" : {
"check" : [
- "perm",
- "/",
+ "or",
[
- "Sys.Audit",
- "Datastore.Audit"
+ "perm",
+ "/",
+ [
+ "Sys.Audit",
+ "Datastore.Audit"
+ ],
+ "any",
+ 1
],
- "any",
- 1
+ [
+ "perm",
+ "/nodes/{node}",
+ [
+ "Sys.Audit",
+ "Datastore.Audit"
+ ],
+ "any",
+ 1
+ ]
]
},
"protected" : 1,
"osdid" : {
"type" : "integer"
},
+ "parent" : {
+ "description" : "For partitions only. The device path of the disk the partition resides on.",
+ "optional" : 1,
+ "type" : "string"
+ },
"serial" : {
"optional" : 1,
"type" : "string"
"leaf" : 1,
"path" : "/nodes/{node}/disks/initgpt",
"text" : "initgpt"
+ },
+ {
+ "info" : {
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Wipe a disk or partition.",
+ "method" : "PUT",
+ "name" : "wipe_disk",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "disk" : {
+ "description" : "Block device name",
+ "pattern" : "^/dev/[a-zA-Z0-9\\/]+$",
+ "type" : "string"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/disks/wipedisk",
+ "text" : "wipedisk"
}
],
"info" : {
"optional" : 1,
"type" : "integer"
},
+ "icmp-type" : {
+ "optional" : 1,
+ "type" : "string"
+ },
"iface" : {
"optional" : 1,
"type" : "string"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"dest" : {
"description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
+ "icmp-type" : {
+ "description" : "Specify icmp-type. Only valid if proto equals 'icmp'.",
+ "format" : "pve-fw-icmp-type-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"iface" : {
"description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
"format" : "pve-iface",
"source" : {
"description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
"format" : "pve-fw-addr-spec",
+ "maxLength" : 512,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<string>"
},
"description" : {
- "description" : "Node description/comment.",
+ "description" : "Description for the Node. Shown in the web-interface node notes panel. This is saved as comment inside the configuration file.",
+ "maxLength" : 65536,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"description" : "Run specific command or default to login.",
"enum" : [
"login",
- "ceph_install",
- "upgrade"
+ "upgrade",
+ "ceph_install"
],
"optional" : 1,
"type" : "string"
},
+ "cmd-opts" : {
+ "default" : "",
+ "description" : "Add parameters to a command. Encoded as null terminated strings.",
+ "optional" : 1,
+ "requires" : "cmd",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"height" : {
"description" : "sets the height of the console in pixels.",
"maximum" : 2160,
"type" : "string",
"typetext" : "<string>"
},
- "upgrade" : {
- "default" : 0,
- "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
"websocket" : {
"description" : "use websocket instead of standard vnc.",
"optional" : 1,
"description" : "Run specific command or default to login.",
"enum" : [
"login",
- "ceph_install",
- "upgrade"
+ "upgrade",
+ "ceph_install"
],
"optional" : 1,
"type" : "string"
},
+ "cmd-opts" : {
+ "default" : "",
+ "description" : "Add parameters to a command. Encoded as null terminated strings.",
+ "optional" : 1,
+ "requires" : "cmd",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
- },
- "upgrade" : {
- "default" : 0,
- "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
}
}
},
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "Opens a weksocket for VNC traffic.",
+ "description" : "Opens a websocket for VNC traffic.",
"method" : "GET",
"name" : "vncwebsocket",
"parameters" : {
"description" : "Run specific command or default to login.",
"enum" : [
"login",
- "ceph_install",
- "upgrade"
+ "upgrade",
+ "ceph_install"
],
"optional" : 1,
"type" : "string"
},
+ "cmd-opts" : {
+ "default" : "",
+ "description" : "Add parameters to a command. Encoded as null terminated strings.",
+ "optional" : 1,
+ "requires" : "cmd",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
- },
- "upgrade" : {
- "default" : 0,
- "description" : "Deprecated, use the 'cmd' property instead! Run 'apt-get dist-upgrade' instead of normal shell.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
}
}
},
"type" : "string",
"typetext" : "<string>"
},
+ "master-pubkey" : {
+ "description" : "Base64-encoded, PEM-formatted public RSA key. Used to encrypt a copy of the encryption-key which will be added to each encrypted backup.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"maxfiles" : {
- "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
+ "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per VM. Use '0' for unlimited.",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"type" : "string",
"typetext" : "<string>"
},
+ "namespace" : {
+ "description" : "RBD Namespace.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "nocow" : {
+ "default" : 0,
+ "description" : "Set the NOCOW flag on files. Disables data checksumming and causes data errors to be unrecoverable from while allowing direct I/O. Only use this if data does not need to be any more safe than on a single ext4 formatted disk with no underlying raid system.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"nodes" : {
"description" : "List of cluster node names.",
"format" : "pve-node-list",
"type" : "string",
"typetext" : "<string>"
},
- "redundancy" : {
- "default" : 2,
- "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.",
- "maximum" : 16,
+ "port" : {
+ "default" : 8007,
+ "description" : "For non default port.",
+ "maximum" : 65535,
"minimum" : 1,
"optional" : 1,
"type" : "integer",
- "typetext" : "<integer> (1 - 16)"
+ "typetext" : "<integer> (1 - 65535)"
+ },
+ "prune-backups" : {
+ "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
+ "format" : "prune-backups",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
},
"saferemove" : {
"description" : "Zero-out data when removing LVs.",
},
"protected" : 1,
"returns" : {
- "type" : "null"
+ "properties" : {
+ "config" : {
+ "additionalProperties" : 1,
+ "description" : "Partial, possible server generated, configuration properties.",
+ "optional" : 1,
+ "properties" : {
+ "encryption-key" : {
+ "description" : "The, possible auto-generated, encryption-key.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "storage" : {
+ "description" : "The ID of the created storage.",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "The type of the created storage.",
+ "enum" : [
+ "btrfs",
+ "cephfs",
+ "cifs",
+ "dir",
+ "glusterfs",
+ "iscsi",
+ "iscsidirect",
+ "lvm",
+ "lvmthin",
+ "nfs",
+ "pbs",
+ "rbd",
+ "zfs",
+ "zfspool"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
}
}
},
"type" : {
"description" : "Only list storage of specific type",
"enum" : [
+ "btrfs",
"cephfs",
"cifs",
"dir",
- "drbd",
"glusterfs",
"iscsi",
"iscsidirect",
"typetext" : "<string>"
},
"datastore" : {
- "description" : "Proxmox backup server datastore name.",
+ "description" : "Proxmox Backup Server datastore name.",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"type" : "string",
"typetext" : "<string>"
},
+ "master-pubkey" : {
+ "description" : "Base64-encoded, PEM-formatted public RSA key. Used to encrypt a copy of the encryption-key which will be added to each encrypted backup.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"maxfiles" : {
- "description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
+ "description" : "Deprecated: use 'prune-backups' instead. Maximal number of backup files per VM. Use '0' for unlimited.",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"type" : "string",
"typetext" : "<string>"
},
+ "namespace" : {
+ "description" : "RBD Namespace.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "nocow" : {
+ "default" : 0,
+ "description" : "Set the NOCOW flag on files. Disables data checksumming and causes data errors to be unrecoverable from while allowing direct I/O. Only use this if data does not need to be any more safe than on a single ext4 formatted disk with no underlying raid system.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"nodes" : {
"description" : "List of cluster node names.",
"format" : "pve-node-list",
"type" : "string",
"typetext" : "<string>"
},
+ "port" : {
+ "default" : 8007,
+ "description" : "For non default port.",
+ "maximum" : 65535,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 65535)"
+ },
"portal" : {
"description" : "iSCSI portal (IP or DNS name with optional port).",
"format" : "pve-storage-portal-dns",
"type" : "string",
"typetext" : "<string>"
},
- "redundancy" : {
- "default" : 2,
- "description" : "The redundancy count specifies the number of nodes to which the resource should be deployed. It must be at least 1 and at most the number of nodes in the cluster.",
- "maximum" : 16,
- "minimum" : 1,
+ "prune-backups" : {
+ "description" : "The retention options with shorter intervals are processed first with --keep-last being the very first one. Each option covers a specific period of time. We say that backups within this period are covered by this option. The next option does not take care of already covered backups and only considers older backups.",
+ "format" : "prune-backups",
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 16)"
+ "type" : "string",
+ "typetext" : "[keep-all=<1|0>] [,keep-daily=<N>] [,keep-hourly=<N>] [,keep-last=<N>] [,keep-monthly=<N>] [,keep-weekly=<N>] [,keep-yearly=<N>]"
},
"saferemove" : {
"description" : "Zero-out data when removing LVs.",
"type" : {
"description" : "Storage type.",
"enum" : [
+ "btrfs",
"cephfs",
"cifs",
"dir",
- "drbd",
"glusterfs",
"iscsi",
"iscsidirect",
},
"protected" : 1,
"returns" : {
- "type" : "null"
+ "properties" : {
+ "config" : {
+ "additionalProperties" : 1,
+ "description" : "Partial, possible server generated, configuration properties.",
+ "optional" : 1,
+ "properties" : {
+ "encryption-key" : {
+ "description" : "The, possible auto-generated, encryption-key.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "storage" : {
+ "description" : "The ID of the created storage.",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "The type of the created storage.",
+ "enum" : [
+ "btrfs",
+ "cephfs",
+ "cifs",
+ "dir",
+ "glusterfs",
+ "iscsi",
+ "iscsidirect",
+ "lvm",
+ "lvmthin",
+ "nfs",
+ "pbs",
+ "rbd",
+ "zfs",
+ "zfspool"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
}
}
},
"optional" : 1,
"type" : "boolean"
},
+ "Pool.Audit" : {
+ "optional" : 1,
+ "type" : "boolean"
+ },
"Realm.Allocate" : {
"optional" : 1,
"type" : "boolean"
"type" : "string",
"typetext" : "<string>"
},
+ "case-sensitive" : {
+ "default" : 1,
+ "description" : "username is case-sensitive",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"cert" : {
"description" : "Path to the client certificate",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
+ "case-sensitive" : {
+ "default" : 1,
+ "description" : "username is case-sensitive",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"cert" : {
"description" : "Path to the client certificate",
"optional" : 1,
"perm",
"/pool/{poolid}",
[
- "Pool.Allocate"
+ "Pool.Audit"
]
]
},
"additionalProperties" : 0
},
"permissions" : {
- "description" : "List all pools where you have Pool.Allocate or VM.Allocate permissions on /pool/<pool>.",
+ "description" : "List all pools where you have Pool.Audit permissions on /pool/<pool>.",
"user" : "all"
},
"returns" : {