- "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>"
- },
- "group" : {
- "description" : "Security Group name.",
- "maxLength" : 18,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : null,
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Get single rule data.",
- "method" : "GET",
- "name" : "get_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "group" : {
- "description" : "Security Group name.",
- "maxLength" : 18,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Audit"
- ]
- ]
- },
- "proxyto" : null,
- "returns" : {
- "properties" : {
- "pos" : {
- "type" : "integer"
- }
- },
- "type" : "object"
- }
- },
- "PUT" : {
- "description" : "Modify rule data.",
- "method" : "PUT",
- "name" : "update_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "action" : {
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "comment" : {
- "description" : "Descriptive comment.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "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",
- "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>"
- },
- "dport" : {
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "group" : {
- "description" : "Security Group name.",
- "maxLength" : 18,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "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",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "macro" : {
- "description" : "Use predefined standard macro.",
- "maxLength" : 128,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "moveto" : {
- "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-sport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "type" : {
- "description" : "Rule type.",
- "enum" : [
- "in",
- "out",
- "group"
- ],
- "optional" : 1,
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : null,
- "returns" : {
- "type" : "null"
- }
- }
+ "info" : {
+ "DELETE" : {
+ "description" : "Mark replication job for removal.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "force" : {
+ "default" : 0,
+ "description" : "Will remove the jobconfig entry, but will not cleanup.",
+ "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/deactivate the entry.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "id" : {
+ "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+ "format" : "pve-replication-job-id",
+ "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+ "type" : "string"
+ },
+ "rate" : {
+ "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "number",
+ "typetext" : "<number> (1 - N)"
+ },
+ "remove_job" : {
+ "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
+ "enum" : [
+ "local",
+ "full"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "schedule" : {
+ "default" : "*/15",
+ "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
+ "format" : "pve-calendar-event",
+ "maxLength" : 128,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "source" : {
+ "description" : "Source of the replication.",
+ "format" : "pve-node",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/storage",
+ [
+ "Datastore.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/replication/{id}",
+ "text" : "{id}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "List replication jobs.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{id}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "description" : "Create a new replication job",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "comment" : {
+ "description" : "Description.",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "disable" : {
+ "description" : "Flag to disable/deactivate the entry.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "id" : {
+ "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+ "format" : "pve-replication-job-id",
+ "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+ "type" : "string"
+ },
+ "rate" : {
+ "description" : "Rate limit in mbps (megabytes per second) as floating point number.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "number",
+ "typetext" : "<number> (1 - N)"
+ },
+ "remove_job" : {
+ "description" : "Mark the replication job for removal. The job will remove all local replication snapshots. When set to 'full', it also tries to remove replicated volumes on the target. The job then removes itself from the configuration file.",
+ "enum" : [
+ "local",
+ "full"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "schedule" : {
+ "default" : "*/15",
+ "description" : "Storage replication schedule. The format is a subset of `systemd` calender events.",
+ "format" : "pve-calendar-event",
+ "maxLength" : 128,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "source" : {
+ "description" : "Source of the replication.",
+ "format" : "pve-node",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "target" : {
+ "description" : "Target node.",
+ "format" : "pve-node",
+ "optional" : 0,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Section type.",
+ "enum" : [
+ "local"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/storage",
+ [
+ "Datastore.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/replication",
+ "text" : "replication"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
"info" : {
"DELETE" : {
- "description" : "Delete security group.",
+ "description" : "Removes a node from the cluster configuration.",
"method" : "DELETE",
- "name" : "delete_security_group",
+ "name" : "delnode",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "group" : {
- "description" : "Security Group name.",
- "maxLength" : 18,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
"protected" : 1,
"returns" : {
"type" : "null"
}
},
- "GET" : {
- "description" : "List rules.",
- "method" : "GET",
- "name" : "get_rules",
+ "POST" : {
+ "description" : "Adds a node to the cluster configuration.",
+ "method" : "POST",
+ "name" : "addnode",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "group" : {
- "description" : "Security Group name.",
- "maxLength" : 18,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Audit"
- ]
- ]
- },
- "proxyto" : null,
- "returns" : {
- "items" : {
- "properties" : {
- "pos" : {
- "type" : "integer"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{pos}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- },
- "POST" : {
- "description" : "Create new rule.",
- "method" : "POST",
- "name" : "create_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "action" : {
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 0,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "comment" : {
- "description" : "Descriptive comment.",
- "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",
- "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,
+ "force" : {
+ "description" : "Do not throw error if node already exists.",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "dport" : {
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
- "optional" : 1,
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
},
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
+ "nodeid" : {
+ "description" : "Node id for this node.",
+ "minimum" : 1,
"optional" : 1,
"type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "group" : {
- "description" : "Security Group name.",
- "maxLength" : 18,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
+ "typetext" : "<integer> (1 - N)"
},
- "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",
- "maxLength" : 20,
- "minLength" : 2,
+ "ring0_addr" : {
+ "default" : "Hostname of the node",
+ "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
+ "format" : "address",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "macro" : {
- "description" : "Use predefined standard macro.",
- "maxLength" : 128,
+ "ring1_addr" : {
+ "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
+ "format" : "address",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "pos" : {
- "description" : "Update rule at position <pos>.",
+ "votes" : {
+ "description" : "Number of votes for this node",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (0 - N)"
- },
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-sport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "type" : {
- "description" : "Rule type.",
- "enum" : [
- "in",
- "out",
- "group"
- ],
- "optional" : 0,
- "type" : "string"
}
}
},
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
"protected" : 1,
- "proxyto" : null,
"returns" : {
- "type" : "null"
+ "properties" : {
+ "corosync_authkey" : {
+ "type" : "string"
+ },
+ "corosync_conf" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
}
}
},
- "leaf" : 0,
- "path" : "/cluster/firewall/groups/{group}",
- "text" : "{group}"
+ "leaf" : 1,
+ "path" : "/cluster/config/nodes/{node}",
+ "text" : "{node}"
}
],
"info" : {
"GET" : {
- "description" : "List security groups.",
+ "description" : "Corosync node list.",
"method" : "GET",
- "name" : "list_security_groups",
+ "name" : "nodes",
"parameters" : {
"additionalProperties" : 0
},
"permissions" : {
- "user" : "all"
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
},
"returns" : {
"items" : {
"properties" : {
- "comment" : {
- "optional" : 1,
- "type" : "string"
- },
- "digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "description" : "Get information needed to join this cluster over the connected node.",
+ "method" : "GET",
+ "name" : "join_info",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "comment" : {
- "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,
+ "node" : {
+ "default" : "current connected node",
+ "description" : "The node for which the joinee gets the nodeinfo. ",
+ "format" : "pve-node",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
- },
- "group" : {
- "description" : "Security Group name.",
- "maxLength" : 18,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "rename" : {
- "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.",
+ "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
+ "format" : "address",
+ "optional" : 1,
+ "type" : "string"
+ }
},
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- }
- }
+ "type" : "object"
+ },
+ "type" : "array"
},
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : null,
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Get single rule data.",
- "method" : "GET",
- "name" : "get_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Audit"
- ]
- ]
+ "preferred_node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string"
},
- "proxyto" : null,
- "returns" : {
- "properties" : {
- "pos" : {
- "type" : "integer"
- }
- },
+ "totem" : {
"type" : "object"
}
},
- "PUT" : {
- "description" : "Modify rule data.",
- "method" : "PUT",
- "name" : "update_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "action" : {
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "comment" : {
- "description" : "Descriptive comment.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "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",
- "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>"
- },
- "dport" : {
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "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",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "macro" : {
- "description" : "Use predefined standard macro.",
- "maxLength" : 128,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "moveto" : {
- "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-sport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "type" : {
- "description" : "Rule type.",
- "enum" : [
- "in",
- "out",
- "group"
- ],
- "optional" : 1,
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : null,
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 1,
- "path" : "/cluster/firewall/rules/{pos}",
- "text" : "{pos}"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "List rules.",
- "method" : "GET",
- "name" : "get_rules",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Audit"
- ]
- ]
- },
- "proxyto" : null,
- "returns" : {
- "items" : {
- "properties" : {
- "pos" : {
- "type" : "integer"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{pos}",
- "rel" : "child"
- }
- ],
- "type" : "array"
+ "type" : "object"
}
},
"POST" : {
- "description" : "Create new rule.",
+ "description" : "Joins this node into an existing cluster.",
"method" : "POST",
- "name" : "create_rule",
+ "name" : "join",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "action" : {
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "description" : "Do not throw error if node already exists.",
"optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "hostname" : {
+ "description" : "Hostname (or IP) of an existing cluster member.",
"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",
+ "nodeid" : {
+ "description" : "Node id for this node.",
+ "minimum" : 1,
"optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "password" : {
+ "description" : "Superuser (root) password of peer node.",
+ "maxLength" : 128,
"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,
+ "ring0_addr" : {
+ "default" : "IP resolved by node's hostname",
+ "description" : "Hostname (or IP) of the corosync ring0 address of this node.",
+ "format" : "address",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "dport" : {
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
+ "ring1_addr" : {
+ "description" : "Hostname (or IP) of the corosync ring1 address of this node. Requires a valid configured ring 1 (bindnet1_addr) in the cluster.",
+ "format" : "address",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "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",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "macro" : {
- "description" : "Use predefined standard macro.",
- "maxLength" : 128,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
+ "votes" : {
+ "description" : "Number of votes for this node",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (0 - N)"
- },
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "description" : "Update IP or Network settings",
+ "description" : "Modify rule data.",
"method" : "PUT",
- "name" : "update_ip",
+ "name" : "update_rule",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "cidr" : {
- "description" : "Network/IP specification in CIDR format.",
- "format" : "IPorCIDRorAlias",
+ "action" : {
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Descriptive comment.",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "comment" : {
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "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.",
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "group" : {
+ "description" : "Security Group name.",
+ "maxLength" : 18,
+ "minLength" : 2,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "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",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "maxLength" : 128,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "moveto" : {
+ "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+ "format" : "pve-fw-protocol-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sport" : {
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "description" : "Network/IP specification in CIDR format.",
- "format" : "IPorCIDRorAlias",
+ "action" : {
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 0,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Descriptive comment.",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "comment" : {
+ "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",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "name" : {
- "description" : "IP set name.",
- "maxLength" : 64,
+ "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>"
+ },
+ "dport" : {
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "group" : {
+ "description" : "Security Group name.",
+ "maxLength" : 18,
"minLength" : 2,
"pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
"type" : "string"
},
- "nomatch" : {
+ "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",
+ "maxLength" : 20,
+ "minLength" : 2,
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "maxLength" : 128,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+ "format" : "pve-fw-protocol-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sport" : {
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
- "maxLength" : 64,
+ "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.",
- "description" : "Network/IP specification in CIDR format.",
- "format" : "IPorCIDR",
+ "action" : {
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Descriptive comment.",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "comment" : {
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "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.",
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
},
- "rename" : {
- "description" : "Rename an existing alias.",
- "maxLength" : 64,
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "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",
+ "maxLength" : 20,
"minLength" : 2,
"optional" : 1,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "maxLength" : 128,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "moveto" : {
+ "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+ "format" : "pve-fw-protocol-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sport" : {
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "description" : "Network/IP specification in CIDR format.",
- "format" : "IPorCIDR",
+ "action" : {
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 0,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Descriptive comment.",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "comment" : {
+ "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",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "name" : {
- "description" : "Alias name.",
- "maxLength" : 64,
+ "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>"
+ },
+ "dport" : {
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "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",
+ "maxLength" : 20,
"minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 0,
- "path" : "/cluster/firewall/aliases",
- "text" : "aliases"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Get Firewall options.",
- "method" : "GET",
- "name" : "get_options",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Audit"
- ]
- ]
- },
- "returns" : {
- "properties" : {
- "enable" : {
- "description" : "Enable or disable the firewall cluster wide.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer"
- },
- "policy_in" : {
- "description" : "Input policy.",
- "enum" : [
- "ACCEPT",
- "REJECT",
- "DROP"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "policy_out" : {
- "description" : "Output policy.",
- "enum" : [
- "ACCEPT",
- "REJECT",
- "DROP"
- ],
- "optional" : 1,
- "type" : "string"
- }
- },
- "type" : "object"
- }
- },
- "PUT" : {
- "description" : "Set Firewall options.",
- "method" : "PUT",
- "name" : "set_options",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
"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,
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "maxLength" : 128,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "enable" : {
- "description" : "Enable or disable the firewall cluster wide.",
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
"minimum" : 0,
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (0 - N)"
},
- "policy_in" : {
- "description" : "Input policy.",
- "enum" : [
- "ACCEPT",
- "REJECT",
- "DROP"
- ],
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+ "format" : "pve-fw-protocol-spec",
"optional" : 1,
- "type" : "string"
+ "type" : "string",
+ "typetext" : "<string>"
},
- "policy_out" : {
- "description" : "Output policy.",
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sport" : {
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "description" : "Enable or disable the firewall cluster wide.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "policy_in" : {
+ "description" : "Input policy.",
+ "enum" : [
+ "ACCEPT",
+ "REJECT",
+ "DROP"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "policy_out" : {
+ "description" : "Output policy.",
+ "enum" : [
+ "ACCEPT",
+ "REJECT",
+ "DROP"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
},
- "tmpdir" : {
- "description" : "Store temporary files to specified directory.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
},
- "vmid" : {
- "description" : "The ID of the guest system you want to backup.",
- "format" : "pve-vmid-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
}
}
},
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ],
- "description" : "The 'tmpdir', 'dumpdir' and 'script' parameters are additionally restricted to the 'root@pam' user."
- },
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 0,
- "path" : "/cluster/backup",
- "text" : "backup"
- },
- {
- "children" : [
+ "leaf" : 1,
+ "path" : "/cluster/firewall/options",
+ "text" : "options"
+ },
{
- "children" : [
- {
- "children" : [
- {
- "info" : {
- "POST" : {
- "description" : "Request resource migration (online) to another node.",
- "method" : "POST",
- "name" : "migrate",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "sid" : {
- "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
- "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
- "method" : "POST",
- "name" : "relocate",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "sid" : {
- "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
- "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
- "format" : "pve-ha-resource-or-vm-id",
- "type" : "string",
- "typetext" : "<type>:<name>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Console"
- ]
- ]
- },
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Read resource configuration.",
- "method" : "GET",
- "name" : "read",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "sid" : {
- "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
- "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>"
- },
- "group" : {
- "description" : "The HA group identifier.",
- "format" : "pve-configid",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "max_relocate" : {
- "default" : 1,
- "description" : "Maximal number of service relocate tries when a service failes to start.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "max_restart" : {
- "default" : 1,
- "description" : "Maximal number of tries to restart the service on a node after its start failed.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "sid" : {
- "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
- "format" : "pve-ha-resource-or-vm-id",
- "type" : "string",
- "typetext" : "<type>:<name>"
- },
- "state" : {
- "default" : "started",
- "description" : "Requested resource state.",
- "enum" : [
- "started",
- "stopped",
- "enabled",
- "disabled"
- ],
- "optional" : 1,
- "type" : "string",
- "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n"
- }
- },
- "type" : "object"
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Console"
- ]
- ]
- },
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
- }
- },
- "leaf" : 0,
- "path" : "/cluster/ha/resources/{sid}",
- "text" : "{sid}"
+ "type" : "array"
+ }
}
- ],
+ },
+ "leaf" : 1,
+ "path" : "/cluster/firewall/macros",
+ "text" : "macros"
+ },
+ {
"info" : {
"GET" : {
- "description" : "List HA resources.",
+ "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
"method" : "GET",
- "name" : "index",
+ "name" : "refs",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"type" : {
- "description" : "Only list resources of specific type",
+ "description" : "Only list references of specified type.",
- "description" : "Maximal number of service relocate tries when a service failes to start.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "max_restart" : {
- "default" : 1,
- "description" : "Maximal number of tries to restart the service on a node after its start failed.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "sid" : {
- "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
- "format" : "pve-ha-resource-or-vm-id",
- "type" : "string",
- "typetext" : "<type>:<name>"
- },
- "state" : {
- "default" : "started",
- "description" : "Requested resource state.",
- "enum" : [
- "started",
- "stopped",
- "enabled",
- "disabled"
- ],
- "optional" : 1,
- "type" : "string",
- "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n"
- "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
- },
- "nofailback" : {
- "default" : 0,
- "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "restricted" : {
- "default" : 0,
- "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>",
- "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
- "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
+ "typetext" : "<string>"
},
- "nofailback" : {
- "default" : 0,
- "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
+ "enabled" : {
+ "default" : "1",
+ "description" : "Enable or disable the job.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
- "restricted" : {
- "default" : 0,
- "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
+ "exclude" : {
+ "description" : "Exclude specified guest systems (assumes --all)",
+ "format" : "pve-vmid-list",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>",
- "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
+ "type" : "string",
+ "typetext" : "<string>"
},
- "type" : {
- "description" : "Group type.",
+ "exclude-path" : {
+ "description" : "Exclude certain files/directories (shell globs).",
+ "format" : "string-alist",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "id" : {
+ "description" : "The job ID.",
+ "maxLength" : 50,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ionice" : {
+ "default" : 7,
+ "description" : "Set CFQ ionice priority.",
+ "maximum" : 8,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 8)"
+ },
+ "lockwait" : {
+ "default" : 180,
+ "description" : "Maximal time to wait for the global lock (minutes).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "mailnotification" : {
+ "default" : "always",
+ "description" : "Specify when to send an email",
"enum" : [
- "group"
+ "always",
+ "failure"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "mailto" : {
+ "description" : "Comma-separated list of email addresses that should receive email notifications.",
+ "format" : "string-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "maxfiles" : {
+ "default" : 1,
+ "description" : "Maximal number of backup files per guest system.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "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",
+ "typetext" : "<string>"
+ },
+ "pigz" : {
+ "default" : 0,
+ "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "quiet" : {
+ "default" : 0,
+ "description" : "Be quiet.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "remove" : {
+ "default" : 1,
+ "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "script" : {
+ "description" : "Use specified hook script.",
+ "optional" : 1,
+ "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}",
+ "type" : "string",
+ "typetext" : "HH:MM"
+ },
+ "stdexcludes" : {
+ "default" : 1,
+ "description" : "Exclude temporary files and logs.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "stop" : {
+ "default" : 0,
+ "description" : "Stop runnig backup jobs on this host.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "stopwait" : {
+ "default" : 10,
+ "description" : "Maximal time to wait until a guest system is stopped (minutes).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "storage" : {
+ "description" : "Store resulting file to this storage.",
+ "format" : "pve-storage-id",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "tmpdir" : {
+ "description" : "Store temporary files to specified directory.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vmid" : {
+ "description" : "The ID of the guest system you want to backup.",
- "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC), an external virt-viewer comtatible application (SPICE), or an HTML5 based viewer (noVNC).",
+ "compress" : {
+ "default" : "0",
+ "description" : "Compress dump file.",
"enum" : [
- "applet",
- "vv",
- "html5"
+ "0",
+ "1",
+ "gzip",
+ "lzo"
],
"optional" : 1,
"type" : "string"
},
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
+ "dow" : {
+ "default" : "mon,tue,wed,thu,fri,sat,sun",
+ "description" : "Day of week selection.",
+ "format" : "pve-day-of-week-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "email_from" : {
- "description" : "Specify email address to send notification from (default is root@$hostname)",
- "format" : "email-opt",
+ "dumpdir" : {
+ "description" : "Store resulting files to specified directory.",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "fencing" : {
- "default" : "watchdog",
- "description" : "Set the fencing mode of the HA cluster. Hardware mode needs a valid configuration of fence devices in /etc/pve/ha/fence.cfg. With both all two modes are used.\n\nWARNING: 'hardware' and 'both' are EXPERIMENTAL & WIP",
- "enum" : [
- "watchdog",
- "hardware",
- "both"
- ],
+ "enabled" : {
+ "default" : "1",
+ "description" : "Enable or disable the job.",
"optional" : 1,
- "type" : "string"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "http_proxy" : {
- "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
+ "exclude" : {
+ "description" : "Exclude specified guest systems (assumes --all)",
+ "format" : "pve-vmid-list",
"optional" : 1,
- "pattern" : "http://.*",
- "type" : "string"
+ "type" : "string",
+ "typetext" : "<string>"
},
- "keyboard" : {
- "description" : "Default keybord layout for vnc server.",
+ "exclude-path" : {
+ "description" : "Exclude certain files/directories (shell globs).",
+ "format" : "string-alist",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ionice" : {
+ "default" : 7,
+ "description" : "Set CFQ ionice priority.",
+ "maximum" : 8,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 8)"
+ },
+ "lockwait" : {
+ "default" : 180,
+ "description" : "Maximal time to wait for the global lock (minutes).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "mailnotification" : {
+ "default" : "always",
+ "description" : "Specify when to send an email",
"enum" : [
- "de",
- "de-ch",
- "da",
- "en-gb",
- "en-us",
- "es",
- "fi",
- "fr",
- "fr-be",
- "fr-ca",
- "fr-ch",
- "hu",
- "is",
- "it",
- "ja",
- "lt",
- "mk",
- "nl",
- "no",
- "pl",
- "pt",
- "pt-br",
- "sv",
- "sl",
- "tr"
+ "always",
+ "failure"
],
"optional" : 1,
"type" : "string"
},
- "language" : {
- "description" : "Default GUI language.",
+ "mailto" : {
+ "description" : "Comma-separated list of email addresses that should receive email notifications.",
+ "format" : "string-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "maxfiles" : {
+ "default" : 1,
+ "description" : "Maximal number of backup files per guest system.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "mode" : {
+ "default" : "snapshot",
+ "description" : "Backup mode.",
"enum" : [
- "en",
- "de"
+ "snapshot",
+ "suspend",
+ "stop"
],
"optional" : 1,
"type" : "string"
},
- "mac_prefix" : {
- "description" : "Prefix for autogenerated MAC addresses.",
+ "node" : {
+ "description" : "Only run if executed on this node.",
- "description" : "CIDR of the (sub) network that is used for migration.",
- "format" : "CIDR",
- "format_description" : "CIDR",
- "optional" : 1,
- "type" : "string"
- },
- "type" : {
- "default" : "secure",
- "default_key" : 1,
- "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
- "enum" : [
- "secure",
- "insecure"
- ],
- "type" : "string"
- }
- },
+ "quiet" : {
+ "default" : 0,
+ "description" : "Be quiet.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "remove" : {
+ "default" : 1,
+ "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
- "description" : "Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration. Deprecated, use the 'migration' property instead!",
+ "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}",
+ "type" : "string",
+ "typetext" : "HH:MM"
+ },
+ "stdexcludes" : {
+ "default" : 1,
+ "description" : "Exclude temporary files and logs.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "stop" : {
+ "default" : 0,
+ "description" : "Stop runnig backup jobs on this host.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
+ },
+ "stopwait" : {
+ "default" : 10,
+ "description" : "Maximal time to wait until a guest system is stopped (minutes).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "storage" : {
+ "description" : "Store resulting file to this storage.",
+ "format" : "pve-storage-id",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "tmpdir" : {
+ "description" : "Store temporary files to specified directory.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vmid" : {
+ "description" : "The ID of the guest system you want to backup.",
- "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>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Config.Network"
- ]
- ]
+ "info" : {
+ "POST" : {
+ "description" : "Request resource migration (online) to another node.",
+ "method" : "POST",
+ "name" : "migrate",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sid" : {
+ "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
+ "format" : "pve-ha-resource-or-vm-id",
+ "type" : "string",
+ "typetext" : "<type>:<name>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Console"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/ha/resources/{sid}/migrate",
+ "text" : "migrate"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
+ "method" : "POST",
+ "name" : "relocate",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sid" : {
+ "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
+ "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
+ "format" : "pve-ha-resource-or-vm-id",
+ "type" : "string",
+ "typetext" : "<type>:<name>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Console"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "description" : "Read resource configuration.",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "sid" : {
+ "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
+ "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>"
+ },
+ "group" : {
+ "description" : "The HA group identifier.",
+ "format" : "pve-configid",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "max_relocate" : {
+ "default" : 1,
+ "description" : "Maximal number of service relocate tries when a service failes to start.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "max_restart" : {
+ "default" : 1,
+ "description" : "Maximal number of tries to restart the service on a node after its start failed.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "sid" : {
+ "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
+ "format" : "pve-ha-resource-or-vm-id",
+ "type" : "string",
+ "typetext" : "<type>:<name>"
+ },
+ "state" : {
+ "default" : "started",
+ "description" : "Requested resource state.",
+ "enum" : [
+ "started",
+ "stopped",
+ "enabled",
+ "disabled",
+ "ignored"
+ ],
+ "optional" : 1,
+ "type" : "string",
+ "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Console"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/ha/resources/{sid}",
+ "text" : "{sid}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "List HA resources.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "type" : {
+ "description" : "Only list resources of specific type",
+ "enum" : [
+ "ct",
+ "vm"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "sid" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{sid}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "description" : "Create a new HA resource.",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "comment" : {
+ "description" : "Description.",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "group" : {
+ "description" : "The HA group identifier.",
+ "format" : "pve-configid",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "max_relocate" : {
+ "default" : 1,
+ "description" : "Maximal number of service relocate tries when a service failes to start.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "max_restart" : {
+ "default" : 1,
+ "description" : "Maximal number of tries to restart the service on a node after its start failed.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "sid" : {
+ "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
+ "format" : "pve-ha-resource-or-vm-id",
+ "type" : "string",
+ "typetext" : "<type>:<name>"
+ },
+ "state" : {
+ "default" : "started",
+ "description" : "Requested resource state.",
+ "enum" : [
+ "started",
+ "stopped",
+ "enabled",
+ "disabled",
+ "ignored"
+ ],
+ "optional" : 1,
+ "type" : "string",
+ "verbose_description" : "Requested resource state. The CRM reads this state and acts accordingly.\nPlease note that `enabled` is just an alias for `started`.\n\n`started`;;\n\nThe CRM tries to start the resource. Service state is\nset to `started` after successful start. On node failures, or when start\nfails, it tries to recover the resource. If everything fails, service\nstate it set to `error`.\n\n`stopped`;;\n\nThe CRM tries to keep the resource in `stopped` state, but it\nstill tries to relocate the resources on node failures.\n\n`disabled`;;\n\nThe CRM tries to put the resource in `stopped` state, but does not try\nto relocate the resources on node failures. The main purpose of this\nstate is error recovery, because it is the only way to move a resource out\nof the `error` state.\n\n`ignored`;;\n\nThe resource gets removed from the manager status and so the CRM and the LRM do\nnot touch the resource anymore. All {pve} API calls affecting this resource\nwill be executed, directly bypassing the HA stack. CRM commands will be thrown\naway while there source is in this state. The resource will not get relocated\non node failures.\n\n"
+ },
+ "type" : {
+ "description" : "Resource type.",
+ "enum" : [
+ "ct",
+ "vm"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Console"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/ha/resources",
+ "text" : "resources"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "description" : "Delete ha group configuration.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "group" : {
+ "description" : "The HA group identifier.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Console"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "description" : "Read ha group configuration.",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "group" : {
+ "description" : "The HA group identifier.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "returns" : {}
+ },
+ "PUT" : {
+ "description" : "Update ha group configuration.",
+ "method" : "PUT",
+ "name" : "update",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "comment" : {
+ "description" : "Description.",
+ "maxLength" : 4096,
+ "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>"
+ },
+ "group" : {
+ "description" : "The HA group identifier.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "nodes" : {
+ "description" : "List of cluster node names with optional priority.",
+ "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
+ },
+ "nofailback" : {
+ "default" : 0,
+ "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "restricted" : {
+ "default" : 0,
+ "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>",
+ "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Console"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/ha/groups/{group}",
+ "text" : "{group}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "Get HA groups.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "group" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{group}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "description" : "Create a new HA group.",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "comment" : {
+ "description" : "Description.",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "group" : {
+ "description" : "The HA group identifier.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "nodes" : {
+ "description" : "List of cluster node names with optional priority.",
+ "verbose_description" : "List of cluster node members, where a priority can be given to each node. A resource bound to a group will run on the available nodes with the highest priority. If there are more nodes in the highest priority class, the services will get distributed to those nodes. The priorities have a relative meaning only."
+ },
+ "nofailback" : {
+ "default" : 0,
+ "description" : "The CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "restricted" : {
+ "default" : 0,
+ "description" : "Resources bound to restricted groups may only run on nodes defined by the group.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>",
+ "verbose_description" : "Resources bound to restricted groups may only run on nodes defined by the group. The resource will be placed in the stopped state if no group node member is online. Resources on unrestricted groups may run on any cluster node if all group members are offline, but they will migrate back as soon as a group member comes online. One can implement a 'preferred node' behavior using an unrestricted group with only one member."
+ },
+ "type" : {
+ "description" : "Group type.",
+ "enum" : [
+ "group"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Console"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/ha/groups",
+ "text" : "groups"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Get HA manger status.",
+ "method" : "GET",
+ "name" : "status",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "returns" : {
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/ha/status/current",
+ "text" : "current"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Get full HA manger status, including LRM status.",
+ "method" : "GET",
+ "name" : "manager_status",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "returns" : {
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/ha/status/manager_status",
+ "text" : "manager_status"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "Directory 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/ha/status",
+ "text" : "status"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "Directory index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "id" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{id}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/ha",
+ "text" : "ha"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "description" : "Deactivate existing ACME account at CA.",
+ "description" : "Select the default Console viewer. You can either use the builtin java applet (VNC; deprecated and maps to html5), an external virt-viewer comtatible application (SPICE), an HTML5 based vnc viewer (noVNC), or an HTML5 based console client (xtermjs). If the selected viewer is not available (e.g. SPICE not activated for the VM), the fallback is noVNC.",
+ "enum" : [
+ "applet",
+ "vv",
+ "html5",
+ "xtermjs"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "email_from" : {
+ "description" : "Specify email address to send notification from (default is root@$hostname)",
+ "format" : "email-opt",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "fencing" : {
+ "default" : "watchdog",
+ "description" : "Set the fencing mode of the HA cluster. Hardware mode needs a valid configuration of fence devices in /etc/pve/ha/fence.cfg. With both all two modes are used.\n\nWARNING: 'hardware' and 'both' are EXPERIMENTAL & WIP",
+ "enum" : [
+ "watchdog",
+ "hardware",
+ "both"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "http_proxy" : {
+ "description" : "Specify external http proxy which is used for downloads (example: 'http://username:password@host:port/')",
+ "optional" : 1,
+ "pattern" : "http://.*",
+ "type" : "string"
+ },
+ "keyboard" : {
+ "description" : "Default keybord layout for vnc server.",
+ "enum" : [
+ "de",
+ "de-ch",
+ "da",
+ "en-gb",
+ "en-us",
+ "es",
+ "fi",
+ "fr",
+ "fr-be",
+ "fr-ca",
+ "fr-ch",
+ "hu",
+ "is",
+ "it",
+ "ja",
+ "lt",
+ "mk",
+ "nl",
+ "no",
+ "pl",
+ "pt",
+ "pt-br",
+ "sv",
+ "sl",
+ "tr"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "language" : {
+ "description" : "Default GUI language.",
+ "enum" : [
+ "zh_CN",
+ "zh_TW",
+ "ca",
+ "en",
+ "eu",
+ "fr",
+ "de",
+ "it",
+ "es",
+ "ja",
+ "nb",
+ "nn",
+ "fa",
+ "pl",
+ "pt_BR",
+ "ru",
+ "sl",
+ "sv",
+ "tr"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "mac_prefix" : {
+ "description" : "Prefix for autogenerated MAC addresses.",
+ "description" : "CIDR of the (sub) network that is used for migration.",
+ "format" : "CIDR",
+ "format_description" : "CIDR",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "type" : {
+ "default" : "secure",
+ "default_key" : 1,
+ "description" : "Migration traffic is encrypted using an SSH tunnel by default. On secure, completely private networks this can be disabled to increase performance.",
+ "description" : "Migration is secure using SSH tunnel by default. For secure private networks you can disable it to speed up migration. Deprecated, use the 'migration' property instead!",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/options",
+ "text" : "options"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Get cluster status informations.",
+ "method" : "GET",
+ "name" : "get_status",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "type" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/status",
+ "text" : "status"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Get next free VMID. If you pass an VMID it will raise an error if the ID is already used.",
+ "method" : "GET",
+ "name" : "nextid",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "description" : "The next free VMID.",
+ "type" : "integer"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/nextid",
+ "text" : "nextid"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "Cluster 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",
+ "text" : "cluster"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "description" : "Delete rule.",
+ "method" : "DELETE",
+ "name" : "delete_rule",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "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>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/vms/{vmid}",
+ [
+ "VM.Config.Network"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : null,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "description" : "Get single rule data.",
+ "method" : "GET",
+ "name" : "get_rule",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/vms/{vmid}",
+ [
+ "VM.Audit"
+ ]
+ ]
+ },
+ "proxyto" : null,
+ "returns" : {
+ "properties" : {
+ "pos" : {
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "description" : "Modify rule data.",
+ "method" : "PUT",
+ "name" : "update_rule",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "action" : {
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Descriptive comment.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "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",
+ "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>"
+ },
+ "dport" : {
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "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",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "maxLength" : 128,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "moveto" : {
+ "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+ "format" : "pve-fw-protocol-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sport" : {
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 0,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Descriptive comment.",
+ "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",
+ "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>"
+ },
+ "dport" : {
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "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",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "maxLength" : 128,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+ "format" : "pve-fw-protocol-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sport" : {
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "log_level_in" : {
+ "description" : "Log level for incoming traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "log_level_out" : {
+ "description" : "Log level for outgoing traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "macfilter" : {
+ "description" : "Enable/disable MAC address filter.",
+ "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "log_level_in" : {
+ "description" : "Log level for incoming traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "log_level_out" : {
+ "description" : "Log level for outgoing traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "macfilter" : {
+ "description" : "Enable/disable MAC address filter.",
+ "description" : "Run fstrim after cloning/moving a disk.",
+ "optional" : 1,
+ "type" : "boolean"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
+ "args" : {
+ "description" : "Arbitrary arguments passed to kvm.",
+ "optional" : 1,
+ "type" : "string",
+ "verbose_description" : "Arbitrary arguments passed to kvm, for example:\n\nargs: -no-reboot -no-hpet\n\nNOTE: this option is for experts only.\n"
+ },
+ "autostart" : {
+ "default" : 0,
+ "description" : "Automatic restart after crash (currently ignored).",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "balloon" : {
+ "description" : "Amount of target RAM for the VM in MB. Using zero disables the ballon driver.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bios" : {
+ "default" : "seabios",
+ "description" : "Select BIOS implementation.",
+ "enum" : [
+ "seabios",
+ "ovmf"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "boot" : {
+ "default" : "cdn",
+ "description" : "Boot on floppy (a), hard disk (c), CD-ROM (d), or network (n).",
+ "optional" : 1,
+ "pattern" : "[acdn]{1,4}",
+ "type" : "string"
+ },
+ "bootdisk" : {
+ "description" : "Enable booting from specified disk.",
+ "format" : "pve-qm-bootdisk",
+ "optional" : 1,
+ "pattern" : "(ide|sata|scsi|virtio)\\d+",
+ "type" : "string"
+ },
+ "cdrom" : {
+ "description" : "This is an alias for option -ide2",
+ "format" : "pve-qm-ide",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<volume>"
+ },
+ "cipassword" : {
+ "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "citype" : {
+ "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"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "ciuser" : {
+ "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "cores" : {
+ "default" : 1,
+ "description" : "The number of cores per socket.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "cpu" : {
+ "description" : "Emulated CPU type.",
+ "format" : {
+ "cputype" : {
+ "default" : "kvm64",
+ "default_key" : 1,
+ "description" : "Emulated CPU type.",
+ "enum" : [
+ "486",
+ "athlon",
+ "Broadwell",
+ "Broadwell-IBRS",
+ "Broadwell-noTSX",
+ "Broadwell-noTSX-IBRS",
+ "Conroe",
+ "core2duo",
+ "coreduo",
+ "EPYC",
+ "EPYC-IBPB",
+ "Haswell",
+ "Haswell-IBRS",
+ "Haswell-noTSX",
+ "Haswell-noTSX-IBRS",
+ "host",
+ "IvyBridge",
+ "IvyBridge-IBRS",
+ "kvm32",
+ "kvm64",
+ "max",
+ "Nehalem",
+ "Nehalem-IBRS",
+ "Opteron_G1",
+ "Opteron_G2",
+ "Opteron_G3",
+ "Opteron_G4",
+ "Opteron_G5",
+ "Penryn",
+ "pentium",
+ "pentium2",
+ "pentium3",
+ "phenom",
+ "qemu32",
+ "qemu64",
+ "SandyBridge",
+ "SandyBridge-IBRS",
+ "Skylake-Client",
+ "Skylake-Client-IBRS",
+ "Skylake-Server",
+ "Skylake-Server-IBRS",
+ "Westmere",
+ "Westmere-IBRS"
+ ],
+ "type" : "string"
+ },
+ "flags" : {
+ "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
+ "description" : "Do not identify as a KVM virtual machine.",
+ "optional" : 1,
+ "type" : "boolean"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
+ "cpulimit" : {
+ "default" : 0,
+ "description" : "Limit of CPU usage.",
+ "maximum" : 128,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "number",
+ "verbose_description" : "Limit of CPU usage.\n\nNOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit."
+ },
+ "cpuunits" : {
+ "default" : 1024,
+ "description" : "CPU weight for a VM.",
+ "maximum" : 262144,
+ "minimum" : 2,
+ "optional" : 1,
+ "type" : "integer",
+ "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
+ },
+ "description" : {
+ "description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "digest" : {
+ "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
+ "type" : "string"
+ },
+ "efidisk0" : {
+ "description" : "Configure a Disk for storing EFI vars",
+ "format" : {
+ "file" : {
+ "default_key" : 1,
+ "description" : "The drive's backing volume.",
+ "format" : "pve-volume-id-or-qm-path",
+ "format_description" : "volume",
+ "type" : "string"
+ },
+ "format" : {
+ "description" : "The drive's backing file's data format.",
+ "enum" : [
+ "raw",
+ "cow",
+ "qcow",
+ "qed",
+ "qcow2",
+ "vmdk",
+ "cloop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "size" : {
+ "description" : "Disk size. This is purely informational and has no effect.",
+ "format" : "disk-size",
+ "format_description" : "DiskSize",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "volume" : {
+ "alias" : "file"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
+ "freeze" : {
+ "description" : "Freeze CPU at startup (use 'c' monitor command to start execution).",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "hostpci[n]" : {
+ "description" : "Map host PCI devices into guest.",
+ "format" : "pve-qm-hostpci",
+ "optional" : 1,
+ "type" : "string",
+ "verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ },
+ "hotplug" : {
+ "default" : "network,disk,usb",
+ "description" : "Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory' and 'usb'. Use '0' to disable hotplug completely. Value '1' is an alias for the default 'network,disk,usb'.",
+ "description" : "Use volume as IDE hard disk or CD-ROM (n is 0 to 3).",
+ "format" : {
+ "aio" : {
+ "description" : "AIO type to use.",
+ "enum" : [
+ "native",
+ "threads"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "backup" : {
+ "description" : "Whether the drive should be included when making backups.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "bps" : {
+ "description" : "Maximum r/w speed in bytes per second.",
+ "format_description" : "bps",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_max_length" : {
+ "description" : "Maximum length of I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_rd" : {
+ "description" : "Maximum read speed in bytes per second.",
+ "format_description" : "bps",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_rd_length" : {
+ "alias" : "bps_rd_max_length"
+ },
+ "bps_rd_max_length" : {
+ "description" : "Maximum length of read I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_wr" : {
+ "description" : "Maximum write speed in bytes per second.",
+ "format_description" : "bps",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_wr_length" : {
+ "alias" : "bps_wr_max_length"
+ },
+ "bps_wr_max_length" : {
+ "description" : "Maximum length of write I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "cache" : {
+ "description" : "The drive's cache mode",
+ "enum" : [
+ "none",
+ "writethrough",
+ "writeback",
+ "unsafe",
+ "directsync"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "cyls" : {
+ "description" : "Force the drive's physical geometry to have a specific cylinder count.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "detect_zeroes" : {
+ "description" : "Controls whether to detect and try to optimize writes of zeroes.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "discard" : {
+ "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
+ "enum" : [
+ "ignore",
+ "on"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "file" : {
+ "default_key" : 1,
+ "description" : "The drive's backing volume.",
+ "format" : "pve-volume-id-or-qm-path",
+ "format_description" : "volume",
+ "type" : "string"
+ },
+ "format" : {
+ "description" : "The drive's backing file's data format.",
+ "enum" : [
+ "raw",
+ "cow",
+ "qcow",
+ "qed",
+ "qcow2",
+ "vmdk",
+ "cloop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "heads" : {
+ "description" : "Force the drive's physical geometry to have a specific head count.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "iops" : {
+ "description" : "Maximum r/w I/O in operations per second.",
+ "format_description" : "iops",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "iops_max" : {
+ "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
+ "format_description" : "iops",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "iops_max_length" : {
+ "description" : "Maximum length of I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "iops_rd" : {
+ "description" : "Maximum read I/O in operations per second.",
+ "format_description" : "iops",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "iops_rd_length" : {
+ "alias" : "iops_rd_max_length"
+ },
+ "iops_rd_max" : {
+ "description" : "Maximum unthrottled read I/O pool in operations per second.",
+ "format_description" : "iops",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "iops_rd_max_length" : {
+ "description" : "Maximum length of read I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "iops_wr" : {
+ "description" : "Maximum write I/O in operations per second.",
+ "format_description" : "iops",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "iops_wr_length" : {
+ "alias" : "iops_wr_max_length"
+ },
+ "iops_wr_max" : {
+ "description" : "Maximum unthrottled write I/O pool in operations per second.",
+ "format_description" : "iops",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "iops_wr_max_length" : {
+ "description" : "Maximum length of write I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "mbps" : {
+ "description" : "Maximum r/w speed in megabytes per second.",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "mbps_max" : {
+ "description" : "Maximum unthrottled r/w pool in megabytes per second.",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "mbps_rd" : {
+ "description" : "Maximum read speed in megabytes per second.",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "mbps_rd_max" : {
+ "description" : "Maximum unthrottled read pool in megabytes per second.",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "mbps_wr" : {
+ "description" : "Maximum write speed in megabytes per second.",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "mbps_wr_max" : {
+ "description" : "Maximum unthrottled write pool in megabytes per second.",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "media" : {
+ "default" : "disk",
+ "description" : "The drive's media type.",
+ "enum" : [
+ "cdrom",
+ "disk"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "model" : {
+ "description" : "The drive's reported model name, url-encoded, up to 40 bytes long.",
+ "format" : "urlencoded",
+ "format_description" : "model",
+ "maxLength" : 120,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "replicate" : {
+ "default" : 1,
+ "description" : "Whether the drive should considered for replication jobs.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "rerror" : {
+ "description" : "Read error action.",
+ "enum" : [
+ "ignore",
+ "report",
+ "stop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "secs" : {
+ "description" : "Force the drive's physical geometry to have a specific sector count.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "serial" : {
+ "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
+ "format" : "urlencoded",
+ "format_description" : "serial",
+ "maxLength" : 60,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "shared" : {
+ "default" : 0,
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
+ "size" : {
+ "description" : "Disk size. This is purely informational and has no effect.",
+ "format" : "disk-size",
+ "format_description" : "DiskSize",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "snapshot" : {
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "trans" : {
+ "description" : "Force disk geometry bios translation mode.",
+ "enum" : [
+ "none",
+ "lba",
+ "auto"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "volume" : {
+ "alias" : "file"
+ },
+ "werror" : {
+ "description" : "Write error action.",
+ "enum" : [
+ "enospc",
+ "ignore",
+ "report",
+ "stop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "optional" : 1,
+ "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",
+ "format" : "pve-qm-ipconfig",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "keyboard" : {
+ "default" : null,
+ "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
+ "description" : "Amount of RAM for the VM in MB. This is the maximum available memory when you use the balloon device.",
+ "minimum" : 16,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "migrate_downtime" : {
+ "default" : 0.1,
+ "description" : "Set maximum tolerated downtime (in seconds) for migrations.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "number"
+ },
+ "migrate_speed" : {
+ "default" : 0,
+ "description" : "Set maximum speed (in MB/s) for migrations. Value 0 is no limit.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "name" : {
+ "description" : "Set a name for the VM. Only used on the configuration web interface.",
+ "format" : "dns-name",
+ "optional" : 1,
+ "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.",
+ "format" : "address-list",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "net[n]" : {
+ "description" : "Specify network devices.",
+ "format" : {
+ "bridge" : {
+ "description" : "Bridge to attach the network device to. The Proxmox VE standard bridge\nis called 'vmbr0'.\n\nIf you do not specify a bridge, we create a kvm user (NATed) network\ndevice, which provides DHCP and DNS services. The following addresses\nare used:\n\n 10.0.2.2 Gateway\n 10.0.2.3 DNS Server\n 10.0.2.4 SMB Server\n\nThe DHCP server assign addresses to the guest starting from 10.0.2.15.\n",
+ "format_description" : "bridge",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "e1000" : {
+ "alias" : "macaddr",
+ "keyAlias" : "model"
+ },
+ "e1000-82540em" : {
+ "alias" : "macaddr",
+ "keyAlias" : "model"
+ },
+ "e1000-82544gc" : {
+ "alias" : "macaddr",
+ "keyAlias" : "model"
+ },
+ "e1000-82545em" : {
+ "alias" : "macaddr",
+ "keyAlias" : "model"
+ },
+ "firewall" : {
+ "description" : "Whether this interface should be protected by the firewall.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "i82551" : {
+ "alias" : "macaddr",
+ "keyAlias" : "model"
+ },
+ "i82557b" : {
+ "alias" : "macaddr",
+ "keyAlias" : "model"
+ },
+ "i82559er" : {
+ "alias" : "macaddr",
+ "keyAlias" : "model"
+ },
+ "link_down" : {
+ "description" : "Whether this interface should be disconnected (like pulling the plug).",
+ "optional" : 1,
+ "type" : "boolean"
},
- "protected" : 1,
- "proxyto" : null,
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Get single rule data.",
- "method" : "GET",
- "name" : "get_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
+ "macaddr" : {
+ "description" : "MAC address. That address must be unique withing your network. This is automatically generated if not specified.",
+ "description" : "Network Card Model. The 'virtio' model provides the best performance with very low CPU overhead. If your guest does not support this driver, it is usually best to use 'e1000'.",
+ "enum" : [
+ "rtl8139",
+ "ne2k_pci",
+ "e1000",
+ "pcnet",
+ "virtio",
+ "ne2k_isa",
+ "i82551",
+ "i82557b",
+ "i82559er",
+ "vmxnet3",
+ "e1000-82540em",
+ "e1000-82544gc",
+ "e1000-82545em"
+ ],
+ "type" : "string"
},
- "proxyto" : null,
- "returns" : {
- "properties" : {
- "pos" : {
- "type" : "integer"
- }
- },
- "type" : "object"
- }
- },
- "PUT" : {
- "description" : "Modify rule data.",
- "method" : "PUT",
- "name" : "update_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "action" : {
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "comment" : {
- "description" : "Descriptive comment.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "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",
- "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>"
- },
- "dport" : {
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "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",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "macro" : {
- "description" : "Use predefined standard macro.",
- "maxLength" : 128,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "moveto" : {
- "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 0,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "optional" : 1,
+ "type" : "string",
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ },
+ "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"
+ },
+ "protection" : {
+ "default" : 0,
+ "description" : "Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "reboot" : {
+ "default" : 1,
+ "description" : "Allow reboot. If set to '0' the VM exit on reboot.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "sata[n]" : {
+ "description" : "Use volume as SATA hard disk or CD-ROM (n is 0 to 5).",
+ "format" : {
+ "aio" : {
+ "description" : "AIO type to use.",
+ "enum" : [
+ "native",
+ "threads"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "backup" : {
+ "description" : "Whether the drive should be included when making backups.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "bps" : {
+ "description" : "Maximum r/w speed in bytes per second.",
+ "format_description" : "bps",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_max_length" : {
+ "description" : "Maximum length of I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_rd" : {
+ "description" : "Maximum read speed in bytes per second.",
+ "format_description" : "bps",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_rd_length" : {
+ "alias" : "bps_rd_max_length"
+ },
+ "bps_rd_max_length" : {
+ "description" : "Maximum length of read I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_wr" : {
+ "description" : "Maximum write speed in bytes per second.",
+ "format_description" : "bps",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "bps_wr_length" : {
+ "alias" : "bps_wr_max_length"
+ },
+ "bps_wr_max_length" : {
+ "description" : "Maximum length of write I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "cache" : {
+ "description" : "The drive's cache mode",
+ "enum" : [
+ "none",
+ "writethrough",
+ "writeback",
+ "unsafe",
+ "directsync"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "cyls" : {
+ "description" : "Force the drive's physical geometry to have a specific cylinder count.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "detect_zeroes" : {
+ "description" : "Controls whether to detect and try to optimize writes of zeroes.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "discard" : {
+ "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
+ "enum" : [
+ "ignore",
+ "on"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "file" : {
+ "default_key" : 1,
+ "description" : "The drive's backing volume.",
+ "format" : "pve-volume-id-or-qm-path",
+ "format_description" : "volume",
+ "type" : "string"
+ },
+ "format" : {
+ "description" : "The drive's backing file's data format.",
+ "enum" : [
+ "raw",
+ "cow",
+ "qcow",
+ "qed",
+ "qcow2",
+ "vmdk",
+ "cloop"
+ ],
+ "optional" : 1,
"type" : "string"
},
- "comment" : {
- "description" : "Descriptive comment.",
+ "heads" : {
+ "description" : "Force the drive's physical geometry to have a specific head count.",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "integer"
},
- "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",
+ "iops" : {
+ "description" : "Maximum r/w I/O in operations per second.",
+ "format_description" : "iops",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "integer"
},
- "digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "iops_max" : {
+ "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
+ "format_description" : "iops",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "integer"
},
- "dport" : {
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
+ "iops_max_length" : {
+ "description" : "Maximum length of I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "integer"
},
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
+ "iops_rd" : {
+ "description" : "Maximum read I/O in operations per second.",
+ "format_description" : "iops",
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
+ "type" : "integer"
},
- "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",
- "maxLength" : 20,
- "minLength" : 2,
+ "iops_rd_length" : {
+ "alias" : "iops_rd_max_length"
+ },
+ "iops_rd_max" : {
+ "description" : "Maximum unthrottled read I/O pool in operations per second.",
+ "format_description" : "iops",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "integer"
},
- "macro" : {
- "description" : "Use predefined standard macro.",
- "maxLength" : 128,
+ "iops_rd_max_length" : {
+ "description" : "Maximum length of read I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "integer"
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "iops_wr" : {
+ "description" : "Maximum write I/O in operations per second.",
+ "format_description" : "iops",
+ "optional" : 1,
+ "type" : "integer"
},
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
+ "iops_wr_length" : {
+ "alias" : "iops_wr_max_length"
+ },
+ "iops_wr_max" : {
+ "description" : "Maximum unthrottled write I/O pool in operations per second.",
+ "format_description" : "iops",
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
+ "type" : "integer"
},
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
+ "iops_wr_max_length" : {
+ "description" : "Maximum length of write I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "integer"
},
- "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",
+ "mbps" : {
+ "description" : "Maximum r/w speed in megabytes per second.",
+ "format_description" : "mbps",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "number"
},
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-sport-spec",
+ "mbps_max" : {
+ "description" : "Maximum unthrottled r/w pool in megabytes per second.",
+ "format_description" : "mbps",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "number"
},
- "type" : {
- "description" : "Rule type.",
+ "mbps_rd" : {
+ "description" : "Maximum read speed in megabytes per second.",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "mbps_rd_max" : {
+ "description" : "Maximum unthrottled read pool in megabytes per second.",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "mbps_wr" : {
+ "description" : "Maximum write speed in megabytes per second.",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "mbps_wr_max" : {
+ "description" : "Maximum unthrottled write pool in megabytes per second.",
- "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>"
- },
- "name" : {
- "description" : "Alias name.",
- "maxLength" : 64,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
+ "replicate" : {
+ "default" : 1,
+ "description" : "Whether the drive should considered for replication jobs.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "rerror" : {
+ "description" : "Read error action.",
+ "enum" : [
+ "ignore",
+ "report",
+ "stop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "secs" : {
+ "description" : "Force the drive's physical geometry to have a specific sector count.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "serial" : {
+ "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
+ "format" : "urlencoded",
+ "format_description" : "serial",
+ "maxLength" : 60,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "shared" : {
+ "default" : 0,
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
},
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Config.Network"
- ]
- ]
+ "size" : {
+ "description" : "Disk size. This is purely informational and has no effect.",
+ "format" : "disk-size",
+ "format_description" : "DiskSize",
+ "optional" : 1,
+ "type" : "string"
},
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Read alias.",
- "method" : "GET",
- "name" : "read_alias",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "name" : {
- "description" : "Alias name.",
- "maxLength" : 64,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
+ "snapshot" : {
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
},
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Audit"
- ]
- ]
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "optional" : 1,
+ "type" : "boolean"
},
- "returns" : {
- "type" : "object"
- }
- },
- "PUT" : {
- "description" : "Update IP or Network alias.",
- "method" : "PUT",
- "name" : "update_alias",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "cidr" : {
- "description" : "Network/IP specification in CIDR format.",
- "format" : "IPorCIDR",
- "type" : "string",
- "typetext" : "<string>"
- },
- "comment" : {
- "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>"
- },
- "name" : {
- "description" : "Alias name.",
- "maxLength" : 64,
- "minLength" : 2,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "rename" : {
- "description" : "Rename an existing alias.",
- "maxLength" : 64,
- "minLength" : 2,
- "optional" : 1,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
+ "trans" : {
+ "description" : "Force disk geometry bios translation mode.",
+ "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
+ "optional" : 1,
+ "type" : "boolean"
},
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Audit"
- ]
- ]
- },
- "proxyto" : "node",
- "returns" : {
- "properties" : {
- "dhcp" : {
- "description" : "Enable DHCP.",
+ "secs" : {
+ "description" : "Force the drive's physical geometry to have a specific sector count.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "serial" : {
+ "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
+ "format" : "urlencoded",
+ "format_description" : "serial",
+ "maxLength" : 60,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "shared" : {
+ "default" : 0,
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
+ "size" : {
+ "description" : "Disk size. This is purely informational and has no effect.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
"optional" : 1,
"type" : "boolean"
},
- "ipfilter" : {
- "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
"optional" : 1,
"type" : "boolean"
},
- "log_level_in" : {
- "description" : "Log level for incoming traffic.",
+ "trans" : {
+ "description" : "Force disk geometry bios translation mode.",
"enum" : [
- "emerg",
- "alert",
- "crit",
- "err",
- "warning",
- "notice",
- "info",
- "debug",
- "nolog"
+ "none",
+ "lba",
+ "auto"
],
"optional" : 1,
"type" : "string"
},
- "log_level_out" : {
- "description" : "Log level for outgoing traffic.",
+ "volume" : {
+ "alias" : "file"
+ },
+ "werror" : {
+ "description" : "Write error action.",
"enum" : [
- "emerg",
- "alert",
- "crit",
- "err",
- "warning",
- "notice",
- "info",
- "debug",
- "nolog"
+ "enospc",
+ "ignore",
+ "report",
+ "stop"
],
"optional" : 1,
"type" : "string"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
+ "scsihw" : {
+ "default" : "lsi",
+ "description" : "SCSI controller model",
+ "enum" : [
+ "lsi",
+ "lsi53c810",
+ "virtio-scsi-pci",
+ "virtio-scsi-single",
+ "megasas",
+ "pvscsi"
+ ],
+ "optional" : 1,
+ "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.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "serial[n]" : {
+ "description" : "Create a serial device inside the VM (n is 0 to 3)",
+ "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"
+ },
+ "shares" : {
+ "default" : 1000,
+ "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
+ "maximum" : 50000,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "smbios1" : {
+ "description" : "Specify SMBIOS type 1 fields.",
+ "format" : "pve-qm-smbios1",
+ "maxLength" : 256,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "smp" : {
+ "default" : 1,
+ "description" : "The number of CPUs. Please use option -sockets instead.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "sockets" : {
+ "default" : 1,
+ "description" : "The number of CPU sockets.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "sshkeys" : {
+ "description" : "cloud-init: Setup public SSH keys (one key per line, OpenSSH format).",
+ "format" : "urlencoded",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "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" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
+ "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)."
+ },
+ "tdf" : {
+ "default" : 0,
+ "description" : "Enable/disable time drift fix.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "template" : {
+ "default" : 0,
+ "description" : "Enable/disable Template.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "unused[n]" : {
+ "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
+ "format" : "pve-volume-id",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "usb[n]" : {
+ "description" : "Configure an USB device (n is 0 to 4).",
+ "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",
+ "format" : "pve-qm-usb-device",
+ "format_description" : "HOSTUSBDEVICE|spice",
+ "type" : "string"
},
- "macfilter" : {
- "description" : "Enable/disable MAC address filter.",
+ "usb3" : {
+ "default" : 0,
+ "description" : "Specifies whether if given host option is a USB3 device or port (this does currently not work reliably with spice redirection and is then ignored).",
"optional" : 1,
"type" : "boolean"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
+ "vcpus" : {
+ "default" : 0,
+ "description" : "Number of hotplugged vcpus.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "vga" : {
+ "description" : "Select the VGA type.",
+ "enum" : [
+ "cirrus",
+ "qxl",
+ "qxl2",
+ "qxl3",
+ "qxl4",
+ "serial0",
+ "serial1",
+ "serial2",
+ "serial3",
+ "std",
+ "virtio",
+ "vmware"
+ ],
+ "optional" : 1,
+ "type" : "string",
+ "verbose_description" : "Select the VGA type. If you want to use high resolution modes (>= 1280x1024x16) then you should use the options 'std' or 'vmware'. Default is 'std' for win8/win7/w2k8, and 'cirrus' for other OS types. The 'qxl' option enables the SPICE display sever. For win* OS you can select how many independent displays you want, Linux guests can add displays them self. You 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).",
+ "format" : {
+ "aio" : {
+ "description" : "AIO type to use.",
+ "enum" : [
+ "native",
+ "threads"
+ ],
+ "optional" : 1,
+ "type" : "string"
},
- "ndp" : {
- "description" : "Enable NDP.",
+ "backup" : {
+ "description" : "Whether the drive should be included when making backups.",
"optional" : 1,
"type" : "boolean"
},
- "policy_in" : {
- "description" : "Input policy.",
- "enum" : [
- "ACCEPT",
- "REJECT",
- "DROP"
- ],
+ "bps" : {
+ "description" : "Maximum r/w speed in bytes per second.",
+ "format_description" : "bps",
"optional" : 1,
- "type" : "string"
+ "type" : "integer"
},
- "policy_out" : {
- "description" : "Output policy.",
- "enum" : [
- "ACCEPT",
- "REJECT",
- "DROP"
- ],
+ "bps_max_length" : {
+ "description" : "Maximum length of I/O bursts in seconds.",
- "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
+ "cyls" : {
+ "description" : "Force the drive's physical geometry to have a specific cylinder count.",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "integer"
},
- "log_level_in" : {
- "description" : "Log level for incoming traffic.",
+ "detect_zeroes" : {
+ "description" : "Controls whether to detect and try to optimize writes of zeroes.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "discard" : {
+ "description" : "Controls whether to pass discard/trim requests to the underlying storage.",
"enum" : [
- "emerg",
- "alert",
- "crit",
- "err",
- "warning",
- "notice",
- "info",
- "debug",
- "nolog"
+ "ignore",
+ "on"
],
"optional" : 1,
"type" : "string"
},
- "log_level_out" : {
- "description" : "Log level for outgoing traffic.",
+ "file" : {
+ "default_key" : 1,
+ "description" : "The drive's backing volume.",
+ "format" : "pve-volume-id-or-qm-path",
+ "format_description" : "volume",
+ "type" : "string"
+ },
+ "format" : {
+ "description" : "The drive's backing file's data format.",
"enum" : [
- "emerg",
- "alert",
- "crit",
- "err",
- "warning",
- "notice",
- "info",
- "debug",
- "nolog"
+ "raw",
+ "cow",
+ "qcow",
+ "qed",
+ "qcow2",
+ "vmdk",
+ "cloop"
],
"optional" : 1,
"type" : "string"
},
- "macfilter" : {
- "description" : "Enable/disable MAC address filter.",
+ "heads" : {
+ "description" : "Force the drive's physical geometry to have a specific head count.",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "integer"
},
- "ndp" : {
- "description" : "Enable NDP.",
+ "iops" : {
+ "description" : "Maximum r/w I/O in operations per second.",
+ "format_description" : "iops",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "integer"
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "iops_max" : {
+ "description" : "Maximum unthrottled r/w I/O pool in operations per second.",
+ "format_description" : "iops",
+ "optional" : 1,
+ "type" : "integer"
},
- "policy_in" : {
- "description" : "Input policy.",
- "enum" : [
- "ACCEPT",
- "REJECT",
- "DROP"
- ],
+ "iops_max_length" : {
+ "description" : "Maximum length of I/O bursts in seconds.",
+ "format_description" : "seconds",
+ "minimum" : 1,
"optional" : 1,
- "type" : "string"
+ "type" : "integer"
},
- "policy_out" : {
- "description" : "Output policy.",
- "enum" : [
- "ACCEPT",
- "REJECT",
- "DROP"
- ],
+ "iops_rd" : {
+ "description" : "Maximum read I/O in operations per second.",
- "description" : "Read VM RRD statistics (returns PNG)",
- "method" : "GET",
- "name" : "rrd",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "cf" : {
- "description" : "The RRD consolidation function",
- "enum" : [
- "AVERAGE",
- "MAX"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "ds" : {
- "description" : "The list of datasources you want to display.",
- "format" : "pve-configid-list",
- "type" : "string",
- "typetext" : "<string>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "timeframe" : {
- "description" : "Specify the time frame you are interested in.",
- "enum" : [
- "hour",
- "day",
- "week",
- "month",
- "year"
- ],
- "type" : "string"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Audit"
- ]
- ]
- },
- "protected" : 1,
- "returns" : {
- "properties" : {
- "filename" : {
- "type" : "string"
- }
- },
- "type" : "object"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/qemu/{vmid}/rrd",
- "text" : "rrd"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Read VM RRD statistics",
- "method" : "GET",
- "name" : "rrddata",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "cf" : {
- "description" : "The RRD consolidation function",
- "enum" : [
- "AVERAGE",
- "MAX"
- ],
+ "rerror" : {
+ "description" : "Read error action.",
+ "enum" : [
+ "ignore",
+ "report",
+ "stop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "secs" : {
+ "description" : "Force the drive's physical geometry to have a specific sector count.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "serial" : {
+ "description" : "The drive's reported serial number, url-encoded, up to 20 bytes long.",
+ "format" : "urlencoded",
+ "format_description" : "serial",
+ "maxLength" : 60,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "shared" : {
+ "default" : 0,
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
+ "size" : {
+ "description" : "Disk size. This is purely informational and has no effect.",
+ "format" : "disk-size",
+ "format_description" : "DiskSize",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "snapshot" : {
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "trans" : {
+ "description" : "Force disk geometry bios translation mode.",
+ "enum" : [
+ "none",
+ "lba",
+ "auto"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "volume" : {
+ "alias" : "file"
+ },
+ "werror" : {
+ "description" : "Write error action.",
+ "enum" : [
+ "enospc",
+ "ignore",
+ "report",
+ "stop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
"optional" : 1,
"type" : "string"
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
+ "vmgenid" : {
+ "default" : "1 (autogenerated)",
+ "description" : "Set VM Generation ID. Use '1' to autogenerate on create or update, pass '0' to disable explicitly.",
+ "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."
},
- "timeframe" : {
- "description" : "Specify the time frame you are interested in.",
- "enum" : [
- "hour",
- "day",
- "week",
- "month",
- "year"
- ],
+ "vmstatestorage" : {
+ "description" : "Default storage for VM state volumes/files.",
+ "format" : "pve-storage-id",
+ "optional" : 1,
"type" : "string"
},
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Audit"
- ]
- ]
- },
- "protected" : 1,
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/qemu/{vmid}/rrddata",
- "text" : "rrddata"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Get current virtual machine configuration. This does not include pending configuration changes (see 'pending' API).",
- "method" : "GET",
- "name" : "vm_config",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "current" : {
- "default" : 0,
- "description" : "Get current values (instead of pending values).",
+ "watchdog" : {
+ "description" : "Create a virtual hardware watchdog device.",
+ "format" : "pve-qm-watchdog",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
"type" : "string",
- "typetext" : "<string>"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Audit"
- ]
- ]
- },
- "proxyto" : "node",
- "returns" : {
- "properties" : {
- "digest" : {
- "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
- "type" : "string"
+ "verbose_description" : "Create a virtual hardware watchdog device. Once enabled (by a guest action), the watchdog must be periodically polled by an agent inside the guest or else the watchdog will reset the guest (or execute the respective action specified)"
+ "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "citype" : {
+ "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"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "ciuser" : {
+ "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"cores" : {
"default" : 1,
"description" : "The number of cores per socket.",
+ "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
- "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.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0."
+ "typetext" : "<integer> (2 - 262144)",
+ "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
},
"delete" : {
"description" : "A list of settings you want to delete.",
"description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
"verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "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" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
+ "default" : null,
+ "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
+ "description" : "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.",
- "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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
},
"parallel[n]" : {
"description" : "Map host parallel devices (n is 0 to 2).",
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "description" : "Whether the drive should considered for replication jobs.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "rerror" : {
+ "description" : "Read error action.",
+ "enum" : [
+ "ignore",
+ "report",
+ "stop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "scsiblock" : {
+ "default" : 0,
+ "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
+ "optional" : 1,
+ "type" : "boolean"
+ },
"secs" : {
"description" : "Force the drive's physical geometry to have a specific sector count.",
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"serial[n]" : {
"description" : "Create a serial device inside the VM (n is 0 to 3)",
- "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning",
+ "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "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."
+ "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "citype" : {
+ "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"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "ciuser" : {
+ "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"cores" : {
"default" : 1,
"description" : "The number of cores per socket.",
+ "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
- "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.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0."
+ "typetext" : "<integer> (2 - 262144)",
+ "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
},
"delete" : {
"description" : "A list of settings you want to delete.",
"description" : "Force physical removal. Without this, we simple remove the disk from the config file and create an additional configuration entry called 'unused[n]', which contains the volume ID. Unlink of unused[n] always cause physical removal.",
"verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "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" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
+ "default" : null,
+ "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
+ "description" : "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.",
- "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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
},
"parallel[n]" : {
"description" : "Map host parallel devices (n is 0 to 2).",
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "description" : "Whether the drive should considered for replication jobs.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "rerror" : {
+ "description" : "Read error action.",
+ "enum" : [
+ "ignore",
+ "report",
+ "stop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "scsiblock" : {
+ "default" : 0,
+ "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
+ "optional" : 1,
+ "type" : "boolean"
+ },
"secs" : {
"description" : "Force the drive's physical geometry to have a specific sector count.",
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"serial[n]" : {
"description" : "Create a serial device inside the VM (n is 0 to 3)",
- "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning",
+ "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "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."
- "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
+ "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
- "description" : "Target format for file storage.",
+ "description" : "Target format for file storage. Only valid for full clone.",
"enum" : [
"raw",
"qcow2",
"vmdk"
],
"optional" : 1,
- "requires" : "full",
"type" : "string"
},
"full" : {
- "default" : 0,
- "description" : "Create a full copy of all disk. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.",
+ "description" : "Create a full copy of all disks. This is always done when you clone a normal VM. For VM templates, we try to create a linked clone by default.",
- "description" : "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
+ "description" : "The new size. With the `+` sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
+ "description" : "cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "citype" : {
+ "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"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "ciuser" : {
+ "description" : "cloud-init: User name to change ssh keys and password for instead of the image's configured default user.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"cores" : {
"default" : 1,
"description" : "The number of cores per socket.",
+ "description" : "List of additional CPU flags separated by ';'. Use '+FLAG' to enable, '-FLAG' to disable a flag. Currently supported flags: 'pcid', 'spec-ctrl', 'ibpb', 'ssbd', 'virt-ssbd', 'amd-ssbd', 'amd-no-ssb', 'pdpe1gb'.",
- "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.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0."
+ "typetext" : "<integer> (2 - 262144)",
+ "verbose_description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs."
},
"description" : {
"description" : "Description for the VM. Only used on the configuration web interface. This is saved as comment inside the configuration file.",
"verbose_description" : "Map host PCI devices into guest.\n\nNOTE: This option allows direct access to host hardware. So it is no longer \npossible to migrate such machines - use with special care.\n\nCAUTION: Experimental! User reported problems with this option.\n"
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "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" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.conf' configuration file.",
+ "default" : null,
+ "description" : "Keybord layout for vnc server. Default is read from the '/etc/pve/datacenter.cfg' configuration file.It should not be necessary to set it.",
+ "description" : "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.",
- "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\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6/3.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
},
"parallel[n]" : {
"description" : "Map host parallel devices (n is 0 to 2).",
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "description" : "Whether the drive should considered for replication jobs.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "rerror" : {
+ "description" : "Read error action.",
+ "enum" : [
+ "ignore",
+ "report",
+ "stop"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "scsiblock" : {
+ "default" : 0,
+ "description" : "whether to use scsi-block for full passthrough of host block device\n\nWARNING: can lead to I/O errors in combination with low memory or high memory fragmentation on host",
"optional" : 1,
- "type" : "integer"
+ "type" : "boolean"
},
"secs" : {
"description" : "Force the drive's physical geometry to have a specific sector count.",
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ssd" : {
+ "description" : "Whether to expose this drive as an SSD, rather than a rotational hard disk.",
+ "description" : "cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"serial[n]" : {
"description" : "Create a serial device inside the VM (n is 0 to 3)",
- "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning",
+ "description" : "Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.",
+ "description" : "Mark this locally-managed volume as available on all nodes",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this locally-managed volume as available on all nodes.\n\nWARNING: This option does not share the volume automatically, it assumes it is shared already!"
+ },
"size" : {
"description" : "Disk size. This is purely informational and has no effect.",
- "description" : "Whether the drive should be included when making snapshots.",
+ "description" : "Controls qemu's snapshot mode feature. If activated, changes made to the disk are temporary and will be discarded when the VM is shutdown.",
+ "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."
+ "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).",
+ "enum" : [
+ "shell",
+ "console",
+ "tty"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "console" : {
+ "default" : 1,
+ "description" : "Attach a console device (/dev/console) to the container.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "cores" : {
+ "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
+ "maximum" : 128,
+ "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,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "number"
+ },
+ "cpuunits" : {
+ "default" : 1024,
+ "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
+ "maximum" : 500000,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "description" : {
+ "description" : "Container description. Only used on the configuration web interface.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "digest" : {
+ "description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
+ "type" : "string"
+ },
+ "features" : {
+ "description" : "Allow containers access to advanced features.",
+ "format" : {
+ "keyctl" : {
+ "default" : 0,
+ "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "mount" : {
+ "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
+ "format_description" : "fstype;fstype;...",
+ "optional" : 1,
+ "pattern" : "(?^:[a-zA-Z0-9; ]+)",
+ "type" : "string"
+ },
+ "nesting" : {
+ "default" : 0,
+ "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
+ "optional" : 1,
+ "type" : "boolean"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
+ "hostname" : {
+ "description" : "Set a host name for the container.",
+ "description" : "Amount of RAM for the VM in MB.",
+ "minimum" : 16,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "mp[n]" : {
+ "description" : "Use volume as container mount point.",
+ "format" : {
+ "acl" : {
+ "description" : "Explicitly enable or disable ACL support.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "backup" : {
+ "description" : "Whether to include the mount point in backups.",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
+ },
+ "mp" : {
+ "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
+ "format" : "pve-lxc-mp-string",
+ "format_description" : "Path",
+ "type" : "string",
+ "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
+ },
+ "quota" : {
+ "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "replicate" : {
+ "default" : 1,
+ "description" : "Will include this volume to a storage replica job.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ro" : {
+ "description" : "Read-only mount point",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "shared" : {
+ "default" : 0,
+ "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
+ },
+ "size" : {
+ "description" : "Volume size (read only value).",
+ "format" : "disk-size",
+ "format_description" : "DiskSize",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "volume" : {
+ "default_key" : 1,
+ "description" : "Volume, device or directory to mount into the container.",
+ "format" : "pve-lxc-mp-string",
+ "format_description" : "volume",
+ "type" : "string"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
+ "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",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "net[n]" : {
+ "description" : "Specifies network interfaces for the container.",
+ "format" : {
+ "bridge" : {
+ "description" : "Bridge to attach the network device to.",
+ "format_description" : "bridge",
+ "optional" : 1,
+ "pattern" : "[-_.\\w\\d]+",
+ "type" : "string"
+ },
+ "firewall" : {
+ "description" : "Controls whether this interface's firewall rules should be used.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "gw" : {
+ "description" : "Default gateway for IPv4 traffic.",
+ "format" : "ipv4",
+ "format_description" : "GatewayIPv4",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "gw6" : {
+ "description" : "Default gateway for IPv6 traffic.",
+ "format" : "ipv6",
+ "format_description" : "GatewayIPv6",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "hwaddr" : {
+ "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
+ "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
+ "minimum" : 64,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "name" : {
+ "description" : "Name of the network device as seen from inside the container. (lxc.network.name)",
+ "format_description" : "string",
+ "pattern" : "[-_.\\w\\d]+",
+ "type" : "string"
+ },
+ "rate" : {
+ "description" : "Apply rate limiting to the interface",
+ "format_description" : "mbps",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "tag" : {
+ "description" : "VLAN tag for this interface.",
+ "maximum" : 4094,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "trunks" : {
+ "description" : "VLAN ids to pass through the interface",
+ "format_description" : "vlanid[;vlanid...]",
+ "optional" : 1,
+ "pattern" : "(?^:\\d+(?:;\\d+)*)",
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "Network interface type.",
+ "enum" : [
+ "veth"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
+ "onboot" : {
+ "default" : 0,
+ "description" : "Specifies whether a VM will be started during system bootup.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ostype" : {
+ "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",
+ "ubuntu",
+ "centos",
+ "fedora",
+ "opensuse",
+ "archlinux",
+ "alpine",
+ "gentoo",
+ "unmanaged"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "protection" : {
+ "default" : 0,
+ "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "rootfs" : {
+ "description" : "Use volume as container root.",
+ "format" : {
+ "acl" : {
+ "description" : "Explicitly enable or disable ACL support.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "quota" : {
+ "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "replicate" : {
+ "default" : 1,
+ "description" : "Will include this volume to a storage replica job.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ro" : {
+ "description" : "Read-only mount point",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "shared" : {
+ "default" : 0,
+ "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
+ },
+ "size" : {
+ "description" : "Volume size (read only value).",
+ "format" : "disk-size",
+ "format_description" : "DiskSize",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "volume" : {
+ "default_key" : 1,
+ "description" : "Volume, device or directory to mount into the container.",
+ "format" : "pve-lxc-mp-string",
+ "format_description" : "volume",
+ "type" : "string"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
+ "searchdomain" : {
+ "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
+ "format" : "dns-name-list",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "startup" : {
+ "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
+ "description" : "Allow containers access to advanced features.",
+ "format" : {
+ "keyctl" : {
+ "default" : 0,
+ "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "mount" : {
+ "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
+ "format_description" : "fstype;fstype;...",
+ "optional" : 1,
+ "pattern" : "(?^:[a-zA-Z0-9; ]+)",
+ "type" : "string"
+ },
+ "nesting" : {
+ "default" : 0,
+ "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
"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.",
"description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
- "description" : "A textual description or comment.",
+ "action" : {
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Descriptive comment.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "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",
+ "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>"
+ },
+ "dport" : {
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "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",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "maxLength" : 128,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
+ "moveto" : {
+ "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
},
- "snapname" : {
- "description" : "The name of the snapshot.",
- "format" : "pve-configid",
- "maxLength" : 40,
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+ "format" : "pve-fw-protocol-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sport" : {
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 0,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Descriptive comment.",
+ "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",
+ "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>"
+ },
+ "dport" : {
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "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",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "maxLength" : 128,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
},
- "snapname" : {
- "description" : "The name of the snapshot.",
- "format" : "pve-configid",
- "maxLength" : 40,
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "description" : "A textual description or comment.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sport" : {
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "comment" : {
- "description" : "Descriptive comment.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "optional" : 1,
+ "cidr" : {
+ "description" : "Network/IP specification in CIDR format.",
+ "format" : "IPorCIDR",
"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.",
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "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",
- "maxLength" : 20,
+ "name" : {
+ "description" : "Alias name.",
+ "maxLength" : 64,
"minLength" : 2,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "macro" : {
- "description" : "Use predefined standard macro.",
- "maxLength" : 128,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "moveto" : {
- "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 0,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "comment" : {
- "description" : "Descriptive comment.",
- "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",
- "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,
+ "cidr" : {
+ "description" : "Network/IP specification in CIDR format.",
+ "format" : "IPorCIDR",
"type" : "string",
"typetext" : "<string>"
},
- "dport" : {
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
+ "comment" : {
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "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",
- "maxLength" : 20,
+ "name" : {
+ "description" : "Alias name.",
+ "maxLength" : 64,
"minLength" : 2,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "macro" : {
- "description" : "Use predefined standard macro.",
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
"type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "log_level_in" : {
+ "description" : "Log level for incoming traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "log_level_out" : {
+ "description" : "Log level for outgoing traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "macfilter" : {
+ "description" : "Enable/disable MAC address filter.",
+ "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "log_level_in" : {
+ "description" : "Log level for incoming traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "log_level_out" : {
+ "description" : "Log level for outgoing traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
"type" : "string"
},
+ "macfilter" : {
+ "description" : "Enable/disable MAC address filter.",
+ "description" : "Returns a SPICE configuration to connect to the CT.",
+ "method" : "POST",
+ "name" : "spiceproxy",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
},
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Config.Network"
- ]
- ]
+ "proxy" : {
+ "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
- "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
- "optional" : 1,
- "type" : "boolean"
- },
- "log_level_in" : {
- "description" : "Log level for incoming traffic.",
- "enum" : [
- "emerg",
- "alert",
- "crit",
- "err",
- "warning",
- "notice",
- "info",
- "debug",
- "nolog"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "log_level_out" : {
- "description" : "Log level for outgoing traffic.",
- "enum" : [
- "emerg",
- "alert",
- "crit",
- "err",
- "warning",
- "notice",
- "info",
- "debug",
- "nolog"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "macfilter" : {
- "description" : "Enable/disable MAC address filter.",
- "description" : "Enable default IP filters. This is equivalent to adding an empty ipfilter-net<id> ipset for every interface. Such ipsets implicitly contain sane default restrictions such as restricting IPv6 link local addresses to the one derived from the interface's MAC address. For containers the configured IP addresses will be implicitly added.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "log_level_in" : {
- "description" : "Log level for incoming traffic.",
- "enum" : [
- "emerg",
- "alert",
- "crit",
- "err",
- "warning",
- "notice",
- "info",
- "debug",
- "nolog"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "log_level_out" : {
- "description" : "Log level for outgoing traffic.",
- "enum" : [
- "emerg",
- "alert",
- "crit",
- "err",
- "warning",
- "notice",
- "info",
- "debug",
- "nolog"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "macfilter" : {
- "description" : "Enable/disable MAC address filter.",
+ "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/lxc/{vmid}/template",
+ "text" : "template"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "description" : "Create a container clone/copy",
+ "method" : "POST",
+ "name" : "clone_vm",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "description" : {
+ "description" : "Description for the new CT.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
},
- "permissions" : {
- "check" : [
+ "full" : {
+ "description" : "Create a full copy of all disks. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "hostname" : {
+ "description" : "Set a hostname for the new CT.",
+ "format" : "dns-name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "newid" : {
+ "description" : "VMID for the clone.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "pool" : {
+ "description" : "Add the new CT to the specified pool.",
+ "format" : "pve-poolid",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "snapname" : {
+ "description" : "The name of the snapshot.",
+ "format" : "pve-configid",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "storage" : {
+ "description" : "Target storage for full clone.",
+ "format" : "pve-storage-id",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "target" : {
+ "description" : "Target node. Only allowed if the original VM is on shared storage.",
+ "format" : "pve-node",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "and",
+ [
+ "perm",
+ "/vms/{vmid}",
+ [
+ "VM.Clone"
+ ]
+ ],
+ [
+ "or",
+ [
"perm",
- "/vms/{vmid}",
+ "/vms/{newid}",
[
- "VM.Config.Network"
+ "VM.Allocate"
]
+ ],
+ [
+ "perm",
+ "/pool/{pool}",
+ [
+ "VM.Allocate"
+ ],
+ "require_param",
+ "pool"
+ ]
+ ]
+ ],
+ "description" : "You need 'VM.Clone' permissions on /vms/{vmid}, and 'VM.Allocate' permissions on /vms/{newid} (or on the VM pool /pool/{pool}). You also need 'Datastore.AllocateSpace' on any used storage."
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/lxc/{vmid}/clone",
+ "text" : "clone"
+ },
+ {
+ "info" : {
+ "PUT" : {
+ "description" : "Resize a container mount point.",
+ "method" : "PUT",
+ "name" : "resize_vm",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "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>"
+ },
+ "disk" : {
+ "description" : "The disk you want to resize.",
+ "enum" : [
+ "rootfs",
+ "mp0",
+ "mp1",
+ "mp2",
+ "mp3",
+ "mp4",
+ "mp5",
+ "mp6",
+ "mp7",
+ "mp8",
+ "mp9",
+ "mp10",
+ "mp11",
+ "mp12",
+ "mp13",
+ "mp14",
+ "mp15",
+ "mp16",
+ "mp17",
+ "mp18",
+ "mp19",
+ "mp20",
+ "mp21",
+ "mp22",
+ "mp23",
+ "mp24",
+ "mp25",
+ "mp26",
+ "mp27",
+ "mp28",
+ "mp29",
+ "mp30",
+ "mp31",
+ "mp32",
+ "mp33",
+ "mp34",
+ "mp35",
+ "mp36",
+ "mp37",
+ "mp38",
+ "mp39",
+ "mp40",
+ "mp41",
+ "mp42",
+ "mp43",
+ "mp44",
+ "mp45",
+ "mp46",
+ "mp47",
+ "mp48",
+ "mp49",
+ "mp50",
+ "mp51",
+ "mp52",
+ "mp53",
+ "mp54",
+ "mp55",
+ "mp56",
+ "mp57",
+ "mp58",
+ "mp59",
+ "mp60",
+ "mp61",
+ "mp62",
+ "mp63",
+ "mp64",
+ "mp65",
+ "mp66",
+ "mp67",
+ "mp68",
+ "mp69",
+ "mp70",
+ "mp71",
+ "mp72",
+ "mp73",
+ "mp74",
+ "mp75",
+ "mp76",
+ "mp77",
+ "mp78",
+ "mp79",
+ "mp80",
+ "mp81",
+ "mp82",
+ "mp83",
+ "mp84",
+ "mp85",
+ "mp86",
+ "mp87",
+ "mp88",
+ "mp89",
+ "mp90",
+ "mp91",
+ "mp92",
+ "mp93",
+ "mp94",
+ "mp95",
+ "mp96",
+ "mp97",
+ "mp98",
+ "mp99",
+ "mp100",
+ "mp101",
+ "mp102",
+ "mp103",
+ "mp104",
+ "mp105",
+ "mp106",
+ "mp107",
+ "mp108",
+ "mp109",
+ "mp110",
+ "mp111",
+ "mp112",
+ "mp113",
+ "mp114",
+ "mp115",
+ "mp116",
+ "mp117",
+ "mp118",
+ "mp119",
+ "mp120",
+ "mp121",
+ "mp122",
+ "mp123",
+ "mp124",
+ "mp125",
+ "mp126",
+ "mp127",
+ "mp128",
+ "mp129",
+ "mp130",
+ "mp131",
+ "mp132",
+ "mp133",
+ "mp134",
+ "mp135",
+ "mp136",
+ "mp137",
+ "mp138",
+ "mp139",
+ "mp140",
+ "mp141",
+ "mp142",
+ "mp143",
+ "mp144",
+ "mp145",
+ "mp146",
+ "mp147",
+ "mp148",
+ "mp149",
+ "mp150",
+ "mp151",
+ "mp152",
+ "mp153",
+ "mp154",
+ "mp155",
+ "mp156",
+ "mp157",
+ "mp158",
+ "mp159",
+ "mp160",
+ "mp161",
+ "mp162",
+ "mp163",
+ "mp164",
+ "mp165",
+ "mp166",
+ "mp167",
+ "mp168",
+ "mp169",
+ "mp170",
+ "mp171",
+ "mp172",
+ "mp173",
+ "mp174",
+ "mp175",
+ "mp176",
+ "mp177",
+ "mp178",
+ "mp179",
+ "mp180",
+ "mp181",
+ "mp182",
+ "mp183",
+ "mp184",
+ "mp185",
+ "mp186",
+ "mp187",
+ "mp188",
+ "mp189",
+ "mp190",
+ "mp191",
+ "mp192",
+ "mp193",
+ "mp194",
+ "mp195",
+ "mp196",
+ "mp197",
+ "mp198",
+ "mp199",
+ "mp200",
+ "mp201",
+ "mp202",
+ "mp203",
+ "mp204",
+ "mp205",
+ "mp206",
+ "mp207",
+ "mp208",
+ "mp209",
+ "mp210",
+ "mp211",
+ "mp212",
+ "mp213",
+ "mp214",
+ "mp215",
+ "mp216",
+ "mp217",
+ "mp218",
+ "mp219",
+ "mp220",
+ "mp221",
+ "mp222",
+ "mp223",
+ "mp224",
+ "mp225",
+ "mp226",
+ "mp227",
+ "mp228",
+ "mp229",
+ "mp230",
+ "mp231",
+ "mp232",
+ "mp233",
+ "mp234",
+ "mp235",
+ "mp236",
+ "mp237",
+ "mp238",
+ "mp239",
+ "mp240",
+ "mp241",
+ "mp242",
+ "mp243",
+ "mp244",
+ "mp245",
+ "mp246",
+ "mp247",
+ "mp248",
+ "mp249",
+ "mp250",
+ "mp251",
+ "mp252",
+ "mp253",
+ "mp254",
+ "mp255"
+ ],
+ "type" : "string"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "size" : {
+ "description" : "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
+ "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
+ "type" : "string"
+ },
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/vms/{vmid}",
+ [
+ "VM.Config.Disk"
+ ],
+ "any",
+ 1
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "description" : "the task ID.",
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/lxc/{vmid}/resize",
+ "text" : "resize"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "description" : "Move a rootfs-/mp-volume to a different storage",
+ "method" : "POST",
+ "name" : "move_volume",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "delete" : {
+ "default" : 0,
+ "description" : "Delete the original volume after successful copy. By default the original is kept as an unused volume entry.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "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>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "storage" : {
+ "description" : "Target Storage.",
+ "format" : "pve-storage-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "volume" : {
+ "description" : "Volume which will be moved.",
+ "enum" : [
+ "rootfs",
+ "mp0",
+ "mp1",
+ "mp2",
+ "mp3",
+ "mp4",
+ "mp5",
+ "mp6",
+ "mp7",
+ "mp8",
+ "mp9",
+ "mp10",
+ "mp11",
+ "mp12",
+ "mp13",
+ "mp14",
+ "mp15",
+ "mp16",
+ "mp17",
+ "mp18",
+ "mp19",
+ "mp20",
+ "mp21",
+ "mp22",
+ "mp23",
+ "mp24",
+ "mp25",
+ "mp26",
+ "mp27",
+ "mp28",
+ "mp29",
+ "mp30",
+ "mp31",
+ "mp32",
+ "mp33",
+ "mp34",
+ "mp35",
+ "mp36",
+ "mp37",
+ "mp38",
+ "mp39",
+ "mp40",
+ "mp41",
+ "mp42",
+ "mp43",
+ "mp44",
+ "mp45",
+ "mp46",
+ "mp47",
+ "mp48",
+ "mp49",
+ "mp50",
+ "mp51",
+ "mp52",
+ "mp53",
+ "mp54",
+ "mp55",
+ "mp56",
+ "mp57",
+ "mp58",
+ "mp59",
+ "mp60",
+ "mp61",
+ "mp62",
+ "mp63",
+ "mp64",
+ "mp65",
+ "mp66",
+ "mp67",
+ "mp68",
+ "mp69",
+ "mp70",
+ "mp71",
+ "mp72",
+ "mp73",
+ "mp74",
+ "mp75",
+ "mp76",
+ "mp77",
+ "mp78",
+ "mp79",
+ "mp80",
+ "mp81",
+ "mp82",
+ "mp83",
+ "mp84",
+ "mp85",
+ "mp86",
+ "mp87",
+ "mp88",
+ "mp89",
+ "mp90",
+ "mp91",
+ "mp92",
+ "mp93",
+ "mp94",
+ "mp95",
+ "mp96",
+ "mp97",
+ "mp98",
+ "mp99",
+ "mp100",
+ "mp101",
+ "mp102",
+ "mp103",
+ "mp104",
+ "mp105",
+ "mp106",
+ "mp107",
+ "mp108",
+ "mp109",
+ "mp110",
+ "mp111",
+ "mp112",
+ "mp113",
+ "mp114",
+ "mp115",
+ "mp116",
+ "mp117",
+ "mp118",
+ "mp119",
+ "mp120",
+ "mp121",
+ "mp122",
+ "mp123",
+ "mp124",
+ "mp125",
+ "mp126",
+ "mp127",
+ "mp128",
+ "mp129",
+ "mp130",
+ "mp131",
+ "mp132",
+ "mp133",
+ "mp134",
+ "mp135",
+ "mp136",
+ "mp137",
+ "mp138",
+ "mp139",
+ "mp140",
+ "mp141",
+ "mp142",
+ "mp143",
+ "mp144",
+ "mp145",
+ "mp146",
+ "mp147",
+ "mp148",
+ "mp149",
+ "mp150",
+ "mp151",
+ "mp152",
+ "mp153",
+ "mp154",
+ "mp155",
+ "mp156",
+ "mp157",
+ "mp158",
+ "mp159",
+ "mp160",
+ "mp161",
+ "mp162",
+ "mp163",
+ "mp164",
+ "mp165",
+ "mp166",
+ "mp167",
+ "mp168",
+ "mp169",
+ "mp170",
+ "mp171",
+ "mp172",
+ "mp173",
+ "mp174",
+ "mp175",
+ "mp176",
+ "mp177",
+ "mp178",
+ "mp179",
+ "mp180",
+ "mp181",
+ "mp182",
+ "mp183",
+ "mp184",
+ "mp185",
+ "mp186",
+ "mp187",
+ "mp188",
+ "mp189",
+ "mp190",
+ "mp191",
+ "mp192",
+ "mp193",
+ "mp194",
+ "mp195",
+ "mp196",
+ "mp197",
+ "mp198",
+ "mp199",
+ "mp200",
+ "mp201",
+ "mp202",
+ "mp203",
+ "mp204",
+ "mp205",
+ "mp206",
+ "mp207",
+ "mp208",
+ "mp209",
+ "mp210",
+ "mp211",
+ "mp212",
+ "mp213",
+ "mp214",
+ "mp215",
+ "mp216",
+ "mp217",
+ "mp218",
+ "mp219",
+ "mp220",
+ "mp221",
+ "mp222",
+ "mp223",
+ "mp224",
+ "mp225",
+ "mp226",
+ "mp227",
+ "mp228",
+ "mp229",
+ "mp230",
+ "mp231",
+ "mp232",
+ "mp233",
+ "mp234",
+ "mp235",
+ "mp236",
+ "mp237",
+ "mp238",
+ "mp239",
+ "mp240",
+ "mp241",
+ "mp242",
+ "mp243",
+ "mp244",
+ "mp245",
+ "mp246",
+ "mp247",
+ "mp248",
+ "mp249",
+ "mp250",
+ "mp251",
+ "mp252",
+ "mp253",
+ "mp254",
+ "mp255"
+ ],
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "and",
+ [
+ "perm",
+ "/vms/{vmid}",
+ [
+ "VM.Config.Disk"
]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
+ ],
+ [
+ "perm",
+ "/storage/{storage}",
+ [
+ "Datastore.AllocateSpace"
+ ]
+ ]
+ ],
+ "description" : "You need 'VM.Config.Disk' permissions on /vms/{vmid}, and 'Datastore.AllocateSpace' permissions on the storage."
+ "description" : "LXC container index (per node).",
+ "method" : "GET",
+ "name" : "vmlist",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "cpus" : {
+ "description" : "Maximum usable CPUs.",
+ "optional" : 1,
+ "type" : "number"
+ },
+ "maxdisk" : {
+ "description" : "Root disk size in bytes.",
+ "optional" : 1,
+ "renderer" : "bytes",
+ "type" : "integer"
+ },
+ "maxmem" : {
+ "description" : "Maximum memory in bytes.",
+ "optional" : 1,
+ "renderer" : "bytes",
+ "type" : "integer"
+ },
+ "maxswap" : {
+ "description" : "Maximum SWAP memory in bytes.",
+ "optional" : 1,
+ "renderer" : "bytes",
+ "type" : "integer"
+ },
+ "name" : {
+ "description" : "Container name.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "status" : {
+ "description" : "LXC Container status.",
+ "enum" : [
+ "stopped",
+ "running"
+ ],
+ "type" : "string"
+ },
+ "uptime" : {
+ "description" : "Uptime.",
+ "optional" : 1,
+ "renderer" : "duration",
+ "type" : "integer"
+ },
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{vmid}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "description" : "Create or restore a container.",
+ "method" : "POST",
+ "name" : "create_vm",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "arch" : {
+ "default" : "amd64",
+ "description" : "OS architecture type.",
+ "enum" : [
+ "amd64",
+ "i386",
+ "arm64",
+ "armhf"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "bwlimit" : {
+ "description" : "Override i/o bandwidth limit (in KiB/s).",
+ "minimum" : "0",
+ "optional" : 1,
+ "type" : "number",
+ "typetext" : "<number> (0 - N)"
+ },
+ "cmode" : {
+ "default" : "tty",
+ "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).",
+ "enum" : [
+ "shell",
+ "console",
+ "tty"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "console" : {
+ "default" : 1,
+ "description" : "Attach a console device (/dev/console) to the container.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "cores" : {
+ "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
+ "maximum" : 128,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 128)"
+ },
+ "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,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "number",
+ "typetext" : "<number> (0 - 128)"
+ },
+ "cpuunits" : {
+ "default" : 1024,
+ "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
+ "maximum" : 500000,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 500000)"
+ },
+ "description" : {
+ "description" : "Container description. Only used on the configuration web interface.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "features" : {
+ "description" : "Allow containers access to advanced features.",
+ "format" : {
+ "keyctl" : {
+ "default" : 0,
+ "description" : "For unprivileged containers only: Allow the use of the keyctl() system call. This is required to use docker inside a container. By default unprivileged containers will see this system call as non-existent. This is mostly a workaround for systemd-networkd, as it will treat it as a fatal error when some keyctl() operations are denied by the kernel due to lacking permissions. Essentially, you can choose between running systemd-networkd or docker.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "mount" : {
+ "description" : "Allow mounting file systems of specific types. This should be a list of file system types as used with the mount command. Note that this can have negative effects on the container's security. With access to a loop device, mounting a file can circumvent the mknod permission of the devices cgroup, mounting an NFS file system can block the host's I/O completely and prevent it from rebooting, etc.",
+ "format_description" : "fstype;fstype;...",
+ "optional" : 1,
+ "pattern" : "(?^:[a-zA-Z0-9; ]+)",
+ "type" : "string"
+ },
+ "nesting" : {
+ "default" : 0,
+ "description" : "Allow nesting. Best used with unprivileged containers with additional id mapping. Note that this will expose procfs and sysfs contents of the host to the guest.",
+ "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
+ "format" : "pve-lxc-mp-string",
+ "format_description" : "Path",
+ "type" : "string",
+ "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
},
- "permissions" : {
- "user" : "all"
+ "quota" : {
+ "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "replicate" : {
+ "default" : 1,
+ "description" : "Will include this volume to a storage replica job.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ro" : {
+ "description" : "Read-only mount point",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "shared" : {
+ "default" : 0,
+ "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
+ },
+ "size" : {
+ "description" : "Volume size (read only value).",
+ "format" : "disk-size",
+ "format_description" : "DiskSize",
+ "optional" : 1,
+ "type" : "string"
},
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{name}",
- "rel" : "child"
- }
- ],
- "type" : "array"
+ "volume" : {
+ "default_key" : 1,
+ "description" : "Volume, device or directory to mount into the container.",
- "description" : "Read VM RRD statistics (returns PNG)",
- "method" : "GET",
- "name" : "rrd",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "cf" : {
- "description" : "The RRD consolidation function",
- "enum" : [
- "AVERAGE",
- "MAX"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "ds" : {
- "description" : "The list of datasources you want to display.",
- "format" : "pve-configid-list",
- "type" : "string",
- "typetext" : "<string>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "timeframe" : {
- "description" : "Specify the time frame you are interested in.",
- "enum" : [
- "hour",
- "day",
- "week",
- "month",
- "year"
- ],
- "type" : "string"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "net[n]" : {
+ "description" : "Specifies network interfaces for the container.",
+ "format" : {
+ "bridge" : {
+ "description" : "Bridge to attach the network device to.",
+ "format_description" : "bridge",
+ "optional" : 1,
+ "pattern" : "[-_.\\w\\d]+",
+ "type" : "string"
},
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Audit"
- ]
- ]
+ "firewall" : {
+ "description" : "Controls whether this interface's firewall rules should be used.",
+ "optional" : 1,
+ "type" : "boolean"
},
- "protected" : 1,
- "returns" : {
- "properties" : {
- "filename" : {
- "type" : "string"
- }
- },
- "type" : "object"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/lxc/{vmid}/rrd",
- "text" : "rrd"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Read VM RRD statistics",
- "method" : "GET",
- "name" : "rrddata",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "cf" : {
- "description" : "The RRD consolidation function",
- "enum" : [
- "AVERAGE",
- "MAX"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "timeframe" : {
- "description" : "Specify the time frame you are interested in.",
- "enum" : [
- "hour",
- "day",
- "week",
- "month",
- "year"
- ],
- "type" : "string"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
+ "gw" : {
+ "description" : "Default gateway for IPv4 traffic.",
+ "format" : "ipv4",
+ "format_description" : "GatewayIPv4",
+ "optional" : 1,
+ "type" : "string"
},
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Audit"
- ]
- ]
+ "gw6" : {
+ "description" : "Default gateway for IPv6 traffic.",
+ "format" : "ipv6",
+ "format_description" : "GatewayIPv6",
+ "optional" : 1,
+ "type" : "string"
},
- "protected" : 1,
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/lxc/{vmid}/rrddata",
- "text" : "rrddata"
- },
- {
- "info" : {
- "POST" : {
- "description" : "Creates a TCP VNC proxy connections.",
- "method" : "POST",
- "name" : "vncproxy",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "websocket" : {
- "description" : "use websocket instead of standard VNC.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- }
- }
+ "hwaddr" : {
+ "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
- "description" : "Returns a SPICE configuration to connect to the CT.",
- "method" : "POST",
- "name" : "spiceproxy",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "proxy" : {
- "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
- "format" : "address",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "onboot" : {
+ "default" : 0,
+ "description" : "Specifies whether a VM will be started during system bootup.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "ostemplate" : {
+ "description" : "The OS template or backup file.",
+ "maxLength" : 255,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ostype" : {
+ "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.",
+ "description" : "Add the VM to the specified pool.",
+ "format" : "pve-poolid",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "protection" : {
+ "default" : 0,
+ "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "restore" : {
+ "description" : "Mark this as restore task.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "rootfs" : {
+ "description" : "Use volume as container root.",
+ "format" : {
+ "acl" : {
+ "description" : "Explicitly enable or disable ACL support.",
+ "optional" : 1,
+ "type" : "boolean"
},
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Console"
- ]
- ]
+ "quota" : {
+ "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
+ "optional" : 1,
+ "type" : "boolean"
},
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "additionalProperties" : 1,
- "description" : "Returned values can be directly passed to the 'remote-viewer' application.",
- "properties" : {
- "host" : {
- "type" : "string"
- },
- "password" : {
- "type" : "string"
- },
- "proxy" : {
- "type" : "string"
- },
- "tls-port" : {
- "type" : "integer"
- },
- "type" : {
- "type" : "string"
- }
- }
+ "replicate" : {
+ "default" : 1,
+ "description" : "Will include this volume to a storage replica job.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "ro" : {
+ "description" : "Read-only mount point",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "shared" : {
+ "default" : 0,
+ "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+ "optional" : 1,
+ "type" : "boolean",
+ "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
+ },
+ "size" : {
+ "description" : "Volume size (read only value).",
+ "format" : "disk-size",
+ "format_description" : "DiskSize",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "volume" : {
+ "default_key" : 1,
+ "description" : "Volume, device or directory to mount into the container.",
+ "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
+ "format" : "dns-name-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ssh-public-keys" : {
+ "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "start" : {
+ "default" : 0,
+ "description" : "Start the CT after its creation finished successfully.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "startup" : {
+ "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
+ "description" : "Amount of SWAP for the VM in MB.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "template" : {
+ "default" : 0,
+ "description" : "Enable/disable Template.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "tty" : {
+ "default" : 2,
+ "description" : "Specify the number of tty available to the container",
+ "maximum" : 6,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 6)"
+ },
+ "unprivileged" : {
+ "default" : 0,
+ "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "unused[n]" : {
+ "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
+ "format" : "pve-volume-id",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "You need 'VM.Allocate' permissions on /vms/{vmid} or on the VM pool /pool/{pool}. For restore, it is enough if the user has 'VM.Backup' permission and the VM already exists. You also need 'Datastore.AllocateSpace' permissions on the storage.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/lxc",
+ "text" : "lxc"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
{
- "info" : {
- "POST" : {
- "description" : "Migrate the container to another node. Creates a new migration task.",
- "method" : "POST",
- "name" : "migrate_vm",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "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",
- "type" : "string",
- "typetext" : "<string>"
- },
- "online" : {
- "description" : "Use online/live migration.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "children" : [
+ {
+ "info" : {
+ "POST" : {
+ "description" : "ceph osd in",
+ "method" : "POST",
+ "name" : "in",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "osdid" : {
+ "description" : "OSD ID",
+ "type" : "integer",
+ "typetext" : "<integer>"
+ }
+ }
},
- "target" : {
- "description" : "Target node.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
},
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
}
}
},
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Migrate"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "description" : "the task ID.",
- "type" : "string"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/lxc/{vmid}/migrate",
- "text" : "migrate"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Check if feature for virtual machine is available.",
- "method" : "GET",
- "name" : "vm_feature",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "feature" : {
- "description" : "Feature to check.",
- "enum" : [
- "snapshot"
- ],
- "type" : "string"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "leaf" : 1,
+ "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
+ "text" : "in"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "description" : "ceph osd out",
+ "method" : "POST",
+ "name" : "out",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "osdid" : {
+ "description" : "OSD ID",
+ "type" : "integer",
+ "typetext" : "<integer>"
+ }
+ }
},
- "snapname" : {
- "description" : "The name of the snapshot.",
- "format" : "pve-configid",
- "maxLength" : 40,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
},
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
}
}
},
- "permissions" : {
- "check" : [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Audit"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "properties" : {
- "hasFeature" : {
- "type" : "boolean"
- }
- },
- "type" : "object"
- }
+ "leaf" : 1,
+ "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
+ "text" : "out"
}
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/lxc/{vmid}/feature",
- "text" : "feature"
- },
- {
+ ],
"info" : {
- "POST" : {
- "description" : "Create a Template.",
- "method" : "POST",
- "name" : "template",
+ "DELETE" : {
+ "description" : "Destroy OSD",
+ "method" : "DELETE",
+ "name" : "destroyosd",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "experimental" : {
+ "cleanup" : {
"default" : 0,
- "description" : "The template feature is experimental, set this flag if you know what you are doing.",
+ "description" : "If set, we remove partition table entries.",
- "description" : "You need 'VM.Allocate' permissions on /vms/{vmid}"
- },
"protected" : 1,
"proxyto" : "node",
"returns" : {
- "type" : "null"
+ "type" : "string"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/lxc/{vmid}/template",
- "text" : "template"
+ "leaf" : 0,
+ "path" : "/nodes/{node}/ceph/osd/{osdid}",
+ "text" : "{osdid}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "Get Ceph osd list/tree.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit",
+ "Datastore.Audit"
+ ],
+ "any",
+ 1
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "object"
+ }
},
- {
- "info" : {
- "POST" : {
- "description" : "Create a container clone/copy",
- "method" : "POST",
- "name" : "clone_vm",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "description" : {
- "description" : "Description for the new CT.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "experimental" : {
- "default" : 0,
- "description" : "The clone feature is experimental, set this flag if you know what you are doing.",
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "full" : {
- "default" : 0,
- "description" : "Create a full copy of all disk. This is always done when you clone a normal CT. For CT templates, we try to create a linked clone by default.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "hostname" : {
- "description" : "Set a hostname for the new CT.",
- "format" : "dns-name",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "newid" : {
- "description" : "VMID for the clone.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "pool" : {
- "description" : "Add the new CT to the specified pool.",
- "format" : "pve-poolid",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "snapname" : {
- "description" : "The name of the snapshot.",
- "format" : "pve-configid",
- "maxLength" : 40,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "storage" : {
- "description" : "Target storage for full clone.",
- "format" : "pve-storage-id",
- "optional" : 1,
- "requires" : "full",
- "type" : "string",
- "typetext" : "<string>"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
- }
- }
+ "POST" : {
+ "description" : "Create OSD",
+ "method" : "POST",
+ "name" : "createosd",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "bluestore" : {
+ "default" : 1,
+ "description" : "Use bluestore instead of filestore. This is the default.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "permissions" : {
- "check" : [
- "and",
- [
- "perm",
- "/vms/{vmid}",
- [
- "VM.Clone"
- ]
- ],
- [
- "or",
- [
- "perm",
- "/vms/{newid}",
- [
- "VM.Allocate"
- ]
- ],
- [
- "perm",
- "/pool/{pool}",
- [
- "VM.Allocate"
- ],
- "require_param",
- "pool"
- ]
- ]
+ "dev" : {
+ "description" : "Block device name.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "fstype" : {
+ "default" : "xfs",
+ "description" : "File system type (filestore only).",
+ "enum" : [
+ "xfs",
+ "ext4"
],
- "description" : "You need 'VM.Clone' permissions on /vms/{vmid}, and 'VM.Allocate' permissions on /vms/{newid} (or on the VM pool /pool/{pool}). You also need 'Datastore.AllocateSpace' on any used storage."
+ "optional" : 1,
+ "type" : "string"
},
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
+ "journal_dev" : {
+ "description" : "Block device name for journal (filestore) or block.db (bluestore).",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "wal_dev" : {
+ "description" : "Block device name for block.wal (bluestore only).",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/ceph/osd",
+ "text" : "osd"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "description" : "List local disks.",
+ "method" : "GET",
+ "name" : "disks",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Only list specific types of disks.",
+ "enum" : [
+ "unused",
+ "journal_disks"
+ ],
+ "optional" : 1,
"type" : "string"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/lxc/{vmid}/clone",
- "text" : "clone"
- },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit",
+ "Datastore.Audit"
+ ],
+ "any",
+ 1
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "dev" : {
+ "type" : "string"
+ },
+ "gpt" : {
+ "type" : "boolean"
+ },
+ "model" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "osdid" : {
+ "type" : "integer"
+ },
+ "serial" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "size" : {
+ "type" : "integer"
+ },
+ "used" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "vendor" : {
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/ceph/disks",
+ "text" : "disks"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Get Ceph configuration.",
+ "method" : "GET",
+ "name" : "config",
+ "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
+ ]
+ },
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/ceph/config",
+ "text" : "config"
+ },
+ {
+ "children" : [
{
"info" : {
- "PUT" : {
- "description" : "Resize a container mount point.",
- "method" : "PUT",
- "name" : "resize_vm",
+ "DELETE" : {
+ "description" : "Destroy Ceph Monitor and Manager.",
+ "method" : "DELETE",
+ "name" : "destroymon",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "digest" : {
- "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 40,
+ "exclude-manager" : {
+ "default" : 0,
+ "description" : "When set, removes only the monitor, not the manager",
- "description" : "The new size. With the '+' sign the value is added to the actual size of the volume and without it, the value is taken as an absolute one. Shrinking disk size is not supported.",
- "pattern" : "\\+?\\d+(\\.\\d+)?[KMGT]?",
- "type" : "string"
- },
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
}
}
},
"permissions" : {
"check" : [
"perm",
- "/vms/{vmid}",
+ "/",
[
- "VM.Config.Disk"
- ],
- "any",
- 1
+ "Sys.Modify"
+ ]
]
},
"protected" : 1,
"proxyto" : "node",
"returns" : {
- "description" : "the task ID.",
"type" : "string"
}
}
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/lxc/{vmid}/resize",
- "text" : "resize"
- }
- ],
- "info" : {
- "DELETE" : {
- "description" : "Destroy the container (also delete all uses files).",
- "description" : "LXC container index (per node).",
- "method" : "GET",
- "name" : "vmlist",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "description" : "Only list CTs where you have VM.Audit permissons on /vms/<vmid>.",
- "user" : "all"
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
},
- "links" : [
- {
- "href" : "{vmid}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- },
- "POST" : {
- "description" : "Create or restore a container.",
- "method" : "POST",
- "name" : "create_vm",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "arch" : {
- "default" : "amd64",
- "description" : "OS architecture type.",
- "enum" : [
- "amd64",
- "i386"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "cmode" : {
- "default" : "tty",
- "description" : "Console mode. By default, the console command tries to open a connection to one of the available tty devices. By setting cmode to 'console' it tries to attach to /dev/console instead. If you set cmode to 'shell', it simply invokes a shell inside the container (no login).",
- "enum" : [
- "shell",
- "console",
- "tty"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "console" : {
- "default" : 1,
- "description" : "Attach a console device (/dev/console) to the container.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "cores" : {
- "description" : "The number of cores assigned to the container. A container can use all available cores by default.",
- "maximum" : 128,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 128)"
- },
- "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,
- "minimum" : 0,
- "optional" : 1,
- "type" : "number",
- "typetext" : "<number> (0 - 128)"
- },
- "cpuunits" : {
- "default" : 1024,
- "description" : "CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to the weights of all the other running VMs.\n\nNOTE: You can disable fair-scheduler configuration by setting this to 0.",
- "maximum" : 500000,
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - 500000)"
- },
- "description" : {
- "description" : "Container description. Only used on the configuration web interface.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "force" : {
- "description" : "Allow to overwrite existing container.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "hostname" : {
- "description" : "Set a host name for the container.",
- "format" : "dns-name",
- "maxLength" : 255,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "ignore-unpack-errors" : {
- "description" : "Ignore errors when extracting the template.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "lock" : {
- "description" : "Lock/unlock the VM.",
- "enum" : [
- "migrate",
- "backup",
- "snapshot",
- "rollback"
- ],
- "optional" : 1,
- "type" : "string"
- },
- "memory" : {
- "default" : 512,
- "description" : "Amount of RAM for the VM in MB.",
- "minimum" : 16,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (16 - N)"
- },
- "mp[n]" : {
- "description" : "Use volume as container mount point.",
- "format" : {
- "acl" : {
- "description" : "Explicitly enable or disable ACL support.",
- "optional" : 1,
- "type" : "boolean"
- },
- "backup" : {
- "description" : "Whether to include the mount point in backups.",
- "optional" : 1,
- "type" : "boolean",
- "verbose_description" : "Whether to include the mount point in backups (only used for volume mount points)."
- },
- "mp" : {
- "description" : "Path to the mount point as seen from inside the container (must not contain symlinks).",
- "format" : "pve-lxc-mp-string",
- "format_description" : "Path",
- "type" : "string",
- "verbose_description" : "Path to the mount point as seen from inside the container.\n\nNOTE: Must not contain any symlinks for security reasons."
- },
- "quota" : {
- "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
- "optional" : 1,
- "type" : "boolean"
- },
- "ro" : {
- "description" : "Read-only mount point",
- "optional" : 1,
- "type" : "boolean"
- },
- "shared" : {
+ "POST" : {
+ "description" : "Create Ceph Monitor and Manager",
+ "method" : "POST",
+ "name" : "createmon",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "exclude-manager" : {
"default" : 0,
- "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+ "description" : "When set, only a monitor will be created.",
"optional" : 1,
"type" : "boolean",
- "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
- },
- "size" : {
- "description" : "Volume size (read only value).",
- "format" : "disk-size",
- "format_description" : "DiskSize",
- "optional" : 1,
- "type" : "string"
- },
- "volume" : {
- "default_key" : 1,
- "description" : "Volume, device or directory to mount into the container.",
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "net[n]" : {
- "description" : "Specifies network interfaces for the container.",
- "format" : {
- "bridge" : {
- "description" : "Bridge to attach the network device to.",
- "format_description" : "bridge",
+ "typetext" : "<boolean>"
+ },
+ "id" : {
+ "description" : "The ID for the monitor, when omitted the same as the nodename",
+ "description" : "Disable cephx authentification.\n\nWARNING: cephx is a security feature protecting against man-in-the-middle attacks. Only consider disabling cephx if your network is private!",
"optional" : 1,
- "type" : "string"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "gw6" : {
- "description" : "Default gateway for IPv6 traffic.",
- "format" : "ipv6",
- "format_description" : "GatewayIPv6",
+ "min_size" : {
+ "default" : 2,
+ "description" : "Minimum number of available replicas per object to allow I/O",
+ "maximum" : 7,
+ "minimum" : 1,
"optional" : 1,
- "type" : "string"
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 7)"
},
- "hwaddr" : {
- "description" : "The interface MAC address. This is dynamically allocated by default, but you can set that statically if needed, for example to always have the same link-local IPv6 address. (lxc.network.hwaddr)",
- "format_description" : "XX:XX:XX:XX:XX:XX",
+ "network" : {
+ "description" : "Use specific network for all ceph related traffic",
+ "description" : "Placement group bits, used to specify the default number of placement groups.\n\nNOTE: 'osd pool default pg num' does not work for default pools.",
+ "maximum" : 14,
+ "minimum" : 6,
"optional" : 1,
- "type" : "string"
+ "type" : "integer",
+ "typetext" : "<integer> (6 - 14)"
},
- "mtu" : {
- "description" : "Maximum transfer unit of the interface. (lxc.network.mtu)",
- "minimum" : 64,
+ "size" : {
+ "default" : 3,
+ "description" : "Targeted number of replicas per object",
- "description" : "Specifies whether a VM will be started during system bootup.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ }
},
- "ostemplate" : {
- "description" : "The OS template or backup file.",
- "maxLength" : 255,
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
},
- "ostype" : {
- "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.",
- "description" : "Add the VM to the specified pool.",
- "format" : "pve-poolid",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/ceph/status",
+ "text" : "status"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "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"
+ }
+ }
},
- "protection" : {
- "default" : 0,
- "description" : "Sets the protection flag of the container. This will prevent the CT or CT's disk remove/update operation.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "leaf" : 1,
+ "path" : "/nodes/{node}/ceph/pools/{name}",
+ "text" : "{name}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "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>"
+ }
+ }
},
- "restore" : {
- "description" : "Mark this as restore task.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit",
+ "Datastore.Audit"
+ ],
+ "any",
+ 1
+ ]
},
- "rootfs" : {
- "description" : "Use volume as container root.",
- "format" : {
- "acl" : {
- "description" : "Explicitly enable or disable ACL support.",
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "pool" : {
+ "type" : "integer"
+ },
+ "pool_name" : {
+ "type" : "string"
+ },
+ "size" : {
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{pool_name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "description" : "Create POOL",
+ "method" : "POST",
+ "name" : "createpool",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "add_storages" : {
+ "description" : "Configure VM and CT storages 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" : "boolean"
+ "type" : "string"
},
- "quota" : {
- "description" : "Enable user quotas inside the container (not supported with zfs subvolumes)",
+ "crush_rule" : {
+ "description" : "The rule to use for mapping object placement in the cluster.",
"optional" : 1,
- "type" : "boolean"
+ "type" : "string",
+ "typetext" : "<string>"
},
- "ro" : {
- "description" : "Read-only mount point",
+ "min_size" : {
+ "default" : 2,
+ "description" : "Minimum number of replicas per object",
+ "maximum" : 7,
+ "minimum" : 1,
"optional" : 1,
- "type" : "boolean"
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 7)"
},
- "shared" : {
- "default" : 0,
- "description" : "Mark this non-volume mount point as available on multiple nodes (see 'nodes')",
+ "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" : 64,
+ "description" : "Number of placement groups.",
+ "maximum" : 32768,
+ "minimum" : 8,
"optional" : 1,
- "type" : "boolean",
- "verbose_description" : "Mark this non-volume mount point as available on all nodes.\n\nWARNING: This option does not share the mount point automatically, it assumes it is shared already!"
+ "type" : "integer",
+ "typetext" : "<integer> (8 - 32768)"
},
"size" : {
- "description" : "Volume size (read only value).",
- "format" : "disk-size",
- "format_description" : "DiskSize",
+ "default" : 3,
+ "description" : "Number of replicas per object",
+ "maximum" : 7,
+ "minimum" : 1,
"optional" : 1,
- "type" : "string"
- },
- "volume" : {
- "default_key" : 1,
- "description" : "Volume, device or directory to mount into the container.",
- "description" : "Sets DNS search domains for a container. Create will automatically use the setting from the host if you neither set searchdomain nor nameserver.",
- "format" : "dns-name-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "ssh-public-keys" : {
- "description" : "Setup public SSH keys (one key per line, OpenSSH format).",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "startup" : {
- "description" : "Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the 'up' or 'down' delay in seconds, which specifies a delay to wait before the next VM is started or stopped.",
- "description" : "Amount of SWAP for the VM in MB.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "template" : {
- "default" : 0,
- "description" : "Enable/disable Template.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "tty" : {
- "default" : 2,
- "description" : "Specify the number of tty available to the container",
- "maximum" : 6,
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - 6)"
- },
- "unprivileged" : {
- "default" : 0,
- "description" : "Makes the container run as unprivileged user. (Should not be modified manually.)",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ }
},
- "unused[n]" : {
- "description" : "Reference to unused volumes. This is used internally, and should not be modified manually.",
- "format" : "pve-volume-id",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
},
- "vmid" : {
- "description" : "The (unique) ID of the VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
}
}
},
- "permissions" : {
- "description" : "You need 'VM.Allocate' permissions on /vms/{vmid} or on the VM pool /pool/{pool}. For restore, it is enough if the user has 'VM.Backup' permission and the VM already exists. You also need 'Datastore.AllocateSpace' permissions on the storage.",
- "user" : "all"
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/lxc",
- "text" : "lxc"
- },
- {
- "children" : [
+ "leaf" : 0,
+ "path" : "/nodes/{node}/ceph/pools",
+ "text" : "pools"
+ },
{
"children" : [
{
- "children" : [
- {
- "info" : {
- "POST" : {
- "description" : "ceph osd in",
- "method" : "POST",
- "name" : "in",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "osdid" : {
- "description" : "OSD ID",
- "type" : "integer",
- "typetext" : "<integer>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
+ "info" : {
+ "DELETE" : {
+ "description" : "Unset a ceph flag",
+ "method" : "DELETE",
+ "name" : "unset_flag",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "flag" : {
+ "description" : "The ceph flag to set/unset",
+ "enum" : [
+ "full",
+ "pause",
+ "noup",
+ "nodown",
+ "noout",
+ "noin",
+ "nobackfill",
+ "norebalance",
+ "norecover",
+ "noscrub",
+ "nodeep-scrub",
+ "notieragent"
+ ],
+ "type" : "string"
},
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
- "leaf" : 1,
- "path" : "/nodes/{node}/ceph/osd/{osdid}/in",
- "text" : "in"
- },
- {
- "info" : {
- "POST" : {
- "description" : "ceph osd out",
- "method" : "POST",
- "name" : "out",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "osdid" : {
- "description" : "OSD ID",
- "type" : "integer",
- "typetext" : "<integer>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- }
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
},
- "leaf" : 1,
- "path" : "/nodes/{node}/ceph/osd/{osdid}/out",
- "text" : "out"
- }
- ],
- "info" : {
- "DELETE" : {
- "description" : "Destroy OSD",
- "method" : "DELETE",
- "name" : "destroyosd",
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "POST" : {
+ "description" : "Set a ceph flag",
+ "method" : "POST",
+ "name" : "set_flag",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "cleanup" : {
- "default" : 0,
- "description" : "If set, we remove partition table entries.",
+ "description" : "The user needs 'VM.Backup' permissions on the backed up guest ID, and 'Datastore.AllocateSpace' on the backup storage.",
+ "user" : "all"
},
+ "protected" : 1,
+ "proxyto" : "node",
"returns" : {
"type" : "string"
}
}
},
"leaf" : 1,
- "path" : "/nodes/{node}/ceph/config",
- "text" : "config"
- },
+ "path" : "/nodes/{node}/vzdump/extractconfig",
+ "text" : "extractconfig"
+ }
+ ],
+ "info" : {
+ "POST" : {
+ "description" : "Create backup.",
+ "method" : "POST",
+ "name" : "vzdump",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "all" : {
+ "default" : 0,
+ "description" : "Backup all known guest systems on this host.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "bwlimit" : {
+ "default" : 0,
+ "description" : "Limit I/O bandwidth (KBytes per second).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "compress" : {
+ "default" : "0",
+ "description" : "Compress dump file.",
+ "enum" : [
+ "0",
+ "1",
+ "gzip",
+ "lzo"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "dumpdir" : {
+ "description" : "Store resulting files to specified directory.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "exclude" : {
+ "description" : "Exclude specified guest systems (assumes --all)",
+ "format" : "pve-vmid-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "exclude-path" : {
+ "description" : "Exclude certain files/directories (shell globs).",
+ "format" : "string-alist",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ionice" : {
+ "default" : 7,
+ "description" : "Set CFQ ionice priority.",
+ "maximum" : 8,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - 8)"
+ },
+ "lockwait" : {
+ "default" : 180,
+ "description" : "Maximal time to wait for the global lock (minutes).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "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 that should receive email notifications.",
+ "format" : "string-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "maxfiles" : {
+ "default" : 1,
+ "description" : "Maximal number of backup files per guest system.",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
+ "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",
+ "typetext" : "<string>"
+ },
+ "pigz" : {
+ "default" : 0,
+ "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "quiet" : {
+ "default" : 0,
+ "description" : "Be quiet.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "remove" : {
+ "default" : 1,
+ "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "script" : {
+ "description" : "Use specified hook script.",
+ "optional" : 1,
+ "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.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "stdout" : {
+ "description" : "Write tar to stdout, not to a file.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "stop" : {
+ "default" : 0,
+ "description" : "Stop runnig backup jobs on this host.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "stopwait" : {
+ "default" : 10,
+ "description" : "Maximal time to wait until a guest system is stopped (minutes).",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "storage" : {
+ "description" : "Store resulting file to this storage.",
+ "format" : "pve-storage-id",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "tmpdir" : {
+ "description" : "Store temporary files to specified directory.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vmid" : {
+ "description" : "The ID of the guest system you want to backup.",
+ "format" : "pve-vmid-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "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" : "Use specific network for all ceph related traffic",
- "format" : "CIDR",
- "maxLength" : 128,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "pg_bits" : {
- "default" : 6,
- "description" : "Placement group bits, used to specify the default number of placement groups.\n\nNOTE: 'osd pool default pg num' does not work for default pools.",
- "maximum" : 14,
- "minimum" : 6,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (6 - 14)"
+ {
+ "info" : {
+ "POST" : {
+ "description" : "Start service.",
+ "method" : "POST",
+ "name" : "service_start",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "service" : {
+ "description" : "Service ID",
+ "enum" : [
+ "pveproxy",
+ "pvedaemon",
+ "spiceproxy",
+ "pvestatd",
+ "pve-cluster",
+ "corosync",
+ "pve-firewall",
+ "pvefw-logger",
+ "pve-ha-crm",
+ "pve-ha-lrm",
+ "sshd",
+ "syslog",
+ "cron",
+ "postfix",
+ "ksmtuned",
+ "systemd-timesyncd"
+ ],
+ "type" : "string"
+ }
+ }
},
- "size" : {
- "default" : 2,
- "description" : "Number of replicas per object",
- "description" : "Unused, will be removed in a future release.",
- "minimum" : 500,
+ "netmask6" : {
+ "description" : "Network mask.",
+ "maximum" : 128,
+ "minimum" : 0,
"optional" : 1,
+ "requires" : "address6",
"type" : "integer",
- "typetext" : "<integer> (500 - N)"
+ "typetext" : "<integer> (0 - 128)"
},
- "stdexcludes" : {
- "default" : 1,
- "description" : "Exclude temporary files and logs.",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
},
- "stdout" : {
- "description" : "Write tar to stdout, not to a file.",
+ "ovs_bonds" : {
+ "description" : "Specify the interfaces used by the bonding device.",
+ "format" : "pve-iface-list",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "string",
+ "typetext" : "<string>"
},
- "stop" : {
- "default" : 0,
- "description" : "Stop runnig backup jobs on this host.",
+ "ovs_bridge" : {
+ "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
+ "format" : "pve-iface",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "string",
+ "typetext" : "<string>"
},
- "stopwait" : {
- "default" : 10,
- "description" : "Maximal time to wait until a guest system is stopped (minutes).",
- "minimum" : 0,
+ "ovs_options" : {
+ "description" : "OVS interface options.",
+ "maxLength" : 1024,
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
+ "type" : "string",
+ "typetext" : "<string>"
},
- "storage" : {
- "description" : "Store resulting file to this storage.",
- "format" : "pve-storage-id",
+ "ovs_ports" : {
+ "description" : "Specify the iterfaces you want to add to your bridge.",
+ "format" : "pve-iface-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "tmpdir" : {
- "description" : "Store temporary files to specified directory.",
+ "ovs_tag" : {
+ "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
+ "maximum" : 4094,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 4094)"
+ },
+ "slaves" : {
+ "description" : "Specify the interfaces used by the bonding device.",
+ "format" : "pve-iface-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "vmid" : {
- "description" : "The ID of the guest system you want to backup.",
- "format" : "pve-vmid-list",
- "optional" : 1,
+ "type" : {
+ "description" : "Network interface type",
+ "enum" : [
+ "bridge",
+ "bond",
+ "eth",
+ "alias",
+ "vlan",
+ "OVSBridge",
+ "OVSBond",
+ "OVSPort",
+ "OVSIntPort",
+ "unknown"
+ ],
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/nodes/{node}",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "PUT" : {
+ "description" : "Reload network configuration",
+ "method" : "PUT",
+ "name" : "reload_network_config",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
}
}
},
"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 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
+ "user" : "all"
},
"protected" : 1,
"proxyto" : "node",
"returns" : {
- "type" : "string"
+ "properties" : {
+ "pid" : {
+ "type" : "integer"
+ },
+ "status" : {
+ "enum" : [
+ "running",
+ "stopped"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/tasks/{upid}/status",
+ "text" : "status"
+ }
+ ],
+ "info" : {
+ "DELETE" : {
+ "description" : "Stop a task.",
+ "method" : "DELETE",
+ "name" : "stop_task",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "upid" : {
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "The user needs 'Sys.Modify' permissions on '/nodes/<node>' if the task does not belong to him.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "description" : "",
+ "method" : "GET",
+ "name" : "upid_index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "upid" : {
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/tasks/{upid}",
+ "text" : "{upid}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "Read task list for one node (finished tasks).",
+ "method" : "GET",
+ "name" : "node_tasks",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "errors" : {
+ "default" : 0,
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "limit" : {
+ "default" : 50,
+ "description" : "Only list this amount of tasks.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "start" : {
+ "default" : 0,
+ "description" : "List tasks beginning from this offset.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "userfilter" : {
+ "description" : "Only list tasks from this user.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vmid" : {
+ "description" : "Only list tasks for this VM.",
+ "format" : "pve-vmid",
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "List task associated with the current user, or all task the user has 'Sys.Audit' permissions on /nodes/<node> (the <node> the task runs on).",
+ "user" : "all"
+ },
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "endtime" : {
+ "optional" : 1,
+ "title" : "Endtime",
+ "type" : "integer"
+ },
+ "id" : {
+ "optional" : 1,
+ "title" : "ID",
+ "type" : "string"
+ },
+ "node" : {
+ "optional" : 1,
+ "title" : "Node",
+ "type" : "string"
+ },
+ "pid" : {
+ "optional" : 1,
+ "title" : "PID",
+ "type" : "integer"
+ },
+ "pstart" : {
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "starttime" : {
+ "optional" : 1,
+ "title" : "Starttime",
+ "type" : "integer"
+ },
+ "status" : {
+ "optional" : 1,
+ "title" : "Status",
+ "type" : "string"
+ },
+ "type" : {
+ "optional" : 1,
+ "title" : "Type",
+ "type" : "string"
+ },
+ "upid" : {
+ "title" : "UPID",
+ "type" : "string"
+ },
+ "user" : {
+ "optional" : 1,
+ "title" : "User",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{upid}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/tasks",
+ "text" : "tasks"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Scan zfs pool list on local node.",
+ "description" : "Index of available scan methods",
+ "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" : {
+ "method" : {
+ "type" : "string"
+ }
},
- "ovs_bonds" : {
- "description" : "Specify the interfaces used by the bonding device.",
- "format" : "pve-iface-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "ovs_bridge" : {
- "description" : "The OVS bridge associated with a OVS port. This is required when you create an OVS port.",
- "format" : "pve-iface",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "ovs_options" : {
- "description" : "OVS interface options.",
- "maxLength" : 1024,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "ovs_ports" : {
- "description" : "Specify the iterfaces you want to add to your bridge.",
- "format" : "pve-iface-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "ovs_tag" : {
- "description" : "Specify a VLan tag (used by OVSPort, OVSIntPort, OVSBond)",
- "maximum" : 4094,
- "minimum" : 1,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - 4094)"
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{method}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/scan",
+ "text" : "scan"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "description" : "Delete volume",
+ "method" : "DELETE",
+ "name" : "delete",
+ "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>"
+ },
+ "volume" : {
+ "description" : "Volume identifier",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "description" : "Get volume attributes",
+ "method" : "GET",
+ "name" : "info",
+ "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>"
+ },
+ "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" : "object"
+ }
+ },
+ "POST" : {
+ "description" : "Copy a volume. This is experimental code - do not use.",
+ "method" : "POST",
+ "name" : "copy",
+ "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>"
+ },
+ "target" : {
+ "description" : "Target volume identifier",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "target_node" : {
+ "description" : "Target node. Default is local node.",
+ "description" : "Upload templates and ISO images.",
+ "method" : "POST",
+ "name" : "upload",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "content" : {
+ "description" : "Content type.",
+ "format" : "pve-storage-content",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "filename" : {
+ "description" : "The name of the file to create.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
},
- "upid" : {
+ "storage" : {
+ "description" : "The storage identifier.",
+ "format" : "pve-storage-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "tmpfilename" : {
+ "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trustet port on localhost.",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
}
}
},
"permissions" : {
- "description" : "The user needs 'Sys.Audit' permissions on '/nodes/<node>' if the task does not belong to him.",
+ "description" : "Only list status for specified storage",
+ "format" : "pve-storage-id",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "vmid" : {
- "description" : "Only list tasks for this VM.",
- "format" : "pve-vmid",
- "minimum" : 1,
+ "target" : {
+ "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
+ "format" : "pve-node",
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (1 - N)"
+ "type" : "string",
+ "typetext" : "<string>"
}
}
},
"permissions" : {
- "description" : "List task associated with the current user, or all task the user has 'Sys.Audit' permissions on /nodes/<node> (the <node> the task runs on).",
+ "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
"user" : "all"
},
+ "protected" : 1,
"proxyto" : "node",
"returns" : {
"items" : {
"properties" : {
- "upid" : {
+ "active" : {
+ "description" : "Set when storage is accessible.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "avail" : {
+ "description" : "Available storage space in bytes.",
- "description" : "Index of available scan methods",
- "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" : {
- "method" : {
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{method}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/scan",
- "text" : "scan"
- },
- {
- "children" : [
+ "path" : "/nodes/{node}/disks/list",
+ "text" : "list"
+ },
{
- "children" : [
- {
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "description" : "Delete volume",
- "method" : "DELETE",
- "name" : "delete",
- "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>"
- },
- "volume" : {
- "description" : "Volume identifier",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "description" : "You need 'Datastore.Allocate' privilege on the storage (or 'Datastore.AllocateSpace' for backup volumes if you have VM.Backup privilege on the VM).",
- "user" : "all"
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Get volume attributes",
- "method" : "GET",
- "name" : "info",
- "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>"
- },
- "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" : "object"
- }
- },
- "POST" : {
- "description" : "Copy a volume. This is experimental code - do not use.",
- "method" : "POST",
- "name" : "copy",
- "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>"
- },
- "target" : {
- "description" : "Target volume identifier",
- "type" : "string",
- "typetext" : "<string>"
- },
- "target_node" : {
- "description" : "Target node. Default is local node.",
- "description" : "Upload templates and ISO images.",
- "method" : "POST",
- "name" : "upload",
+ },
+ "PUT" : {
+ "description" : "Modify rule data.",
+ "method" : "PUT",
+ "name" : "update_rule",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "content" : {
- "description" : "Content type.",
- "format" : "pve-storage-content",
+ "action" : {
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Descriptive comment.",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "filename" : {
- "description" : "The name of the file to create.",
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "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",
+ "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>"
+ },
+ "dport" : {
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "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",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "maxLength" : 128,
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
+ "moveto" : {
+ "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "string",
"typetext" : "<string>"
},
- "storage" : {
- "description" : "The storage identifier.",
- "format" : "pve-storage-id",
+ "pos" : {
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+ "format" : "pve-fw-protocol-spec",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "tmpfilename" : {
- "description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trustet port on localhost.",
+ "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.",
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-sport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Rule type.",
+ "enum" : [
+ "in",
+ "out",
+ "group"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
}
},
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{subdir}",
- "rel" : "child"
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/nodes/{node}",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "null"
}
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/storage/{storage}",
- "text" : "{storage}"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "Get status for all datastores.",
- "method" : "GET",
- "name" : "index",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "content" : {
- "description" : "Only list stores which support this content type.",
- "format" : "pve-storage-content-list",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "enabled" : {
- "default" : 0,
- "description" : "Only list stores which are enabled (not disabled in config).",
- "optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "storage" : {
- "description" : "Only list status for specified storage",
- "format" : "pve-storage-id",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "target" : {
- "description" : "If target is different to 'node', we only lists shared storages which content is accessible on this 'node' and the specified 'target' node.",
- "format" : "pve-node",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "description" : "Only list entries where you have 'Datastore.Audit' or 'Datastore.AllocateSpace' permissions on '/storage/<storage>'",
+ "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
+ "maxLength" : 20,
+ "minLength" : 2,
+ "optional" : 0,
+ "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
"type" : "string"
},
- "healthonly" : {
- "description" : "If true returns only the health status",
+ "comment" : {
+ "description" : "Descriptive comment.",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "string",
+ "typetext" : "<string>"
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
+ "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",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/",
- [
- "Sys.Audit",
- "Datastore.Audit"
- ],
- "any",
- 1
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "properties" : {
- "attributes" : {
+ },
+ "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" : "array"
+ "type" : "string",
+ "typetext" : "<string>"
},
- "health" : {
- "type" : "string"
+ "dport" : {
+ "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "format" : "pve-fw-dport-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "enable" : {
+ "description" : "Flag to enable/disable a rule.",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
},
- "text" : {
+ "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",
+ "maxLength" : 20,
+ "minLength" : 2,
"optional" : 1,
- "type" : "string"
+ "type" : "string",
+ "typetext" : "<string>"
},
- "type" : {
+ "macro" : {
+ "description" : "Use predefined standard macro.",
+ "description" : "Update rule at position <pos>.",
+ "minimum" : 0,
"optional" : 1,
- "pattern" : "[a-fA-F0-9\\-]+",
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "proto" : {
+ "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
+ "format" : "pve-fw-protocol-spec",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "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",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sport" : {
+ "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
+ "description" : "Log level for outgoing traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "ndp" : {
+ "description" : "Enable NDP.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "nf_conntrack_max" : {
+ "description" : "Maximum number of tracked connections.",
+ "minimum" : 32768,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "nf_conntrack_tcp_timeout_established" : {
+ "description" : "Conntrack established timeout.",
+ "minimum" : 7875,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "nosmurfs" : {
+ "description" : "Enable SMURFS filter.",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "smurf_log_level" : {
+ "description" : "Log level for SMURFS filter.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "tcp_flags_log_level" : {
+ "description" : "Log level for illegal tcp flags filter.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "tcpflags" : {
+ "description" : "Filter illegal combinations of TCP flags.",
"optional" : 1,
- "type" : "boolean",
- "typetext" : "<boolean>"
+ "type" : "boolean"
}
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/nodes/{node}",
- [
- "Sys.Modify"
- ]
- ]
- },
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
+ },
+ "type" : "object"
}
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/apt/update",
- "text" : "update"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Get package changelogs.",
- "method" : "GET",
- "name" : "changelog",
+ },
+ "PUT" : {
+ "description" : "Set Firewall options.",
+ "method" : "PUT",
+ "name" : "set_options",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
- "name" : {
- "description" : "Package name.",
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
+ "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>"
},
- "version" : {
- "description" : "Package version.",
+ "enable" : {
+ "description" : "Enable host firewall rules.",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/nodes/{node}",
- [
- "Sys.Modify"
- ]
- ]
- },
- "proxyto" : "node",
- "returns" : {
- "type" : "string"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/apt/changelog",
- "text" : "changelog"
- },
- {
- "info" : {
- "GET" : {
- "description" : "Get package information for important Proxmox packages.",
- "method" : "GET",
- "name" : "versions",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/nodes/{node}",
- [
- "Sys.Audit"
- ]
- ]
- },
- "proxyto" : "node",
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "type" : "array"
- }
- }
- },
- "leaf" : 1,
- "path" : "/nodes/{node}/apt/versions",
- "text" : "versions"
- }
- ],
- "info" : {
- "GET" : {
- "description" : "Directory index for apt (Advanced Package Tool).",
- "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" : {
- "id" : {
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{id}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/nodes/{node}/apt",
- "text" : "apt"
- },
- {
- "children" : [
- {
- "children" : [
- {
- "info" : {
- "DELETE" : {
- "description" : "Delete rule.",
- "method" : "DELETE",
- "name" : "delete_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "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>"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- }
- }
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "permissions" : {
- "check" : [
- "perm",
- "/nodes/{node}",
- [
- "Sys.Modify"
- ]
- ]
+ "log_level_in" : {
+ "description" : "Log level for incoming traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "log_level_out" : {
+ "description" : "Log level for outgoing traffic.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "ndp" : {
+ "description" : "Enable NDP.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "nf_conntrack_max" : {
+ "description" : "Maximum number of tracked connections.",
+ "minimum" : 32768,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (32768 - N)"
+ },
+ "nf_conntrack_tcp_timeout_established" : {
+ "description" : "Conntrack established timeout.",
+ "minimum" : 7875,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (7875 - N)"
},
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
- }
- },
- "GET" : {
- "description" : "Get single rule data.",
- "method" : "GET",
- "name" : "get_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- }
- }
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
},
- "permissions" : {
- "check" : [
- "perm",
- "/nodes/{node}",
- [
- "Sys.Audit"
- ]
- ]
+ "nosmurfs" : {
+ "description" : "Enable SMURFS filter.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
- "proxyto" : "node",
- "returns" : {
- "properties" : {
- "pos" : {
- "type" : "integer"
- }
- },
- "type" : "object"
- }
- },
- "PUT" : {
- "description" : "Modify rule data.",
- "method" : "PUT",
- "name" : "update_rule",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "action" : {
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "comment" : {
- "description" : "Descriptive comment.",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "delete" : {
- "description" : "A list of settings you want to delete.",
- "format" : "pve-configid-list",
- "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",
- "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>"
- },
- "dport" : {
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "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",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "macro" : {
- "description" : "Use predefined standard macro.",
- "maxLength" : 128,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "moveto" : {
- "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
- },
- "pos" : {
- "description" : "Update rule at position <pos>.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-sport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "type" : {
- "description" : "Rule type.",
- "enum" : [
- "in",
- "out",
- "group"
- ],
- "optional" : 1,
- "type" : "string"
- }
- }
+ "smurf_log_level" : {
+ "description" : "Log level for SMURFS filter.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
},
- "permissions" : {
- "check" : [
- "perm",
- "/nodes/{node}",
- [
- "Sys.Modify"
- ]
- ]
+ "tcp_flags_log_level" : {
+ "description" : "Log level for illegal tcp flags filter.",
+ "enum" : [
+ "emerg",
+ "alert",
+ "crit",
+ "err",
+ "warning",
+ "notice",
+ "info",
+ "debug",
+ "nolog"
+ ],
+ "optional" : 1,
+ "type" : "string"
},
- "protected" : 1,
- "proxyto" : "node",
- "returns" : {
- "type" : "null"
+ "tcpflags" : {
+ "description" : "Filter illegal combinations of TCP flags.",
- "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 0,
- "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
- "type" : "string"
- },
- "comment" : {
- "description" : "Descriptive comment.",
- "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",
- "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>"
- },
- "dport" : {
- "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "format" : "pve-fw-dport-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "enable" : {
- "description" : "Flag to enable/disable a rule.",
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (0 - N)"
- },
- "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",
- "maxLength" : 20,
- "minLength" : 2,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "macro" : {
- "description" : "Use predefined standard macro.",
- "maxLength" : 128,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/nodes/{node}/firewall",
+ "text" : "firewall"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Get replication job status.",
+ "method" : "GET",
+ "name" : "job_status",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+ "format" : "pve-replication-job-id",
+ "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+ "type" : "string"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
},
- "node" : {
- "description" : "The cluster node name.",
- "format" : "pve-node",
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
+ "user" : "all"
},
- "pos" : {
- "description" : "Update rule at position <pos>.",
+ "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+ "format" : "pve-replication-job-id",
+ "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+ "type" : "string"
+ },
+ "limit" : {
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "start" : {
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (0 - N)"
+ }
+ }
},
- "proto" : {
- "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
- "format" : "pve-fw-protocol-spec",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "permissions" : {
+ "description" : "Requires the VM.Audit permission on /vms/<vmid>, or 'Sys.Audit' on '/nodes/<node>'",
+ "user" : "all"
},
- "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",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "n" : {
+ "description" : "Line number",
+ "type" : "integer"
+ },
+ "t" : {
+ "description" : "Line text",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/replication/{id}/log",
+ "text" : "log"
+ },
+ {
+ "info" : {
+ "POST" : {
+ "description" : "Schedule replication job to start as soon as possible.",
+ "method" : "POST",
+ "name" : "schedule_now",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "id" : {
+ "description" : "Replication Job ID. The ID is composed of a Guest ID and a job number, separated by a hyphen, i.e. '<GUEST>-<JOBNUM>'.",
+ "format" : "pve-replication-job-id",
+ "pattern" : "[1-9][0-9]{2,8}-\\d{1,9}",
+ "type" : "string"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
},
- "sport" : {
- "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
- "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As resonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
+ "description" : "SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).",
- "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
+ "fuse" : {
+ "description" : "Mount CephFS through FUSE.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
+ "is_mountpoint" : {
+ "default" : "no",
+ "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"krbd" : {
"description" : "Access rbd through krbd kernel module.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
+ "lio_tpg" : {
+ "description" : "target portal group for Linux LIO targets",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"maxfiles" : {
"description" : "Maximal number of backup files per VM. Use '0' for unlimted.",
- "description" : "Assume the directory is an externally managed mountpoint. If nothing is mounted the storage will be considered offline.",
+ "fuse" : {
+ "description" : "Mount CephFS through FUSE.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
+ "is_mountpoint" : {
+ "default" : "no",
+ "description" : "Assume the given path is an externally managed mountpoint and consider the storage offline if it is not mounted. Using a boolean (yes/no) value serves as a shortcut to using the target path in this field.",