"additionalProperties" : 0
},
"permissions" : {
- "description" : "Requires the VM.Audit permission on /vms/<vmid>.",
+ "description" : "Will only return replication jobs for which the calling user has VM.Audit permission on /vms/<vmid>.",
"user" : "all"
},
"returns" : {
"permissions" : {
"check" : [
"perm",
- "/mapping/notification",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
"or",
[
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
],
[
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Audit"
]
"optional" : 1,
"type" : "string"
},
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
"optional" : 1,
- "type" : "string"
+ "type" : "boolean"
},
"from-address" : {
"description" : "`From` address for the mail",
"type" : "string",
"typetext" : "<string>"
},
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
"from-address" : {
"description" : "`From` address for the mail",
"permissions" : {
"check" : [
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
"additionalProperties" : 0
},
"permissions" : {
- "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'.",
- "user" : "all"
+ "check" : [
+ "or",
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Modify"
+ ]
+ ],
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Audit"
+ ]
+ ]
+ ]
},
"protected" : 1,
"returns" : {
"optional" : 1,
"type" : "string"
},
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
"optional" : 1,
- "type" : "string"
+ "type" : "boolean"
},
"from-address" : {
"description" : "`From` address for the mail",
"description" : "The name of the endpoint.",
"format" : "pve-configid",
"type" : "string"
+ },
+ "origin" : {
+ "description" : "Show if this entry was created by a user or was built-in",
+ "enum" : [
+ "user-created",
+ "builtin",
+ "modified-builtin"
+ ],
+ "type" : "string"
}
},
"type" : "object"
"type" : "string",
"typetext" : "<string>"
},
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
"from-address" : {
"description" : "`From` address for the mail",
"permissions" : {
"check" : [
"perm",
- "/mapping/notification",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
"permissions" : {
"check" : [
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
"or",
[
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
],
[
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Audit"
]
"optional" : 1,
"type" : "string"
},
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
"optional" : 1,
- "type" : "string"
+ "type" : "boolean"
},
"name" : {
"description" : "The name of the endpoint.",
"type" : "string",
"typetext" : "<string>"
},
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
"name" : {
"description" : "The name of the endpoint.",
"permissions" : {
"check" : [
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
"additionalProperties" : 0
},
"permissions" : {
- "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'.",
- "user" : "all"
+ "check" : [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Audit"
+ ]
+ ]
},
"protected" : 1,
"returns" : {
"optional" : 1,
"type" : "string"
},
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
"optional" : 1,
- "type" : "string"
+ "type" : "boolean"
},
"name" : {
"description" : "The name of the endpoint.",
"format" : "pve-configid",
"type" : "string"
},
+ "origin" : {
+ "description" : "Show if this entry was created by a user or was built-in",
+ "enum" : [
+ "user-created",
+ "builtin",
+ "modified-builtin"
+ ],
+ "type" : "string"
+ },
"server" : {
"description" : "Server URL",
"type" : "string"
"type" : "string",
"typetext" : "<string>"
},
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
"name" : {
"description" : "The name of the endpoint.",
"permissions" : {
"check" : [
"perm",
- "/mapping/notification",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
"leaf" : 0,
"path" : "/cluster/notifications/endpoints/gotify",
"text" : "gotify"
- }
- ],
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "Index for all available endpoint types.",
- "method" : "GET",
- "name" : "endpoints_index",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "user" : "all"
- },
- "returns" : {
- "items" : {
- "properties" : {},
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{name}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/cluster/notifications/endpoints",
- "text" : "endpoints"
- },
- {
- "children" : [
+ },
{
"children" : [
{
"info" : {
- "POST" : {
+ "DELETE" : {
"allowtoken" : 1,
- "description" : "Send a test notification to a provided target.",
- "method" : "POST",
- "name" : "test_target",
+ "description" : "Remove smtp endpoint",
+ "method" : "DELETE",
+ "name" : "delete_smtp_endpoint",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"name" : {
- "description" : "Name of the target.",
"format" : "pve-configid",
"type" : "string",
"typetext" : "<string>"
}
},
"permissions" : {
- "description" : "The user requires 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'. The special 'mail-to-root' target can be accessed by all users.",
- "user" : "all"
+ "check" : [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Return a specific smtp endpoint",
+ "method" : "GET",
+ "name" : "get_smtp_endpoint",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "name" : {
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "or",
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Modify"
+ ]
+ ],
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Audit"
+ ]
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "properties" : {
+ "author" : {
+ "description" : "Author of the mail. Defaults to 'Proxmox VE'.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Comment",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
+ "optional" : 1,
+ "type" : "string"
+ },
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "from-address" : {
+ "description" : "`From` address for the mail",
+ "type" : "string"
+ },
+ "mailto" : {
+ "description" : "List of email recipients",
+ "items" : {
+ "format" : "email-or-username",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "mailto-user" : {
+ "description" : "List of users",
+ "items" : {
+ "format" : "pve-userid",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "mode" : {
+ "default" : "tls",
+ "description" : "Determine which encryption method shall be used for the connection.",
+ "enum" : [
+ "insecure",
+ "starttls",
+ "tls"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "name" : {
+ "description" : "The name of the endpoint.",
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "port" : {
+ "description" : "The port to be used. Defaults to 465 for TLS based connections, 587 for STARTTLS based connections and port 25 for insecure plain-text connections.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "server" : {
+ "description" : "The address of the SMTP server.",
+ "type" : "string"
+ },
+ "username" : {
+ "description" : "Username for SMTP authentication",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update existing smtp endpoint",
+ "method" : "PUT",
+ "name" : "update_smtp_endpoint",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "author" : {
+ "description" : "Author of the mail. Defaults to 'Proxmox VE'.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "comment" : {
+ "description" : "Comment",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "items" : {
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 64,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "from-address" : {
+ "description" : "`From` address for the mail",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mailto" : {
+ "description" : "List of email recipients",
+ "items" : {
+ "format" : "email-or-username",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
+ },
+ "mailto-user" : {
+ "description" : "List of users",
+ "items" : {
+ "format" : "pve-userid",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
+ },
+ "mode" : {
+ "default" : "tls",
+ "description" : "Determine which encryption method shall be used for the connection.",
+ "enum" : [
+ "insecure",
+ "starttls",
+ "tls"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "name" : {
+ "description" : "The name of the endpoint.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "password" : {
+ "description" : "Password for SMTP authentication",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "port" : {
+ "description" : "The port to be used. Defaults to 465 for TLS based connections, 587 for STARTTLS based connections and port 25 for insecure plain-text connections.",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "server" : {
+ "description" : "The address of the SMTP server.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "username" : {
+ "description" : "Username for SMTP authentication",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "or",
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Modify"
+ ]
+ ]
+ ]
},
"protected" : 1,
"returns" : {
}
},
"leaf" : 1,
- "path" : "/cluster/notifications/targets/{name}/test",
- "text" : "test"
+ "path" : "/cluster/notifications/endpoints/smtp/{name}",
+ "text" : "{name}"
}
],
- "leaf" : 0,
- "path" : "/cluster/notifications/targets/{name}",
- "text" : "{name}"
- }
- ],
- "info" : {
- "GET" : {
- "allowtoken" : 1,
- "description" : "Returns a list of all entities that can be used as notification targets (endpoints and groups).",
- "method" : "GET",
- "name" : "get_all_targets",
- "parameters" : {
- "additionalProperties" : 0
- },
- "permissions" : {
- "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'. The special 'mail-to-root' target is available to all users.",
- "user" : "all"
- },
- "protected" : 1,
- "returns" : {
- "items" : {
- "properties" : {
- "comment" : {
- "description" : "Comment",
- "optional" : 1,
- "type" : "string"
- },
- "name" : {
- "description" : "Name of the endpoint/group.",
- "format" : "pve-configid",
- "type" : "string"
- },
- "type" : {
- "description" : "Type of the endpoint or group.",
- "enum" : [
- "sendmail",
- "gotify",
- "group"
- ],
- "type" : "string"
- }
- },
- "type" : "object"
- },
- "links" : [
- {
- "href" : "{name}",
- "rel" : "child"
- }
- ],
- "type" : "array"
- }
- }
- },
- "leaf" : 0,
- "path" : "/cluster/notifications/targets",
- "text" : "targets"
- },
- {
- "children" : [
- {
"info" : {
- "DELETE" : {
- "allowtoken" : 1,
- "description" : "Remove group",
- "method" : "DELETE",
- "name" : "delete_group",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "name" : {
- "format" : "pve-configid",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/mapping/notification/{name}",
- [
- "Mapping.Modify"
- ]
- ]
- },
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
- },
"GET" : {
"allowtoken" : 1,
- "description" : "Return a specific group",
+ "description" : "Returns a list of all smtp endpoints",
"method" : "GET",
- "name" : "get_group",
+ "name" : "get_smtp_endpoints",
"parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "name" : {
- "format" : "pve-configid",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
+ "additionalProperties" : 0
},
"permissions" : {
"check" : [
"or",
[
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
],
[
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Audit"
]
},
"protected" : 1,
"returns" : {
- "properties" : {
- "comment" : {
- "description" : "Comment",
- "optional" : 1,
- "type" : "string"
- },
- "digest" : {
- "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 64,
- "optional" : 1,
- "type" : "string"
- },
- "endpoint" : {
- "description" : "List of included endpoints",
- "items" : {
+ "items" : {
+ "properties" : {
+ "author" : {
+ "description" : "Author of the mail. Defaults to 'Proxmox VE'.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "comment" : {
+ "description" : "Comment",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "from-address" : {
+ "description" : "`From` address for the mail",
+ "type" : "string"
+ },
+ "mailto" : {
+ "description" : "List of email recipients",
+ "items" : {
+ "format" : "email-or-username",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "mailto-user" : {
+ "description" : "List of users",
+ "items" : {
+ "format" : "pve-userid",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "mode" : {
+ "default" : "tls",
+ "description" : "Determine which encryption method shall be used for the connection.",
+ "enum" : [
+ "insecure",
+ "starttls",
+ "tls"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "name" : {
+ "description" : "The name of the endpoint.",
"format" : "pve-configid",
"type" : "string"
},
- "type" : "array"
- },
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
- "optional" : 1,
- "type" : "string"
+ "origin" : {
+ "description" : "Show if this entry was created by a user or was built-in",
+ "enum" : [
+ "user-created",
+ "builtin",
+ "modified-builtin"
+ ],
+ "type" : "string"
+ },
+ "port" : {
+ "description" : "The port to be used. Defaults to 465 for TLS based connections, 587 for STARTTLS based connections and port 25 for insecure plain-text connections.",
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "server" : {
+ "description" : "The address of the SMTP server.",
+ "type" : "string"
+ },
+ "username" : {
+ "description" : "Username for SMTP authentication",
+ "optional" : 1,
+ "type" : "string"
+ }
},
- "name" : {
- "description" : "Name of the group.",
- "format" : "pve-configid",
- "type" : "string"
- }
+ "type" : "object"
},
- "type" : "object"
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
}
},
- "PUT" : {
+ "POST" : {
"allowtoken" : 1,
- "description" : "Update existing group",
- "method" : "PUT",
- "name" : "update_group",
+ "description" : "Create a new smtp endpoint",
+ "method" : "POST",
+ "name" : "create_smtp_endpoint",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "author" : {
+ "description" : "Author of the mail. Defaults to 'Proxmox VE'.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"comment" : {
"description" : "Comment",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "delete" : {
- "description" : "A list of settings you want to delete.",
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this target",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "from-address" : {
+ "description" : "`From` address for the mail",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mailto" : {
+ "description" : "List of email recipients",
"items" : {
- "format" : "pve-configid",
+ "format" : "email-or-username",
"type" : "string"
},
"optional" : 1,
"type" : "array",
"typetext" : "<array>"
},
- "digest" : {
- "description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
- "maxLength" : 64,
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "endpoint" : {
- "description" : "List of included endpoints",
+ "mailto-user" : {
+ "description" : "List of users",
"items" : {
- "format" : "pve-configid",
+ "format" : "pve-userid",
"type" : "string"
},
"optional" : 1,
"type" : "array",
"typetext" : "<array>"
},
- "filter" : {
- "description" : "Name of the filter that should be applied.",
+ "mode" : {
+ "default" : "tls",
+ "description" : "Determine which encryption method shall be used for the connection.",
+ "enum" : [
+ "insecure",
+ "starttls",
+ "tls"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "name" : {
+ "description" : "The name of the endpoint.",
"format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "password" : {
+ "description" : "Password for SMTP authentication",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
- "name" : {
- "description" : "Name of the group.",
- "format" : "pve-configid",
+ "port" : {
+ "description" : "The port to be used. Defaults to 465 for TLS based connections, 587 for STARTTLS based connections and port 25 for insecure plain-text connections.",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "server" : {
+ "description" : "The address of the SMTP server.",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "username" : {
+ "description" : "Username for SMTP authentication",
+ "optional" : 1,
"type" : "string",
"typetext" : "<string>"
}
},
"permissions" : {
"check" : [
- "perm",
- "/mapping/notification/{name}",
+ "or",
[
- "Mapping.Modify"
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Modify"
+ ]
]
]
},
}
}
},
- "leaf" : 1,
- "path" : "/cluster/notifications/groups/{name}",
- "text" : "{name}"
+ "leaf" : 0,
+ "path" : "/cluster/notifications/endpoints/smtp",
+ "text" : "smtp"
}
],
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "Returns a list of all groups",
+ "description" : "Index for all available endpoint types.",
"method" : "GET",
- "name" : "get_groups",
+ "name" : "endpoints_index",
"parameters" : {
"additionalProperties" : 0
},
"permissions" : {
- "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'.",
"user" : "all"
},
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/notifications/endpoints",
+ "text" : "endpoints"
+ },
+ {
+ "children" : [
+ {
+ "children" : [
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Send a test notification to a provided target.",
+ "method" : "POST",
+ "name" : "test_target",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "name" : {
+ "description" : "Name of the target.",
+ "format" : "pve-configid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "or",
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Modify"
+ ]
+ ],
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Audit"
+ ]
+ ],
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Use"
+ ]
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/notifications/targets/{name}/test",
+ "text" : "test"
+ }
+ ],
+ "leaf" : 0,
+ "path" : "/cluster/notifications/targets/{name}",
+ "text" : "{name}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Returns a list of all entities that can be used as notification targets.",
+ "method" : "GET",
+ "name" : "get_all_targets",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "or",
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Modify"
+ ]
+ ],
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Audit"
+ ]
+ ],
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Use"
+ ]
+ ]
+ ]
+ },
"protected" : 1,
"returns" : {
"items" : {
"optional" : 1,
"type" : "string"
},
- "endpoint" : {
- "description" : "List of included endpoints",
- "items" : {
- "format" : "pve-configid",
- "type" : "string"
- },
- "type" : "array"
- },
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
+ "disable" : {
+ "default" : 0,
+ "description" : "Show if this target is disabled",
"optional" : 1,
- "type" : "string"
+ "type" : "boolean"
},
"name" : {
- "description" : "Name of the group.",
+ "description" : "Name of the target.",
"format" : "pve-configid",
"type" : "string"
+ },
+ "origin" : {
+ "description" : "Show if this entry was created by a user or was built-in",
+ "enum" : [
+ "user-created",
+ "builtin",
+ "modified-builtin"
+ ],
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "Type of the target.",
+ "enum" : [
+ "sendmail",
+ "gotify",
+ "smtp"
+ ],
+ "type" : "string"
}
},
"type" : "object"
],
"type" : "array"
}
- },
- "POST" : {
- "allowtoken" : 1,
- "description" : "Create a new group",
- "method" : "POST",
- "name" : "create_group",
- "parameters" : {
- "additionalProperties" : 0,
- "properties" : {
- "comment" : {
- "description" : "Comment",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "endpoint" : {
- "description" : "List of included endpoints",
- "items" : {
- "format" : "pve-configid",
- "type" : "string"
- },
- "type" : "array",
- "typetext" : "<array>"
- },
- "filter" : {
- "description" : "Name of the filter that should be applied.",
- "format" : "pve-configid",
- "optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
- },
- "name" : {
- "description" : "Name of the group.",
- "format" : "pve-configid",
- "type" : "string",
- "typetext" : "<string>"
- }
- }
- },
- "permissions" : {
- "check" : [
- "perm",
- "/mapping/notification",
- [
- "Mapping.Modify"
- ]
- ]
- },
- "protected" : 1,
- "returns" : {
- "type" : "null"
- }
}
},
"leaf" : 0,
- "path" : "/cluster/notifications/groups",
- "text" : "groups"
+ "path" : "/cluster/notifications/targets",
+ "text" : "targets"
},
{
"children" : [
"info" : {
"DELETE" : {
"allowtoken" : 1,
- "description" : "Remove filter",
+ "description" : "Remove matcher",
"method" : "DELETE",
- "name" : "delete_filter",
+ "name" : "delete_matcher",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"permissions" : {
"check" : [
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
},
"GET" : {
"allowtoken" : 1,
- "description" : "Return a specific filter",
+ "description" : "Return a specific matcher",
"method" : "GET",
- "name" : "get_filter",
+ "name" : "get_matcher",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"or",
[
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
],
[
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Audit"
]
"optional" : 1,
"type" : "string"
},
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this matcher",
+ "optional" : 1,
+ "type" : "boolean"
+ },
"invert-match" : {
- "description" : "Invert match of the whole filter",
+ "description" : "Invert match of the whole matcher",
"optional" : 1,
"type" : "boolean"
},
- "min-severity" : {
- "description" : "Minimum severity to match",
- "enum" : [
- "info",
- "notice",
- "warning",
- "error"
- ],
+ "match-calendar" : {
+ "description" : "Match notification timestamp",
+ "items" : {
+ "type" : "string"
+ },
"optional" : 1,
- "type" : "string"
+ "type" : "array"
+ },
+ "match-field" : {
+ "description" : "Metadata fields to match (regex or exact match). Must be in the form (regex|exact):<field>=<value>",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "match-severity" : {
+ "description" : "Notification severities to match",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
},
"mode" : {
- "default" : "and",
- "description" : "Choose between 'and' and 'or' for when multiple properties are specified",
+ "default" : "all",
+ "description" : "Choose between 'all' and 'any' for when multiple properties are specified",
"enum" : [
- "and",
- "or"
+ "all",
+ "any"
],
"optional" : 1,
"type" : "string"
},
"name" : {
- "description" : "Name of the endpoint.",
+ "description" : "Name of the matcher.",
"format" : "pve-configid",
"type" : "string"
+ },
+ "target" : {
+ "description" : "Targets to notify on match",
+ "items" : {
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
}
},
"type" : "object"
},
"PUT" : {
"allowtoken" : 1,
- "description" : "Update existing filter",
+ "description" : "Update existing matcher",
"method" : "PUT",
- "name" : "update_filter",
+ "name" : "update_matcher",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"type" : "string",
"typetext" : "<string>"
},
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this matcher",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"invert-match" : {
- "description" : "Invert match of the whole filter",
+ "description" : "Invert match of the whole matcher",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
- "min-severity" : {
- "description" : "Minimum severity to match",
- "enum" : [
- "info",
- "notice",
- "warning",
- "error"
- ],
+ "match-calendar" : {
+ "description" : "Match notification timestamp",
+ "items" : {
+ "type" : "string"
+ },
"optional" : 1,
- "type" : "string"
+ "type" : "array",
+ "typetext" : "<array>"
+ },
+ "match-field" : {
+ "description" : "Metadata fields to match (regex or exact match). Must be in the form (regex|exact):<field>=<value>",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
+ },
+ "match-severity" : {
+ "description" : "Notification severities to match",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
},
"mode" : {
- "default" : "and",
- "description" : "Choose between 'and' and 'or' for when multiple properties are specified",
+ "default" : "all",
+ "description" : "Choose between 'all' and 'any' for when multiple properties are specified",
"enum" : [
- "and",
- "or"
+ "all",
+ "any"
],
"optional" : 1,
"type" : "string"
},
"name" : {
- "description" : "Name of the endpoint.",
+ "description" : "Name of the matcher.",
"format" : "pve-configid",
"type" : "string",
"typetext" : "<string>"
+ },
+ "target" : {
+ "description" : "Targets to notify on match",
+ "items" : {
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
}
}
},
"permissions" : {
"check" : [
"perm",
- "/mapping/notification/{name}",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
}
},
"leaf" : 1,
- "path" : "/cluster/notifications/filters/{name}",
+ "path" : "/cluster/notifications/matchers/{name}",
"text" : "{name}"
}
],
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "Returns a list of all filters",
+ "description" : "Returns a list of all matchers",
"method" : "GET",
- "name" : "get_filters",
+ "name" : "get_matchers",
"parameters" : {
"additionalProperties" : 0
},
"permissions" : {
- "description" : "Only lists entries where you have 'Mapping.Modify', 'Mapping.Use' or 'Mapping.Audit' permissions on '/mapping/notification/<name>'.",
- "user" : "all"
+ "check" : [
+ "or",
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Modify"
+ ]
+ ],
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Audit"
+ ]
+ ],
+ [
+ "perm",
+ "/mapping/notifications",
+ [
+ "Mapping.Use"
+ ]
+ ]
+ ]
},
"protected" : 1,
"returns" : {
"optional" : 1,
"type" : "string"
},
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this matcher",
+ "optional" : 1,
+ "type" : "boolean"
+ },
"invert-match" : {
- "description" : "Invert match of the whole filter",
+ "description" : "Invert match of the whole matcher",
"optional" : 1,
"type" : "boolean"
},
- "min-severity" : {
- "description" : "Minimum severity to match",
- "enum" : [
- "info",
- "notice",
- "warning",
- "error"
- ],
+ "match-calendar" : {
+ "description" : "Match notification timestamp",
+ "items" : {
+ "type" : "string"
+ },
"optional" : 1,
- "type" : "string"
+ "type" : "array"
+ },
+ "match-field" : {
+ "description" : "Metadata fields to match (regex or exact match). Must be in the form (regex|exact):<field>=<value>",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "match-severity" : {
+ "description" : "Notification severities to match",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
},
"mode" : {
- "default" : "and",
- "description" : "Choose between 'and' and 'or' for when multiple properties are specified",
+ "default" : "all",
+ "description" : "Choose between 'all' and 'any' for when multiple properties are specified",
"enum" : [
- "and",
- "or"
+ "all",
+ "any"
],
"optional" : 1,
"type" : "string"
},
"name" : {
- "description" : "Name of the endpoint.",
+ "description" : "Name of the matcher.",
"format" : "pve-configid",
"type" : "string"
+ },
+ "origin" : {
+ "description" : "Show if this entry was created by a user or was built-in",
+ "enum" : [
+ "user-created",
+ "builtin",
+ "modified-builtin"
+ ],
+ "type" : "string"
+ },
+ "target" : {
+ "description" : "Targets to notify on match",
+ "items" : {
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
}
},
"type" : "object"
},
"POST" : {
"allowtoken" : 1,
- "description" : "Create a new filter",
+ "description" : "Create a new matcher",
"method" : "POST",
- "name" : "create_filter",
+ "name" : "create_matcher",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
"type" : "string",
"typetext" : "<string>"
},
+ "disable" : {
+ "default" : 0,
+ "description" : "Disable this matcher",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"invert-match" : {
- "description" : "Invert match of the whole filter",
+ "description" : "Invert match of the whole matcher",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
},
- "min-severity" : {
- "description" : "Minimum severity to match",
- "enum" : [
- "info",
- "notice",
- "warning",
- "error"
- ],
+ "match-calendar" : {
+ "description" : "Match notification timestamp",
+ "items" : {
+ "type" : "string"
+ },
"optional" : 1,
- "type" : "string"
+ "type" : "array",
+ "typetext" : "<array>"
+ },
+ "match-field" : {
+ "description" : "Metadata fields to match (regex or exact match). Must be in the form (regex|exact):<field>=<value>",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
+ },
+ "match-severity" : {
+ "description" : "Notification severities to match",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
},
"mode" : {
- "default" : "and",
- "description" : "Choose between 'and' and 'or' for when multiple properties are specified",
+ "default" : "all",
+ "description" : "Choose between 'all' and 'any' for when multiple properties are specified",
"enum" : [
- "and",
- "or"
+ "all",
+ "any"
],
"optional" : 1,
"type" : "string"
},
"name" : {
- "description" : "Name of the endpoint.",
+ "description" : "Name of the matcher.",
"format" : "pve-configid",
"type" : "string",
"typetext" : "<string>"
+ },
+ "target" : {
+ "description" : "Targets to notify on match",
+ "items" : {
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
}
}
},
"permissions" : {
"check" : [
"perm",
- "/mapping/notification",
+ "/mapping/notifications",
[
"Mapping.Modify"
]
}
},
"leaf" : 0,
- "path" : "/cluster/notifications/filters",
- "text" : "filters"
+ "path" : "/cluster/notifications/matchers",
+ "text" : "matchers"
}
],
"info" : {
"typetext" : "<string>"
},
"exclude-path" : {
- "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
+ "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
"items" : {
"type" : "string"
},
"type" : "array",
"typetext" : "<array>"
},
+ "fleecing" : {
+ "description" : "Options for backup fleecing (VM only).",
+ "format" : "backup-fleecing",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[[enabled=]<1|0>] [,storage=<storage ID>]"
+ },
"id" : {
"description" : "The job ID.",
"maxLength" : 50,
},
"mailnotification" : {
"default" : "always",
- "description" : "Deprecated: use 'notification-policy' instead.",
+ "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail",
"enum" : [
"always",
"failure"
"type" : "string"
},
"mailto" : {
- "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option is set at the same time.",
+ "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.",
"format" : "email-or-username-list",
"optional" : 1,
"type" : "string",
"type" : "string",
"typetext" : "<string>"
},
+ "notification-mode" : {
+ "default" : "auto",
+ "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.",
+ "enum" : [
+ "auto",
+ "legacy-sendmail",
+ "notification-system"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"notification-policy" : {
"default" : "always",
- "description" : "Specify when to send a notification",
+ "description" : "Deprecated: Do not use",
"enum" : [
"always",
"failure",
"type" : "string"
},
"notification-target" : {
- "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are set, the 'mailto' option will be ignored.",
+ "description" : "Deprecated: Do not use",
"format" : "pve-configid",
"optional" : 1,
"type" : "string",
"storage" : {
"description" : "Store resulting file to this storage.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"tmpdir" : {
"description" : "Store temporary files to specified directory.",
},
"zstd" : {
"default" : 1,
- "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+ "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.",
"optional" : 1,
"type" : "integer",
"typetext" : "<integer>"
"typetext" : "<string>"
},
"exclude-path" : {
- "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
+ "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
"items" : {
"type" : "string"
},
"type" : "array",
"typetext" : "<array>"
},
+ "fleecing" : {
+ "description" : "Options for backup fleecing (VM only).",
+ "format" : "backup-fleecing",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[[enabled=]<1|0>] [,storage=<storage ID>]"
+ },
"id" : {
"description" : "Job ID (will be autogenerated).",
"format" : "pve-configid",
},
"mailnotification" : {
"default" : "always",
- "description" : "Deprecated: use 'notification-policy' instead.",
+ "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail",
"enum" : [
"always",
"failure"
"type" : "string"
},
"mailto" : {
- "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option is set at the same time.",
+ "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.",
"format" : "email-or-username-list",
"optional" : 1,
"type" : "string",
"type" : "string",
"typetext" : "<string>"
},
+ "notification-mode" : {
+ "default" : "auto",
+ "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.",
+ "enum" : [
+ "auto",
+ "legacy-sendmail",
+ "notification-system"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"notification-policy" : {
"default" : "always",
- "description" : "Specify when to send a notification",
+ "description" : "Deprecated: Do not use",
"enum" : [
"always",
"failure",
"type" : "string"
},
"notification-target" : {
- "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are set, the 'mailto' option will be ignored.",
+ "description" : "Deprecated: Do not use",
"format" : "pve-configid",
"optional" : 1,
"type" : "string",
"storage" : {
"description" : "Store resulting file to this storage.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"tmpdir" : {
"description" : "Store temporary files to specified directory.",
},
"zstd" : {
"default" : 1,
- "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+ "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.",
"optional" : 1,
"type" : "integer",
"typetext" : "<integer>"
"ad",
"ali",
"anx",
+ "artfiles",
"arvan",
"aurora",
"autodns",
"aws",
"azion",
"azure",
+ "bookmyname",
"bunny",
"cf",
"clouddns",
"desec",
"df",
"dgon",
+ "dnsexit",
"dnshome",
"dnsimple",
"dnsservices",
"servercow",
"simply",
"tele3",
+ "tencent",
"transip",
"udr",
"ultra",
"ad",
"ali",
"anx",
+ "artfiles",
"arvan",
"aurora",
"autodns",
"aws",
"azion",
"azure",
+ "bookmyname",
"bunny",
"cf",
"clouddns",
"desec",
"df",
"dgon",
+ "dnsexit",
"dnshome",
"dnsimple",
"dnsservices",
"servercow",
"simply",
"tele3",
+ "tencent",
"transip",
"udr",
"ultra",
"pattern" : "^https?://.*",
"type" : "string"
},
+ "eab-hmac-key" : {
+ "description" : "HMAC key for External Account Binding.",
+ "optional" : 1,
+ "requires" : "eab-kid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "eab-kid" : {
+ "description" : "Key Identifier for External Account Binding.",
+ "optional" : 1,
+ "requires" : "eab-hmac-key",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"name" : {
"default" : "default",
"description" : "ACME account config file name.",
"info" : {
"GET" : {
"allowtoken" : 1,
- "description" : "Retrieve ACME TermsOfService URL from CA.",
+ "description" : "Retrieve ACME TermsOfService URL from CA. Deprecated, please use /cluster/acme/meta.",
"method" : "GET",
"name" : "get_tos",
"parameters" : {
"path" : "/cluster/acme/tos",
"text" : "tos"
},
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Retrieve ACME Directory Meta Information",
+ "method" : "GET",
+ "name" : "get_meta",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "directory" : {
+ "default" : "https://acme-v02.api.letsencrypt.org/directory",
+ "description" : "URL of ACME CA directory endpoint.",
+ "optional" : 1,
+ "pattern" : "^https?://.*",
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/nodes/{node}",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "returns" : {
+ "additionalProperties" : 1,
+ "properties" : {
+ "caaIdentities" : {
+ "description" : "Hostnames referring to the ACME servers.",
+ "items" : {
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
+ "externalAccountRequired" : {
+ "description" : "EAB Required",
+ "optional" : 1,
+ "type" : "boolean"
+ },
+ "termsOfService" : {
+ "description" : "ACME TermsOfService URL.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "website" : {
+ "description" : "URL to more information about the ACME server.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/acme/meta",
+ "text" : "meta"
+ },
{
"info" : {
"GET" : {
"typetext" : "<array>"
},
"mdev" : {
+ "default" : 0,
+ "description" : "Marks the device(s) as being capable of providing mediated devices.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"typetext" : "<array>"
},
"mdev" : {
+ "default" : 0,
+ "description" : "Marks the device(s) as being capable of providing mediated devices.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
}
},
"permissions" : {
- "check" : [
- "perm",
- "/sdn/vnets/{vnet}/subnets",
- [
- "SDN.Allocate"
- ]
- ]
+ "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+ "user" : "all"
},
"protected" : 1,
"returns" : {
}
},
"permissions" : {
- "check" : [
- "perm",
- "/sdn/vnets/{vnet}/subnets/{subnet}",
- [
- "SDN.Allocate"
- ]
- ]
+ "description" : "Require 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
+ "user" : "all"
},
"returns" : {
"type" : "object"
"type" : "string",
"typetext" : "<string>"
},
+ "dhcp-dns-server" : {
+ "description" : "IP address for the DNS server",
+ "format" : "ip",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dhcp-range" : {
+ "description" : "A list of DHCP ranges for this subnet",
+ "items" : {
+ "format" : "pve-sdn-dhcp-range",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
+ },
"digest" : {
"description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
"maxLength" : 64,
"type" : "object"
},
"permissions" : {
- "check" : [
- "perm",
- "/sdn/vnets/{vnet}/subnets",
- [
- "SDN.Allocate"
- ]
- ]
+ "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+ "user" : "all"
},
"protected" : 1,
"returns" : {
}
},
"permissions" : {
- "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/subnets/<subnet>'",
+ "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
"user" : "all"
},
"returns" : {
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "dhcp-dns-server" : {
+ "description" : "IP address for the DNS server",
+ "format" : "ip",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dhcp-range" : {
+ "description" : "A list of DHCP ranges for this subnet",
+ "items" : {
+ "format" : "pve-sdn-dhcp-range",
+ "type" : "string"
+ },
+ "optional" : 1,
+ "type" : "array",
+ "typetext" : "<array>"
+ },
"dnszoneprefix" : {
"description" : "dns domain zone prefix ex: 'adm' -> <hostname>.adm.mydomain.com",
"format" : "dns-name",
},
"type" : "object"
},
+ "permissions" : {
+ "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/sdn/vnets/{vnet}/subnets",
+ "text" : "subnets"
+ },
+ {
+ "info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete IP Mappings in a VNet",
+ "method" : "DELETE",
+ "name" : "ipdelete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "ip" : {
+ "description" : "The IP address to delete",
+ "format" : "ip",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mac" : {
+ "description" : "Unicast MAC address.",
+ "format" : "mac-addr",
+ "format_description" : "XX:XX:XX:XX:XX:XX",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<XX:XX:XX:XX:XX:XX>",
+ "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
+ },
+ "vnet" : {
+ "description" : "The SDN vnet object identifier.",
+ "format" : "pve-sdn-vnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "zone" : {
+ "description" : "The SDN zone object identifier.",
+ "format" : "pve-sdn-zone-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/zones/{zone}/{vnet}",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Create IP Mapping in a VNet",
+ "method" : "POST",
+ "name" : "ipcreate",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "ip" : {
+ "description" : "The IP address to associate with the given MAC address",
+ "format" : "ip",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mac" : {
+ "description" : "Unicast MAC address.",
+ "format" : "mac-addr",
+ "format_description" : "XX:XX:XX:XX:XX:XX",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<XX:XX:XX:XX:XX:XX>",
+ "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
+ },
+ "vnet" : {
+ "description" : "The SDN vnet object identifier.",
+ "format" : "pve-sdn-vnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "zone" : {
+ "description" : "The SDN zone object identifier.",
+ "format" : "pve-sdn-zone-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
"permissions" : {
"check" : [
"perm",
- "/sdn/vnets/{vnet}/subnets",
+ "/sdn/zones/{zone}/{vnet}",
+ [
+ "SDN.Allocate"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update IP Mapping in a VNet",
+ "method" : "PUT",
+ "name" : "ipupdate",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "ip" : {
+ "description" : "The IP address to associate with the given MAC address",
+ "format" : "ip",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mac" : {
+ "description" : "Unicast MAC address.",
+ "format" : "mac-addr",
+ "format_description" : "XX:XX:XX:XX:XX:XX",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<XX:XX:XX:XX:XX:XX>",
+ "verbose_description" : "A common MAC address with the I/G (Individual/Group) bit not set."
+ },
+ "vmid" : {
+ "description" : "The (unique) ID of the VM.",
+ "format" : "pve-vmid",
+ "maximum" : 999999999,
+ "minimum" : 100,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (100 - 999999999)"
+ },
+ "vnet" : {
+ "description" : "The SDN vnet object identifier.",
+ "format" : "pve-sdn-vnet-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "zone" : {
+ "description" : "The SDN zone object identifier.",
+ "format" : "pve-sdn-zone-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/sdn/zones/{zone}/{vnet}",
[
"SDN.Allocate"
]
}
}
},
- "leaf" : 0,
- "path" : "/cluster/sdn/vnets/{vnet}/subnets",
- "text" : "subnets"
+ "leaf" : 1,
+ "path" : "/cluster/sdn/vnets/{vnet}/ips",
+ "text" : "ips"
}
],
"info" : {
}
},
"permissions" : {
- "check" : [
- "perm",
- "/sdn/vnets",
- [
- "SDN.Allocate"
- ]
- ]
+ "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+ "user" : "all"
},
"protected" : 1,
"returns" : {
}
},
"permissions" : {
- "check" : [
- "perm",
- "/sdn/vnets/{vnet}",
- [
- "SDN.Allocate"
- ]
- ]
+ "description" : "Require 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
+ "user" : "all"
},
"returns" : {
"type" : "object"
"type" : "object"
},
"permissions" : {
- "check" : [
- "perm",
- "/sdn/vnets",
- [
- "SDN.Allocate"
- ]
- ]
+ "description" : "Require 'SDN.Allocate' permission on '/sdn/zones/<zone>/<vnet>'",
+ "user" : "all"
},
"protected" : 1,
"returns" : {
}
},
"permissions" : {
- "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/vnets/<vnet>'",
+ "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
"user" : "all"
},
"returns" : {
"permissions" : {
"check" : [
"perm",
- "/sdn/vnets",
+ "/sdn/zones/{zone}",
[
"SDN.Allocate"
]
"permissions" : {
"check" : [
"perm",
- "/sdn/zones",
+ "/sdn/zones/{zone}",
[
"SDN.Allocate"
]
"type" : "string",
"typetext" : "<string>"
},
+ "dhcp" : {
+ "description" : "Type of the DHCP backend for this zone",
+ "enum" : [
+ "dnsmasq"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"digest" : {
"description" : "Prevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications.",
"maxLength" : 64,
"permissions" : {
"check" : [
"perm",
- "/sdn/zones",
+ "/sdn/zones/{zone}",
[
"SDN.Allocate"
]
"returns" : {
"items" : {
"properties" : {
+ "dhcp" : {
+ "optional" : 1,
+ "type" : "string"
+ },
"dns" : {
"optional" : 1,
"type" : "string"
"type" : "string"
},
"pending" : {
- "optional" : 1
+ "optional" : 1,
+ "type" : "boolean"
},
"reversedns" : {
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
+ "dhcp" : {
+ "description" : "Type of the DHCP backend for this zone",
+ "enum" : [
+ "dnsmasq"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"disable-arp-nd-suppression" : {
"description" : "Disable ipv4 arp && ipv6 neighbour discovery suppression",
"optional" : 1,
"type" : "integer",
"typetext" : "<integer>"
},
+ "isis-domain" : {
+ "description" : "ISIS domain.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "isis-ifaces" : {
+ "description" : "ISIS interface.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "isis-net" : {
+ "description" : "ISIS network entity title.",
+ "format" : "pve-sdn-isis-net",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"loopback" : {
"description" : "source loopback interface.",
"optional" : 1,
"enum" : [
"bgp",
"evpn",
- "faucet"
+ "faucet",
+ "isis"
],
"optional" : 1,
"type" : "string"
"type" : "string"
},
"pending" : {
- "optional" : 1
+ "optional" : 1,
+ "type" : "boolean"
},
"state" : {
"optional" : 1,
"type" : "integer",
"typetext" : "<integer>"
},
+ "isis-domain" : {
+ "description" : "ISIS domain.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "isis-ifaces" : {
+ "description" : "ISIS interface.",
+ "format" : "pve-iface-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "isis-net" : {
+ "description" : "ISIS network entity title.",
+ "format" : "pve-sdn-isis-net",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"loopback" : {
"description" : "source loopback interface.",
"optional" : 1,
"enum" : [
"bgp",
"evpn",
- "faucet"
+ "faucet",
+ "isis"
],
"format" : "pve-configid",
"type" : "string"
{
"children" : [
{
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "List PVE IPAM Entries",
+ "method" : "GET",
+ "name" : "ipamindex",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "ipam" : {
+ "description" : "The SDN ipam object identifier.",
+ "format" : "pve-sdn-ipam-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/sdn/zones/<zone>/<vnet>'",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/sdn/ipams/{ipam}/status",
+ "text" : "status"
+ }
+ ],
"info" : {
"DELETE" : {
"allowtoken" : 1,
}
}
},
- "leaf" : 1,
+ "leaf" : 0,
"path" : "/cluster/sdn/ipams/{ipam}",
"text" : "{ipam}"
}
"permissions" : {
"check" : [
"perm",
- "/",
+ "/sdn",
[
"SDN.Audit"
]
"storage" : {
"description" : "The storage identifier (when type == storage).",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string"
},
"language" : {
"description" : "Default GUI language.",
"enum" : [
+ "ar",
"ca",
"da",
"de",
"eu",
"fa",
"fr",
+ "hr",
"he",
"it",
"ja",
+ "ka",
+ "kr",
"nb",
+ "nl",
"nn",
"pl",
"pt_BR",
"sl",
"sv",
"tr",
+ "ukr",
"zh_CN",
"zh_TW"
],
"type" : "string"
},
"mac_prefix" : {
- "description" : "Prefix for autogenerated MAC addresses.",
+ "default" : "BC:24:11",
+ "description" : "Prefix for the auto-generated MAC addresses of virtual guests. The default 'BC:24:11' is the OUI assigned by the IEEE to Proxmox Server Solutions GmbH for a 24-bit large MAC block. You're allowed to use this in local networks, i.e., those not directly reachable by the public (e.g., in a LAN or behind NAT).",
"format" : "mac-prefix",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<string>",
+ "verbose_description" : "Prefix for the auto-generated MAC addresses of virtual guests. The default `BC:24:11` is the Organizationally Unique Identifier (OUI) assigned by the IEEE to Proxmox Server Solutions GmbH for a MAC Address Block Large (MA-L). You're allowed to use this in local networks, i.e., those not directly reachable by the public (e.g., in a LAN or NAT/Masquerading).\n \nNote that when you run multiple cluster that (partially) share the networks of their virtual guests, it's highly recommended that you extend the default MAC prefix, or generate a custom (valid) one, to reduce the chance of MAC collisions. For example, add a separate extra hexadecimal to the Proxmox OUI for each cluster, like `BC:24:11:0` for the first, `BC:24:11:1` for the second, and so on.\n Alternatively, you can also separate the networks of the guests logically, e.g., by using VLANs.\n\nFor publicly accessible guests it's recommended that you get your own https://standards.ieee.org/products-programs/regauth/[OUI from the IEEE] registered or coordinate with your, or your hosting providers, network admins."
},
"max_workers" : {
"description" : "Defines how many workers (per node) are maximal started on actions like 'stopall VMs' or task from the ha-manager.",
"description" : "Cluster-wide notification settings.",
"format" : {
"fencing" : {
- "default" : "always",
- "description" : "Control if notifications about node fencing should be sent.",
+ "description" : "UNUSED - Use datacenter notification settings instead.",
"enum" : [
"always",
"never"
],
"optional" : 1,
- "type" : "string",
- "verbose_description" : "Control if notifications about node fencing should be sent.\n* 'always' always send out notifications\n* 'never' never send out notifications.\nFor production systems, turning off node fencing notifications is notrecommended!\n"
+ "type" : "string"
},
"package-updates" : {
"default" : "auto",
- "description" : "Control when the daily update job should send out notifications.",
+ "description" : "DEPRECATED: Use datacenter notification settings instead. Control when the daily update job should send out notifications.",
"enum" : [
"auto",
"always",
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Control how often the daily update job should send out notifications:\n* 'auto' daily for systems with a valid subscription, as those are assumed to be production-ready and thus should know about pending updates.\n* 'always' every update, if there are new pending updates.\n* 'never' never send a notification for new pending updates.\n"
+ "verbose_description" : "DEPRECATED: Use datacenter notification settings instead.\nControl how often the daily update job should send out notifications:\n* 'auto' daily for systems with a valid subscription, as those are assumed to be production-ready and thus should know about pending updates.\n* 'always' every update, if there are new pending updates.\n* 'never' never send a notification for new pending updates.\n"
},
"replication" : {
- "default" : "always",
- "description" : "Control if notifications for replication failures should be sent.",
+ "description" : "UNUSED - Use datacenter notification settings instead.",
"enum" : [
"always",
"never"
],
"optional" : 1,
- "type" : "string",
- "verbose_description" : "Control if notifications for replication failures should be sent.\n* 'always' always send out notifications\n* 'never' never send out notifications.\nFor production systems, turning off replication notifications is notrecommended!\n"
+ "type" : "string"
},
"target-fencing" : {
- "description" : "Control where notifications about fenced cluster nodes should be sent to.",
+ "description" : "UNUSED - Use datacenter notification settings instead.",
"format_description" : "TARGET",
"optional" : 1,
- "type" : "string",
- "verbose_description" : "Control where notifications about fenced cluster nodes should be sent to. Has to be the name of a notification target (endpoint or notification group). If the 'target-fencing' parameter is not set, the system will send mails to root via a 'sendmail' notification endpoint."
+ "type" : "string"
},
"target-package-updates" : {
- "description" : "Control where notifications about available updates should be sent to.",
+ "description" : "UNUSED - Use datacenter notification settings instead.",
"format_description" : "TARGET",
"optional" : 1,
- "type" : "string",
- "verbose_description" : "Control where notifications about available updates should be sent to. Has to be the name of a notification target (endpoint or notification group). If the 'target-package-updates' parameter is not set, the system will send mails to root via a 'sendmail' notification endpoint."
+ "type" : "string"
},
"target-replication" : {
- "description" : "Control where notifications for failed storage replication jobs should be sent to.",
+ "description" : "UNUSED - Use datacenter notification settings instead.",
"format_description" : "TARGET",
"optional" : 1,
- "type" : "string",
- "verbose_description" : "Control where notifications for failed storage replication jobs should be sent to. Has to be the name of a notification target (endpoint or notification group). If the 'target-replication' parameter is not set, the system will send mails to root via a 'sendmail' notification endpoint."
+ "type" : "string"
}
},
"optional" : 1,
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Controls which tags can be set or deleted on resources a user controls (such as guests). Users with the `Sys.Modify` privilege on `/` are always unrestricted. * 'none' no tags are usable. * 'list' tags from 'user-allow-list' are usable. * 'existing' like list, but already existing tags of resources are also usable.* 'free' no tag restrictions."
+ "verbose_description" : "Controls which tags can be set or deleted on resources a user controls (such as guests). Users with the `Sys.Modify` privilege on `/` are alwaysunrestricted.\n* 'none' no tags are usable.\n* 'list' tags from 'user-allow-list' are usable.\n* 'existing' like list, but already existing tags of resources are also usable.\n* 'free' no tag restrictions.\n"
},
"user-allow-list" : {
"description" : "List of tags users are allowed to set and delete (semicolon separated) for 'user-allow' values 'list' and 'existing'.",
"format" : {
"efitype" : {
"default" : "2m",
- "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarc64 (ARM).",
+ "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarch64 (ARM).",
"enum" : [
"2m",
"4m"
"type" : "string"
},
"machine" : {
- "description" : "Specifies the QEMU machine type.",
- "maxLength" : 40,
+ "description" : "Specify the QEMU machine.",
+ "format" : {
+ "type" : {
+ "default_key" : 1,
+ "description" : "Specifies the QEMU machine type.",
+ "format_description" : "machine type",
+ "maxLength" : 40,
+ "optional" : 1,
+ "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+ "type" : "string"
+ },
+ "viommu" : {
+ "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+ "enum" : [
+ "intel",
+ "virtio"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
"optional" : 1,
- "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
"type" : "string"
},
"memory" : {
- "default" : 512,
- "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
- "minimum" : 16,
+ "description" : "Memory properties.",
+ "format" : {
+ "current" : {
+ "default" : 512,
+ "default_key" : 1,
+ "description" : "Current amount of online RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
+ "minimum" : 16,
+ "type" : "integer"
+ }
+ },
"optional" : 1,
- "type" : "integer"
+ "type" : "string"
},
"migrate_downtime" : {
"default" : 0.1,
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
},
"parallel[n]" : {
"description" : "Map host parallel devices (n is 0 to 2).",
"optional" : 1,
"type" : "string"
},
+ "product" : {
+ "description" : "The drive's product name, up to 16 bytes long.",
+ "format_description" : "product",
+ "optional" : 1,
+ "pattern" : "[A-Za-z0-9\\-_\\s]{,16}",
+ "type" : "string"
+ },
"queues" : {
"description" : "Number of queues.",
"minimum" : 2,
"optional" : 1,
"type" : "string"
},
+ "vendor" : {
+ "description" : "The drive's vendor name, up to 8 bytes long.",
+ "format_description" : "vendor",
+ "optional" : 1,
+ "pattern" : "[A-Za-z0-9\\-_\\s]{,8}",
+ "type" : "string"
+ },
"volume" : {
"alias" : "file"
},
"vga" : {
"description" : "Configure the VGA hardware.",
"format" : {
+ "clipboard" : {
+ "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!",
+ "enum" : [
+ "vnc"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"memory" : {
"description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
"maximum" : 512,
"vmstatestorage" : {
"description" : "Default storage for VM state volumes/files.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string"
},
"format" : {
"efitype" : {
"default" : "2m",
- "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarc64 (ARM).",
+ "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarch64 (ARM).",
"enum" : [
"2m",
"4m"
"type" : "string"
},
"machine" : {
- "description" : "Specifies the QEMU machine type.",
- "maxLength" : 40,
+ "description" : "Specify the QEMU machine.",
+ "format" : {
+ "type" : {
+ "default_key" : 1,
+ "description" : "Specifies the QEMU machine type.",
+ "format_description" : "machine type",
+ "maxLength" : 40,
+ "optional" : 1,
+ "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+ "type" : "string"
+ },
+ "viommu" : {
+ "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+ "enum" : [
+ "intel",
+ "virtio"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
"optional" : 1,
- "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
- "type" : "string"
+ "type" : "string",
+ "typetext" : "[[type=]<machine type>] [,viommu=<intel|virtio>]"
},
"memory" : {
- "default" : 512,
- "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
- "minimum" : 16,
+ "description" : "Memory properties.",
+ "format" : {
+ "current" : {
+ "default" : 512,
+ "default_key" : 1,
+ "description" : "Current amount of online RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
+ "minimum" : 16,
+ "type" : "integer"
+ }
+ },
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (16 - N)"
+ "type" : "string",
+ "typetext" : "[current=]<integer>"
},
"migrate_downtime" : {
"default" : 0.1,
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
},
"parallel[n]" : {
"description" : "Map host parallel devices (n is 0 to 2).",
"optional" : 1,
"type" : "string"
},
+ "product" : {
+ "description" : "The drive's product name, up to 16 bytes long.",
+ "format_description" : "product",
+ "optional" : 1,
+ "pattern" : "[A-Za-z0-9\\-_\\s]{,16}",
+ "type" : "string"
+ },
"queues" : {
"description" : "Number of queues.",
"minimum" : 2,
"optional" : 1,
"type" : "string"
},
+ "vendor" : {
+ "description" : "The drive's vendor name, up to 8 bytes long.",
+ "format_description" : "vendor",
+ "optional" : 1,
+ "pattern" : "[A-Za-z0-9\\-_\\s]{,8}",
+ "type" : "string"
+ },
"volume" : {
"alias" : "file"
},
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,product=<product>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,vendor=<vendor>] [,werror=<enum>] [,wwn=<wwn>]"
},
"scsihw" : {
"default" : "lsi",
"vga" : {
"description" : "Configure the VGA hardware.",
"format" : {
+ "clipboard" : {
+ "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!",
+ "enum" : [
+ "vnc"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"memory" : {
"description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
"maximum" : 512,
},
"optional" : 1,
"type" : "string",
- "typetext" : "[[type=]<enum>] [,memory=<integer>]",
+ "typetext" : "[[type=]<enum>] [,clipboard=<vnc>] [,memory=<integer>]",
"verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
},
"virtio[n]" : {
"vmstatestorage" : {
"description" : "Default storage for VM state volumes/files.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"watchdog" : {
"description" : "Create a virtual hardware watchdog device.",
"format" : {
"efitype" : {
"default" : "2m",
- "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarc64 (ARM).",
+ "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarch64 (ARM).",
"enum" : [
"2m",
"4m"
"type" : "string"
},
"machine" : {
- "description" : "Specifies the QEMU machine type.",
- "maxLength" : 40,
+ "description" : "Specify the QEMU machine.",
+ "format" : {
+ "type" : {
+ "default_key" : 1,
+ "description" : "Specifies the QEMU machine type.",
+ "format_description" : "machine type",
+ "maxLength" : 40,
+ "optional" : 1,
+ "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+ "type" : "string"
+ },
+ "viommu" : {
+ "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+ "enum" : [
+ "intel",
+ "virtio"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
"optional" : 1,
- "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
- "type" : "string"
+ "type" : "string",
+ "typetext" : "[[type=]<machine type>] [,viommu=<intel|virtio>]"
},
"memory" : {
- "default" : 512,
- "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
- "minimum" : 16,
+ "description" : "Memory properties.",
+ "format" : {
+ "current" : {
+ "default" : 512,
+ "default_key" : 1,
+ "description" : "Current amount of online RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
+ "minimum" : 16,
+ "type" : "integer"
+ }
+ },
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (16 - N)"
+ "type" : "string",
+ "typetext" : "[current=]<integer>"
},
"migrate_downtime" : {
"default" : 0.1,
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
},
"parallel[n]" : {
"description" : "Map host parallel devices (n is 0 to 2).",
"optional" : 1,
"type" : "string"
},
+ "product" : {
+ "description" : "The drive's product name, up to 16 bytes long.",
+ "format_description" : "product",
+ "optional" : 1,
+ "pattern" : "[A-Za-z0-9\\-_\\s]{,16}",
+ "type" : "string"
+ },
"queues" : {
"description" : "Number of queues.",
"minimum" : 2,
"optional" : 1,
"type" : "string"
},
+ "vendor" : {
+ "description" : "The drive's vendor name, up to 8 bytes long.",
+ "format_description" : "vendor",
+ "optional" : 1,
+ "pattern" : "[A-Za-z0-9\\-_\\s]{,8}",
+ "type" : "string"
+ },
"volume" : {
"alias" : "file"
},
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,product=<product>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,vendor=<vendor>] [,werror=<enum>] [,wwn=<wwn>]"
},
"scsihw" : {
"default" : "lsi",
"vga" : {
"description" : "Configure the VGA hardware.",
"format" : {
+ "clipboard" : {
+ "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!",
+ "enum" : [
+ "vnc"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"memory" : {
"description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
"maximum" : 512,
},
"optional" : 1,
"type" : "string",
- "typetext" : "[[type=]<enum>] [,memory=<integer>]",
+ "typetext" : "[[type=]<enum>] [,clipboard=<vnc>] [,memory=<integer>]",
"verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
},
"virtio[n]" : {
"vmstatestorage" : {
"description" : "Default storage for VM state volumes/files.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"watchdog" : {
"description" : "Create a virtual hardware watchdog device.",
"typetext" : "<integer> (100 - 999999999)"
},
"websocket" : {
- "description" : "starts websockify instead of vncproxy",
+ "description" : "Prepare for websocket upgrade (only required when using serial terminal, otherwise upgrade is always possible).",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"optional" : 1,
"type" : "boolean"
},
+ "clipboard" : {
+ "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added.",
+ "enum" : [
+ "vnc"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"cpus" : {
"description" : "Maximum usable CPUs.",
"optional" : 1,
"typetext" : "<string>"
},
"machine" : {
- "description" : "Specifies the QEMU machine type.",
- "maxLength" : 40,
+ "description" : "Specify the QEMU machine.",
+ "format" : {
+ "type" : {
+ "default_key" : 1,
+ "description" : "Specifies the QEMU machine type.",
+ "format_description" : "machine type",
+ "maxLength" : 40,
+ "optional" : 1,
+ "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+ "type" : "string"
+ },
+ "viommu" : {
+ "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+ "enum" : [
+ "intel",
+ "virtio"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
"optional" : 1,
- "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
- "type" : "string"
+ "type" : "string",
+ "typetext" : "[[type=]<machine type>] [,viommu=<intel|virtio>]"
},
"migratedfrom" : {
"description" : "The cluster node name.",
"info" : {
"POST" : {
"allowtoken" : 1,
- "description" : "Stop virtual machine. The qemu process will exit immediately. Thisis akin to pulling the power plug of a running computer and may damage the VM data",
+ "description" : "Stop virtual machine. The qemu process will exit immediately. This is akin to pulling the power plug of a running computer and may damage the VM data.",
"method" : "POST",
"name" : "vm_stop",
"parameters" : {
"type" : "string",
"typetext" : "<string>"
},
+ "overrule-shutdown" : {
+ "default" : 0,
+ "description" : "Try to abort active 'qmshutdown' tasks before stopping.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"skiplock" : {
"description" : "Ignore locks - only root is allowed to use this option.",
"optional" : 1,
"info" : {
"POST" : {
"allowtoken" : 1,
- "description" : "Shutdown virtual machine. This is similar to pressing the power button on a physical machine.This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.",
+ "description" : "Shutdown virtual machine. This is similar to pressing the power button on a physical machine. This will send an ACPI event for the guest OS, which should then proceed to a clean shutdown.",
"method" : "POST",
"name" : "vm_shutdown",
"parameters" : {
"statestorage" : {
"description" : "The storage for the VM state",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"requires" : "todisk",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"todisk" : {
"default" : 0,
"storage" : {
"description" : "Target storage for full clone.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"target" : {
"description" : "Target node. Only allowed if the original VM is on shared storage.",
"storage" : {
"description" : "Target storage.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"target-digest" : {
"description" : "Prevent changes if the current config file of the target VM has a\"\n\t\t .\" different SHA1 digest. This can be used to detect concurrent modifications.",
"description" : "Remote target endpoint",
"format" : "proxmox-remote",
"type" : "string",
- "typetext" : "apitoken=<A full Proxmox API token including the secret value.> ,host=<Remote Proxmox hostname or IP> [,fingerprint=<Remote host's certificate fingerprint, if not trusted by system store.>] [,port=<integer>]"
+ "typetext" : "apitoken=<PVEAPIToken=user@realm!token=SECRET> ,host=<ADDRESS> [,fingerprint=<FINGERPRINT>] [,port=<PORT>]"
},
"target-storage" : {
"description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
"format" : {
"efitype" : {
"default" : "2m",
- "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarc64 (ARM).",
+ "description" : "Size and type of the OVMF EFI vars. '4m' is newer and recommended, and required for Secure Boot. For backwards compatibility, '2m' is used if not otherwise specified. Ignored for VMs with arch=aarch64 (ARM).",
"enum" : [
"2m",
"4m"
"typetext" : "<boolean>"
},
"live-restore" : {
- "description" : "Start the VM immediately from the backup and restore in background. PBS only.",
+ "description" : "Start the VM immediately while importing or restoring in the background.",
"optional" : 1,
- "requires" : "archive",
"type" : "boolean",
"typetext" : "<boolean>"
},
"type" : "string"
},
"machine" : {
- "description" : "Specifies the QEMU machine type.",
- "maxLength" : 40,
+ "description" : "Specify the QEMU machine.",
+ "format" : {
+ "type" : {
+ "default_key" : 1,
+ "description" : "Specifies the QEMU machine type.",
+ "format_description" : "machine type",
+ "maxLength" : 40,
+ "optional" : 1,
+ "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
+ "type" : "string"
+ },
+ "viommu" : {
+ "description" : "Enable and set guest vIOMMU variant (Intel vIOMMU needs q35 to be set as machine type).",
+ "enum" : [
+ "intel",
+ "virtio"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
"optional" : 1,
- "pattern" : "(pc|pc(-i440fx)?-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|q35|pc-q35-\\d+(\\.\\d+)+(\\+pve\\d+)?(\\.pxe)?|virt(?:-\\d+(\\.\\d+)+)?(\\+pve\\d+)?)",
- "type" : "string"
+ "type" : "string",
+ "typetext" : "[[type=]<machine type>] [,viommu=<intel|virtio>]"
},
"memory" : {
- "default" : 512,
- "description" : "Amount of RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
- "minimum" : 16,
+ "description" : "Memory properties.",
+ "format" : {
+ "current" : {
+ "default" : 512,
+ "default_key" : 1,
+ "description" : "Current amount of online RAM for the VM in MiB. This is the maximum available memory when you use the balloon device.",
+ "minimum" : 16,
+ "type" : "integer"
+ }
+ },
"optional" : 1,
- "type" : "integer",
- "typetext" : "<integer> (16 - N)"
+ "type" : "string",
+ "typetext" : "[current=]<integer>"
},
"migrate_downtime" : {
"default" : 0.1,
],
"optional" : 1,
"type" : "string",
- "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
+ "verbose_description" : "Specify guest operating system. This is used to enable special\noptimization/features for specific operating systems:\n\n[horizontal]\nother;; unspecified OS\nwxp;; Microsoft Windows XP\nw2k;; Microsoft Windows 2000\nw2k3;; Microsoft Windows 2003\nw2k8;; Microsoft Windows 2008\nwvista;; Microsoft Windows Vista\nwin7;; Microsoft Windows 7\nwin8;; Microsoft Windows 8/2012/2012r2\nwin10;; Microsoft Windows 10/2016/2019\nwin11;; Microsoft Windows 11/2022/2025\nl24;; Linux 2.4 Kernel\nl26;; Linux 2.6 - 6.X Kernel\nsolaris;; Solaris/OpenSolaris/OpenIndiania kernel\n"
},
"parallel[n]" : {
"description" : "Map host parallel devices (n is 0 to 2).",
"optional" : 1,
"type" : "string"
},
+ "product" : {
+ "description" : "The drive's product name, up to 16 bytes long.",
+ "format_description" : "product",
+ "optional" : 1,
+ "pattern" : "[A-Za-z0-9\\-_\\s]{,16}",
+ "type" : "string"
+ },
"queues" : {
"description" : "Number of queues.",
"minimum" : 2,
"optional" : 1,
"type" : "string"
},
+ "vendor" : {
+ "description" : "The drive's vendor name, up to 8 bytes long.",
+ "format_description" : "vendor",
+ "optional" : 1,
+ "pattern" : "[A-Za-z0-9\\-_\\s]{,8}",
+ "type" : "string"
+ },
"volume" : {
"alias" : "file"
},
},
"optional" : 1,
"type" : "string",
- "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,werror=<enum>] [,wwn=<wwn>]"
+ "typetext" : "[file=]<volume> [,aio=<native|threads|io_uring>] [,backup=<1|0>] [,bps=<bps>] [,bps_max_length=<seconds>] [,bps_rd=<bps>] [,bps_rd_max_length=<seconds>] [,bps_wr=<bps>] [,bps_wr_max_length=<seconds>] [,cache=<enum>] [,cyls=<integer>] [,detect_zeroes=<1|0>] [,discard=<ignore|on>] [,format=<enum>] [,heads=<integer>] [,import-from=<source volume>] [,iops=<iops>] [,iops_max=<iops>] [,iops_max_length=<seconds>] [,iops_rd=<iops>] [,iops_rd_max=<iops>] [,iops_rd_max_length=<seconds>] [,iops_wr=<iops>] [,iops_wr_max=<iops>] [,iops_wr_max_length=<seconds>] [,iothread=<1|0>] [,mbps=<mbps>] [,mbps_max=<mbps>] [,mbps_rd=<mbps>] [,mbps_rd_max=<mbps>] [,mbps_wr=<mbps>] [,mbps_wr_max=<mbps>] [,media=<cdrom|disk>] [,product=<product>] [,queues=<integer>] [,replicate=<1|0>] [,rerror=<ignore|report|stop>] [,ro=<1|0>] [,scsiblock=<1|0>] [,secs=<integer>] [,serial=<serial>] [,shared=<1|0>] [,size=<DiskSize>] [,snapshot=<1|0>] [,ssd=<1|0>] [,trans=<none|lba|auto>] [,vendor=<vendor>] [,werror=<enum>] [,wwn=<wwn>]"
},
"scsihw" : {
"default" : "lsi",
"storage" : {
"description" : "Default storage.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"tablet" : {
"default" : 1,
"vga" : {
"description" : "Configure the VGA hardware.",
"format" : {
+ "clipboard" : {
+ "description" : "Enable a specific clipboard. If not set, depending on the display type the SPICE one will be added. Migration with VNC clipboard is not yet supported!",
+ "enum" : [
+ "vnc"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"memory" : {
"description" : "Sets the VGA memory (in MiB). Has no effect with serial display.",
"maximum" : 512,
},
"optional" : 1,
"type" : "string",
- "typetext" : "[[type=]<enum>] [,memory=<integer>]",
+ "typetext" : "[[type=]<enum>] [,clipboard=<vnc>] [,memory=<integer>]",
"verbose_description" : "Configure the VGA Hardware. If you want to use high resolution modes (>= 1280x1024x16) you may need to increase the vga memory option. Since QEMU 2.9 the default VGA display type is 'std' for all OS types besides some Windows versions (XP and older) which use 'cirrus'. The 'qxl' option enables the SPICE display server. For win* OS you can select how many independent displays you want, Linux guests can add displays them self.\nYou can also run without any graphic card, using a serial device as terminal."
},
"virtio[n]" : {
"vmstatestorage" : {
"description" : "Default storage for VM state volumes/files.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"watchdog" : {
"description" : "Create a virtual hardware watchdog device.",
"optional" : 1,
"type" : "string"
},
+ "dev[n]" : {
+ "description" : "Device to pass through to the container",
+ "format" : {
+ "gid" : {
+ "description" : "Group ID to be assigned to the device node",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "mode" : {
+ "description" : "Access mode to be set on the device node",
+ "format_description" : "Octal access mode",
+ "optional" : 1,
+ "pattern" : "0[0-7]{3}",
+ "type" : "string"
+ },
+ "path" : {
+ "default_key" : 1,
+ "description" : "Device to pass through to the container",
+ "format" : "pve-lxc-dev-string",
+ "format_description" : "Path",
+ "optional" : 1,
+ "type" : "string",
+ "verbose_description" : "Path to the device to pass through to the container"
+ },
+ "uid" : {
+ "description" : "User ID to be assigned to the device node",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ }
+ },
+ "optional" : 1,
+ "type" : "string"
+ },
"digest" : {
"description" : "SHA1 digest of configuration file. This can be used to prevent concurrent modifications.",
"type" : "string"
"type" : "string",
"typetext" : "<string>"
},
+ "dev[n]" : {
+ "description" : "Device to pass through to the container",
+ "format" : {
+ "gid" : {
+ "description" : "Group ID to be assigned to the device node",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "mode" : {
+ "description" : "Access mode to be set on the device node",
+ "format_description" : "Octal access mode",
+ "optional" : 1,
+ "pattern" : "0[0-7]{3}",
+ "type" : "string"
+ },
+ "path" : {
+ "default_key" : 1,
+ "description" : "Device to pass through to the container",
+ "format" : "pve-lxc-dev-string",
+ "format_description" : "Path",
+ "optional" : 1,
+ "type" : "string",
+ "verbose_description" : "Path to the device to pass through to the container"
+ },
+ "uid" : {
+ "description" : "User ID to be assigned to the device node",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ }
+ },
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[[path=]<Path>] [,gid=<integer>] [,mode=<Octal access mode>] [,uid=<integer>]"
+ },
"digest" : {
"description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
"maxLength" : 40,
"type" : "string",
"typetext" : "<string>"
},
+ "overrule-shutdown" : {
+ "default" : 0,
+ "description" : "Try to abort active 'vzshutdown' tasks before stopping.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"skiplock" : {
"description" : "Ignore locks - only root is allowed to use this option.",
"optional" : 1,
"description" : "Remote target endpoint",
"format" : "proxmox-remote",
"type" : "string",
- "typetext" : "apitoken=<A full Proxmox API token including the secret value.> ,host=<Remote Proxmox hostname or IP> [,fingerprint=<Remote host's certificate fingerprint, if not trusted by system store.>] [,port=<integer>]"
+ "typetext" : "apitoken=<PVEAPIToken=user@realm!token=SECRET> ,host=<ADDRESS> [,fingerprint=<FINGERPRINT>] [,port=<PORT>]"
},
"target-storage" : {
"description" : "Mapping from source to target storages. Providing only a single storage ID maps all source storages to that storage. Providing the special value '1' will map each source storage to itself.",
"storage" : {
"description" : "Target storage for full clone.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"target" : {
"description" : "Target node. Only allowed if the original VM is on shared storage.",
"storage" : {
"description" : "Target Storage.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"target-digest" : {
"description" : "Prevent changes if current configuration file of the target \" .\n\t\t \"container has a different SHA1 digest. This can be used to prevent \" .\n\t\t \"concurrent modifications.",
]
]
},
- "proxyto" : "node",
+ "proxyto" : "node",
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "delete" : {
+ "description" : "Indicates a pending delete request if present and not 0.",
+ "maximum" : 2,
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "key" : {
+ "description" : "Configuration option name.",
+ "type" : "string"
+ },
+ "pending" : {
+ "description" : "Pending value.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "value" : {
+ "description" : "Current value.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/lxc/{vmid}/pending",
+ "text" : "pending"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get IP addresses of the specified container interface.",
+ "method" : "GET",
+ "name" : "ip",
+ "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",
+ "maximum" : 999999999,
+ "minimum" : 100,
+ "type" : "integer",
+ "typetext" : "<integer> (100 - 999999999)"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/vms/{vmid}",
+ [
+ "VM.Audit"
+ ]
+ ]
+ },
+ "protected" : 1,
"returns" : {
"items" : {
"properties" : {
- "delete" : {
- "description" : "Indicates a pending delete request if present and not 0.",
- "maximum" : 2,
- "minimum" : 0,
- "optional" : 1,
- "type" : "integer"
- },
- "key" : {
- "description" : "Configuration option name.",
+ "hwaddr" : {
+ "description" : "The MAC address of the interface",
+ "optional" : 0,
"type" : "string"
},
- "pending" : {
- "description" : "Pending value.",
+ "inet" : {
+ "description" : "The IPv4 address of the interface",
"optional" : 1,
"type" : "string"
},
- "value" : {
- "description" : "Current value.",
+ "inet6" : {
+ "description" : "The IPv6 address of the interface",
"optional" : 1,
"type" : "string"
+ },
+ "name" : {
+ "description" : "The name of the interface",
+ "optional" : 0,
+ "type" : "string"
}
},
"type" : "object"
}
},
"leaf" : 1,
- "path" : "/nodes/{node}/lxc/{vmid}/pending",
- "text" : "pending"
+ "path" : "/nodes/{node}/lxc/{vmid}/interfaces",
+ "text" : "interfaces"
},
{
"info" : {
"type" : "string",
"typetext" : "<string>"
},
+ "dev[n]" : {
+ "description" : "Device to pass through to the container",
+ "format" : {
+ "gid" : {
+ "description" : "Group ID to be assigned to the device node",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ },
+ "mode" : {
+ "description" : "Access mode to be set on the device node",
+ "format_description" : "Octal access mode",
+ "optional" : 1,
+ "pattern" : "0[0-7]{3}",
+ "type" : "string"
+ },
+ "path" : {
+ "default_key" : 1,
+ "description" : "Device to pass through to the container",
+ "format" : "pve-lxc-dev-string",
+ "format_description" : "Path",
+ "optional" : 1,
+ "type" : "string",
+ "verbose_description" : "Path to the device to pass through to the container"
+ },
+ "uid" : {
+ "description" : "User ID to be assigned to the device node",
+ "minimum" : 0,
+ "optional" : 1,
+ "type" : "integer"
+ }
+ },
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[[path=]<Path>] [,gid=<integer>] [,mode=<Octal access mode>] [,uid=<integer>]"
+ },
"features" : {
"description" : "Allow containers access to advanced features.",
"format" : {
"default" : "local",
"description" : "Default Storage.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"swap" : {
"default" : 512,
"leaf" : 1,
"path" : "/nodes/{node}/ceph/cfg/db",
"text" : "db"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get configured values from either the config file or config DB.",
+ "method" : "GET",
+ "name" : "value",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "config-keys" : {
+ "description" : "List of <section>:<config key> items.",
+ "pattern" : "(?^:^(:?(?^i:[0-9a-z\\-_\\.]+:[0-9a-zA-Z\\-_]+))(:?[;, ](?^i:[0-9a-z\\-_\\.]+:[0-9a-zA-Z\\-_]+))*$)",
+ "type" : "string",
+ "typetext" : "<section>:<config key>[;<section>:<config key>]"
+ },
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "description" : "Contains {section}->{key} children with the values",
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/ceph/cfg/value",
+ "text" : "value"
}
],
"info" : {
"requires" : "db_dev",
"type" : "number",
"typetext" : "<number> (1 - N)",
- "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
+ "verbose_description" : "If a block.db is requested but the size is not given, will be automatically selected by: bluestore_block_db_size from the ceph database (osd or global section) or config (osd or global section) in that order. If this is not available, it will be sized 10% of the size of the OSD device. Fails if the available size is not enough."
},
"dev" : {
"description" : "Block device name.",
"type" : "string",
"typetext" : "<string>"
},
+ "osds-per-device" : {
+ "description" : "OSD services per physical device. Only useful for fast NVMe devices\"\n\t\t .\" to utilize their performance better.",
+ "minimum" : "1",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - N)"
+ },
"wal_dev" : {
"description" : "Block device name for block.wal.",
"optional" : 1,
"requires" : "wal_dev",
"type" : "number",
"typetext" : "<number> (0.5 - N)",
- "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section)in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
+ "verbose_description" : "If a block.wal is requested but the size is not given, will be automatically selected by: bluestore_block_wal_size from the ceph database (osd or global section) or config (osd or global section) in that order. If this is not available, it will be sized 1% of the size of the OSD device. Fails if the available size is not enough."
}
}
},
},
"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.",
+ "description" : "Placement group bits, used to specify the default number of placement groups.\n\nDepreacted. This setting was deprecated in recent Ceph versions.",
"maximum" : 14,
"minimum" : 6,
"optional" : 1,
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
}
}
},
"type" : "string"
},
"exclude-path" : {
- "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
+ "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
"items" : {
"type" : "string"
},
"optional" : 1,
"type" : "array"
},
+ "fleecing" : {
+ "description" : "Options for backup fleecing (VM only).",
+ "format" : "backup-fleecing",
+ "optional" : 1,
+ "type" : "string"
+ },
"ionice" : {
"default" : 7,
"description" : "Set IO priority when using the BFQ scheduler. For snapshot and suspend mode backups of VMs, this only affects the compressor. A value of 8 means the idle priority is used, otherwise the best-effort priority is used with the specified value.",
},
"mailnotification" : {
"default" : "always",
- "description" : "Deprecated: use 'notification-policy' instead.",
+ "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail",
"enum" : [
"always",
"failure"
"type" : "string"
},
"mailto" : {
- "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option is set at the same time.",
+ "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.",
"format" : "email-or-username-list",
"optional" : 1,
"type" : "string"
"requires" : "storage",
"type" : "string"
},
+ "notification-mode" : {
+ "default" : "auto",
+ "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.",
+ "enum" : [
+ "auto",
+ "legacy-sendmail",
+ "notification-system"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"notification-policy" : {
"default" : "always",
- "description" : "Specify when to send a notification",
+ "description" : "Deprecated: Do not use",
"enum" : [
"always",
"failure",
"type" : "string"
},
"notification-target" : {
- "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are set, the 'mailto' option will be ignored.",
+ "description" : "Deprecated: Do not use",
"format" : "pve-configid",
"optional" : 1,
"type" : "string"
"storage" : {
"description" : "Store resulting file to this storage.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string"
},
},
"zstd" : {
"default" : 1,
- "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+ "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.",
"optional" : 1,
"type" : "integer"
}
"typetext" : "<string>"
},
"exclude-path" : {
- "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
+ "description" : "Exclude certain files/directories (shell globs). Paths starting with '/' are anchored to the container's root, other paths match relative to each subdirectory.",
"items" : {
"type" : "string"
},
"type" : "array",
"typetext" : "<array>"
},
+ "fleecing" : {
+ "description" : "Options for backup fleecing (VM only).",
+ "format" : "backup-fleecing",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "[[enabled=]<1|0>] [,storage=<storage ID>]"
+ },
"ionice" : {
"default" : 7,
"description" : "Set IO priority when using the BFQ scheduler. For snapshot and suspend mode backups of VMs, this only affects the compressor. A value of 8 means the idle priority is used, otherwise the best-effort priority is used with the specified value.",
},
"mailnotification" : {
"default" : "always",
- "description" : "Deprecated: use 'notification-policy' instead.",
+ "description" : "Deprecated: use notification targets/matchers instead. Specify when to send a notification mail",
"enum" : [
"always",
"failure"
"type" : "string"
},
"mailto" : {
- "description" : "Comma-separated list of email addresses or users that should receive email notifications. Has no effect if the 'notification-target' option is set at the same time.",
+ "description" : "Deprecated: Use notification targets/matchers instead. Comma-separated list of email addresses or users that should receive email notifications.",
"format" : "email-or-username-list",
"optional" : 1,
"type" : "string",
"type" : "string",
"typetext" : "<string>"
},
+ "notification-mode" : {
+ "default" : "auto",
+ "description" : "Determine which notification system to use. If set to 'legacy-sendmail', vzdump will consider the mailto/mailnotification parameters and send emails to the specified address(es) via the 'sendmail' command. If set to 'notification-system', a notification will be sent via PVE's notification system, and the mailto and mailnotification will be ignored. If set to 'auto' (default setting), an email will be sent if mailto is set, and the notification system will be used if not.",
+ "enum" : [
+ "auto",
+ "legacy-sendmail",
+ "notification-system"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
"notification-policy" : {
"default" : "always",
- "description" : "Specify when to send a notification",
+ "description" : "Deprecated: Do not use",
"enum" : [
"always",
"failure",
"type" : "string"
},
"notification-target" : {
- "description" : "Determine the target to which notifications should be sent. Can either be a notification endpoint or a notification group. This option takes precedence over 'mailto', meaning that if both are set, the 'mailto' option will be ignored.",
+ "description" : "Deprecated: Do not use",
"format" : "pve-configid",
"optional" : 1,
"type" : "string",
"storage" : {
"description" : "Store resulting file to this storage.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"tmpdir" : {
"description" : "Store temporary files to specified directory.",
},
"zstd" : {
"default" : 1,
- "description" : "Zstd threads. N=0 uses half of the available cores, N>0 uses N as thread count.",
+ "description" : "Zstd threads. N=0 uses half of the available cores, if N is set to a value bigger than 0, N is used as thread count.",
"optional" : 1,
"type" : "integer",
"typetext" : "<integer>"
}
},
"permissions" : {
- "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage. The 'tmpdir', 'dumpdir' and 'script' parameters are restricted to the 'root@pam' user. The 'maxfiles' and 'prune-backups' settings require 'Datastore.Allocate' on the backup storage. The 'bwlimit', 'performance' and 'ionice' parameters require 'Sys.Modify' on '/'. If 'notification-target' is set, then the 'Mapping.Use' permission is needed on '/mapping/notification/<target>'.",
+ "description" : "The user needs 'VM.Backup' permissions on any VM, and 'Datastore.AllocateSpace' on the backup storage (and fleecing storage when fleecing is used). The 'tmpdir', 'dumpdir' and 'script' parameters are restricted to the 'root@pam' user. The 'maxfiles' and 'prune-backups' settings require 'Datastore.Allocate' on the backup storage. The 'bwlimit', 'performance' and 'ionice' parameters require 'Sys.Modify' on '/'.",
"user" : "all"
},
"protected" : 1,
"key" : {
"description" : "Proxmox VE subscription key",
"maxLength" : 32,
- "pattern" : "pve([1248])([cbsp])-[0-9a-f]{10}",
+ "pattern" : "\\s*pve([1248])([cbsp])-[0-9a-f]{10}\\s*",
"type" : "string"
},
"node" : {
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"type" : {
"description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"type" : {
"description" : "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"volume" : {
"description" : "Volume identifier",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"volume" : {
"description" : "Volume identifier",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"target" : {
"description" : "Target volume identifier",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"volume" : {
"description" : "Volume identifier",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"vmid" : {
"description" : "Only list images for this VM",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"vmid" : {
"description" : "Specify owner VM",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"volume" : {
"description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
+ },
+ "tar" : {
+ "default" : 0,
+ "description" : "Download dirs as 'tar.zst' instead of 'zip'.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
},
"volume" : {
"description" : "Backup volume ID or name. Currently only PBS snapshots are supported.",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
}
}
},
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"timeframe" : {
"description" : "Specify the time frame you are interested in.",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"timeframe" : {
"description" : "Specify the time frame you are interested in.",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"tmpfilename" : {
"description" : "The source file name. This parameter is usually set by the REST handler. You can only overwrite it when connecting to the trusted port on localhost.",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"url" : {
"description" : "The URL to download the file from.",
]
],
[
- "perm",
- "/",
+ "or",
[
- "Sys.Audit",
- "Sys.Modify"
+ "perm",
+ "/",
+ [
+ "Sys.Audit",
+ "Sys.Modify"
+ ]
+ ],
+ [
+ "perm",
+ "/nodes/{node}",
+ [
+ "Sys.AccessNetwork"
+ ]
]
]
- ]
+ ],
+ "description" : "Requires allocation access on the storage and as this allows one to probe the (local!) host network indirectly it also requires one of Sys.Modify on / (for backwards compatibility) or the newer Sys.AccessNetwork privilege on the node."
},
"protected" : 1,
"proxyto" : "node",
"leaf" : 1,
"path" : "/nodes/{node}/storage/{storage}/download-url",
"text" : "download-url"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "allowtoken" : 1,
+ "description" : "Get the base parameters for creating a guest which imports data from a foreign importable guest, like an ESXi VM",
+ "method" : "GET",
+ "name" : "get_import_metadata",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "storage" : {
+ "description" : "The storage identifier.",
+ "format" : "pve-storage-id",
+ "format_description" : "storage ID",
+ "type" : "string",
+ "typetext" : "<storage ID>"
+ },
+ "volume" : {
+ "description" : "Volume identifier for the guest archive/entry.",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "You need read access for the volume.",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "additionalProperties" : 0,
+ "description" : "Information about how to import a guest.",
+ "properties" : {
+ "create-args" : {
+ "additionalProperties" : 1,
+ "description" : "Parameters which can be used in a call to create a VM or container.",
+ "type" : "object"
+ },
+ "disks" : {
+ "additionalProperties" : 1,
+ "description" : "Recognised disk volumes as `$bus$id` => `$storeid:$path` map.",
+ "optional" : 1,
+ "type" : "object"
+ },
+ "net" : {
+ "additionalProperties" : 1,
+ "description" : "Recognised network interfaces as `net$id` => { ...params } object.",
+ "optional" : 1,
+ "type" : "object"
+ },
+ "source" : {
+ "description" : "The type of the import-source of this guest volume.",
+ "enum" : [
+ "esxi"
+ ],
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "The type of guest this is going to produce.",
+ "enum" : [
+ "vm"
+ ],
+ "type" : "string"
+ },
+ "warnings" : {
+ "description" : "List of known issues that can affect the import of a guest. Note that lack of warning does not imply that there cannot be any problems.",
+ "items" : {
+ "additionalProperties" : 1,
+ "properties" : {
+ "key" : {
+ "description" : "Related subject (config) key of warning.",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "type" : {
+ "description" : "What this warning is about.",
+ "enum" : [
+ "cdrom-image-ignored",
+ "efi-state-lost",
+ "guest-is-running",
+ "nvme-unsupported",
+ "ovmf-with-lsi-unsupported",
+ "serial-port-socket-only"
+ ],
+ "type" : "string"
+ },
+ "value" : {
+ "description" : "Related subject (config) value of warning.",
+ "optional" : 1,
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "optional" : 1,
+ "type" : "array"
+ }
+ },
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/storage/{storage}/import-metadata",
+ "text" : "import-metadata"
}
],
"info" : {
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
}
}
},
"storage" : {
"description" : "Only list status for specified storage",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"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.",
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string"
},
"total" : {
"name" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"node" : {
"description" : "The cluster node name.",
"name" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"node" : {
"description" : "The cluster node name.",
"name" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"node" : {
"description" : "The cluster node name.",
"volume-group" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
}
}
},
"name" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"node" : {
"description" : "The cluster node name.",
"name" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"node" : {
"description" : "The cluster node name.",
"name" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"node" : {
"description" : "The cluster node name.",
"name" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"node" : {
"description" : "The cluster node name.",
"name" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"node" : {
"description" : "The cluster node name.",
"name" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"node" : {
"description" : "The cluster node name.",
"osdid" : {
"type" : "integer"
},
+ "osdid-list" : {
+ "items" : {
+ "type" : "integer"
+ },
+ "type" : "array"
+ },
"parent" : {
"description" : "For partitions only. The device path of the disk the partition resides on.",
"optional" : 1,
},
"notify" : {
"default" : 0,
- "description" : "Send notification mail about new packages (to email address specified for user 'root@pam').",
+ "description" : "Send notification about new packages.",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
[
"Sys.Modify"
]
- ],
- "description" : "If 'notify: target-package-updates' is set, then the user must have the 'Mapping.Use' permission on '/mapping/notification/<target>'"
+ ]
},
"protected" : 1,
"proxyto" : "node",
"optional" : 1,
"type" : "integer"
},
+ "nftables" : {
+ "default" : 0,
+ "description" : "Enable nftables based firewall (tech preview)",
+ "optional" : 1,
+ "type" : "boolean"
+ },
"nosmurfs" : {
"description" : "Enable SMURFS filter.",
"optional" : 1,
"type" : "integer",
"typetext" : "<integer> (30 - 60)"
},
+ "nftables" : {
+ "default" : 0,
+ "description" : "Enable nftables based firewall (tech preview)",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
"node" : {
"description" : "The cluster node name.",
"format" : "pve-node",
"type" : "integer"
},
"wakeonlan" : {
- "description" : "MAC address for wake on LAN",
- "format" : "mac-addr",
+ "description" : "Node specific wake on LAN settings.",
+ "format" : {
+ "bind-interface" : {
+ "default" : "The interface carrying the default route",
+ "description" : "Bind to this interface when sending wake on LAN packet",
+ "format" : "pve-iface",
+ "format_description" : "bind interface",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "broadcast-address" : {
+ "default" : "255.255.255.255",
+ "description" : "IPv4 broadcast address to use when sending wake on LAN packet",
+ "format" : "ipv4",
+ "format_description" : "IPv4 broadcast address",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "mac" : {
+ "default_key" : 1,
+ "description" : "MAC address for wake on LAN",
+ "format" : "mac-addr",
+ "format_description" : "MAC address",
+ "type" : "string"
+ }
+ },
"optional" : 1,
"type" : "string"
}
"typetext" : "<integer> (0 - 300)"
},
"wakeonlan" : {
- "description" : "MAC address for wake on LAN",
- "format" : "mac-addr",
+ "description" : "Node specific wake on LAN settings.",
+ "format" : {
+ "bind-interface" : {
+ "default" : "The interface carrying the default route",
+ "description" : "Bind to this interface when sending wake on LAN packet",
+ "format" : "pve-iface",
+ "format_description" : "bind interface",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "broadcast-address" : {
+ "default" : "255.255.255.255",
+ "description" : "IPv4 broadcast address to use when sending wake on LAN packet",
+ "format" : "ipv4",
+ "format_description" : "IPv4 broadcast address",
+ "optional" : 1,
+ "type" : "string"
+ },
+ "mac" : {
+ "default_key" : 1,
+ "description" : "MAC address for wake on LAN",
+ "format" : "mac-addr",
+ "format_description" : "MAC address",
+ "type" : "string"
+ }
+ },
"optional" : 1,
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "[mac=]<MAC address> [,bind-interface=<bind interface>] [,broadcast-address=<IPv4 broadcast address>]"
}
}
},
},
"proxyto" : "node",
"returns" : {
+ "additionalProperties" : 1,
+ "properties" : {
+ "boot-info" : {
+ "description" : "Meta-information about the boot mode.",
+ "properties" : {
+ "mode" : {
+ "description" : "Through which firmware the system got booted.",
+ "enum" : [
+ "efi",
+ "legacy-bios"
+ ],
+ "type" : "string"
+ },
+ "secureboot" : {
+ "description" : "System is booted in secure mode, only applicable for the \"efi\" mode.",
+ "optional" : 1,
+ "type" : "boolean"
+ }
+ },
+ "type" : "object"
+ },
+ "current-kernel" : {
+ "description" : "The uptime of the system in seconds.",
+ "properties" : {
+ "machine" : {
+ "description" : "Hardware (architecture) type",
+ "type" : "string"
+ },
+ "release" : {
+ "description" : "OS kernel release (e.g., \"6.8.0\")",
+ "type" : "string"
+ },
+ "sysname" : {
+ "description" : "OS kernel name (e.g., \"Linux\")",
+ "type" : "string"
+ },
+ "version" : {
+ "description" : "OS kernel version with build info",
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ }
+ },
"type" : "object"
}
},
"properties" : {
"cmd" : {
"default" : "login",
- "description" : "Run specific command or default to login.",
+ "description" : "Run specific command or default to login (requires 'root@pam')",
"enum" : [
"upgrade",
- "login",
- "ceph_install"
+ "ceph_install",
+ "login"
],
"optional" : 1,
"type" : "string"
[
"Sys.Console"
]
- ],
- "description" : "Restricted to users on realm 'pam'"
+ ]
},
"protected" : 1,
"returns" : {
"properties" : {
"cmd" : {
"default" : "login",
- "description" : "Run specific command or default to login.",
+ "description" : "Run specific command or default to login (requires 'root@pam')",
"enum" : [
"upgrade",
- "login",
- "ceph_install"
+ "ceph_install",
+ "login"
],
"optional" : 1,
"type" : "string"
[
"Sys.Console"
]
- ],
- "description" : "Restricted to users on realm 'pam'"
+ ]
},
"protected" : 1,
"returns" : {
"Sys.Console"
]
],
- "description" : "Restricted to users on realm 'pam'. You also need to pass a valid ticket (vncticket)."
+ "description" : "You also need to pass a valid ticket (vncticket)."
},
"returns" : {
"properties" : {
"properties" : {
"cmd" : {
"default" : "login",
- "description" : "Run specific command or default to login.",
+ "description" : "Run specific command or default to login (requires 'root@pam')",
"enum" : [
"upgrade",
- "login",
- "ceph_install"
+ "ceph_install",
+ "login"
],
"optional" : 1,
"type" : "string"
[
"Sys.Console"
]
- ],
- "description" : "Restricted to users on realm 'pam'"
+ ]
},
"protected" : 1,
"proxyto" : "node",
"storage" : {
"description" : "The storage where the template will be stored",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"template" : {
"description" : "The template which will downloaded",
},
"permissions" : {
"check" : [
- "perm",
- "/",
+ "or",
[
- "Sys.Audit",
- "Sys.Modify"
+ "perm",
+ "/",
+ [
+ "Sys.Audit",
+ "Sys.Modify"
+ ]
+ ],
+ [
+ "perm",
+ "/nodes/{node}",
+ [
+ "Sys.AccessNetwork"
+ ]
]
]
},
"path" : "/nodes/{node}/stopall",
"text" : "stopall"
},
+ {
+ "info" : {
+ "POST" : {
+ "allowtoken" : 1,
+ "description" : "Suspend all VMs.",
+ "method" : "POST",
+ "name" : "suspendall",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "node" : {
+ "description" : "The cluster node name.",
+ "format" : "pve-node",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vms" : {
+ "description" : "Only consider Guests with these IDs.",
+ "format" : "pve-vmid-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "The 'VM.PowerMgmt' permission is required on '/' or on '/vms/<ID>' for each ID passed via the 'vms' parameter. Additionally, you need 'VM.Config.Disk' on the '/vms/{vmid}' path and 'Datastore.AllocateSpace' for the configured state-storage(s)",
+ "user" : "all"
+ },
+ "protected" : 1,
+ "proxyto" : "node",
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/nodes/{node}/suspendall",
+ "text" : "suspendall"
+ },
{
"info" : {
"POST" : {
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
}
}
},
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
}
}
},
"typetext" : "<boolean>"
},
"nodes" : {
- "description" : "List of cluster node names.",
+ "description" : "List of nodes for which the storage configuration applies.",
"format" : "pve-node-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"port" : {
- "default" : 8007,
"description" : "For non default port.",
"maximum" : 65535,
"minimum" : 1,
"typetext" : "<string>"
},
"shared" : {
- "description" : "Mark storage as shared.",
+ "description" : "Indicate that this is a single storage with the same contents on all nodes (or all listed in the 'nodes' option). It will not make the contents of a local storage automatically accessible to other nodes, it just marks an already shared storage as such!",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "skip-cert-verification" : {
+ "default" : "false",
+ "description" : "Disable TLS certificate verification, only enable on fully trusted networks!",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"subdir" : {
"description" : "Subdir to mount.",
"cephfs",
"cifs",
"dir",
+ "esxi",
"glusterfs",
"iscsi",
"iscsidirect",
"cephfs",
"cifs",
"dir",
+ "esxi",
"glusterfs",
"iscsi",
"iscsidirect",
"typetext" : "<boolean>"
},
"nodes" : {
- "description" : "List of cluster node names.",
+ "description" : "List of nodes for which the storage configuration applies.",
"format" : "pve-node-list",
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"port" : {
- "default" : 8007,
"description" : "For non default port.",
"maximum" : 65535,
"minimum" : 1,
"typetext" : "<string>"
},
"shared" : {
- "description" : "Mark storage as shared.",
+ "description" : "Indicate that this is a single storage with the same contents on all nodes (or all listed in the 'nodes' option). It will not make the contents of a local storage automatically accessible to other nodes, it just marks an already shared storage as such!",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "skip-cert-verification" : {
+ "default" : "false",
+ "description" : "Disable TLS certificate verification, only enable on fully trusted networks!",
"optional" : 1,
"type" : "boolean",
"typetext" : "<boolean>"
"storage" : {
"description" : "The storage identifier.",
"format" : "pve-storage-id",
+ "format_description" : "storage ID",
"type" : "string",
- "typetext" : "<string>"
+ "typetext" : "<storage ID>"
},
"subdir" : {
"description" : "Subdir to mount.",
"cephfs",
"cifs",
"dir",
+ "esxi",
"glusterfs",
"iscsi",
"iscsidirect",
"cephfs",
"cifs",
"dir",
+ "esxi",
"glusterfs",
"iscsi",
"iscsidirect",
"additionalProperties" : 0,
"properties" : {
"comment" : {
+ "maxLength" : 2048,
"optional" : 1,
"type" : "string"
},
"email" : {
"format" : "email-opt",
+ "maxLength" : 254,
"optional" : 1,
"type" : "string"
},
"type" : "integer"
},
"firstname" : {
+ "maxLength" : 1024,
"optional" : 1,
"type" : "string"
},
"keys" : {
"description" : "Keys for two factor auth (yubico).",
"optional" : 1,
+ "pattern" : "[0-9a-zA-Z!=]{0,4096}",
"type" : "string"
},
"lastname" : {
+ "maxLength" : 1024,
"optional" : 1,
"type" : "string"
},
"typetext" : "<boolean>"
},
"comment" : {
+ "maxLength" : 2048,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"email" : {
"format" : "email-opt",
+ "maxLength" : 254,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<integer> (0 - N)"
},
"firstname" : {
+ "maxLength" : 1024,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"keys" : {
"description" : "Keys for two factor auth (yubico).",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "[0-9a-zA-Z!=]{0,4096}",
+ "type" : "string"
},
"lastname" : {
+ "maxLength" : 1024,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"items" : {
"properties" : {
"comment" : {
+ "maxLength" : 2048,
"optional" : 1,
"type" : "string"
},
"email" : {
"format" : "email-opt",
+ "maxLength" : 254,
"optional" : 1,
"type" : "string"
},
"type" : "integer"
},
"firstname" : {
+ "maxLength" : 1024,
"optional" : 1,
"type" : "string"
},
"keys" : {
"description" : "Keys for two factor auth (yubico).",
"optional" : 1,
+ "pattern" : "[0-9a-zA-Z!=]{0,4096}",
"type" : "string"
},
"lastname" : {
+ "maxLength" : 1024,
"optional" : 1,
"type" : "string"
},
"additionalProperties" : 0,
"properties" : {
"comment" : {
+ "maxLength" : 2048,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
},
"email" : {
"format" : "email-opt",
+ "maxLength" : 254,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"typetext" : "<integer> (0 - N)"
},
"firstname" : {
+ "maxLength" : 1024,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"keys" : {
"description" : "Keys for two factor auth (yubico).",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "[0-9a-zA-Z!=]{0,4096}",
+ "type" : "string"
},
"lastname" : {
+ "maxLength" : 1024,
"optional" : 1,
"type" : "string",
"typetext" : "<string>"
"optional" : 1,
"type" : "boolean"
},
+ "Sys.AccessNetwork" : {
+ "optional" : 1,
+ "type" : "boolean"
+ },
"Sys.Audit" : {
"optional" : 1,
"type" : "boolean"
"acr-values" : {
"description" : "Specifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "^[^\\x00-\\x1F\\x7F <>#\"]*$",
+ "type" : "string"
},
"autocreate" : {
"default" : 0,
"acr-values" : {
"description" : "Specifies the Authentication Context Class Reference values that theAuthorization Server is being requested to use for the Auth Request.",
"optional" : 1,
- "type" : "string",
- "typetext" : "<string>"
+ "pattern" : "^[^\\x00-\\x1F\\x7F <>#\"]*$",
+ "type" : "string"
},
"autocreate" : {
"default" : 0,
"typetext" : "<string>"
},
"password" : {
- "description" : "The current password.",
+ "description" : "The current password of the user performing the change.",
"maxLength" : 64,
"minLength" : 5,
"optional" : 1,
"typetext" : "<string>"
},
"password" : {
- "description" : "The current password.",
+ "description" : "The current password of the user performing the change.",
"maxLength" : 64,
"minLength" : 5,
"optional" : 1,
"typetext" : "<string>"
},
"password" : {
- "description" : "The current password.",
+ "description" : "The current password of the user performing the change.",
"maxLength" : 64,
"minLength" : 5,
"optional" : 1,
"parameters" : {
"additionalProperties" : 0,
"properties" : {
+ "confirmation-password" : {
+ "description" : "The current password of the user performing the change.",
+ "maxLength" : 64,
+ "minLength" : 5,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
"password" : {
"description" : "The new password.",
"maxLength" : 64,
"info" : {
"DELETE" : {
"allowtoken" : 1,
- "description" : "Delete pool.",
+ "description" : "Delete pool (deprecated, no support for nested pools, use 'DELETE /pools/?poolid={poolid}').",
"method" : "DELETE",
- "name" : "delete_pool",
+ "name" : "delete_pool_deprecated",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
},
"GET" : {
"allowtoken" : 1,
- "description" : "Get pool configuration.",
+ "description" : "Get pool configuration (deprecated, no support for nested pools, use 'GET /pools/?poolid={poolid}').",
"method" : "GET",
"name" : "read_pool",
"parameters" : {
},
"PUT" : {
"allowtoken" : 1,
- "description" : "Update pool data.",
+ "description" : "Update pool data (deprecated, no support for nested pools - use 'PUT /pools/?poolid={poolid}' instead).",
"method" : "PUT",
- "name" : "update_pool",
+ "name" : "update_pool_deprecated",
"parameters" : {
"additionalProperties" : 0,
"properties" : {
}
],
"info" : {
+ "DELETE" : {
+ "allowtoken" : 1,
+ "description" : "Delete pool.",
+ "method" : "DELETE",
+ "name" : "delete_pool",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "poolid" : {
+ "format" : "pve-poolid",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/pool/{poolid}",
+ [
+ "Pool.Allocate"
+ ]
+ ],
+ "description" : "You can only delete empty pools (no members)."
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
"GET" : {
"allowtoken" : 1,
- "description" : "Pool index.",
+ "description" : "List pools or get pool configuration.",
"method" : "GET",
"name" : "index",
"parameters" : {
- "additionalProperties" : 0
+ "additionalProperties" : 0,
+ "properties" : {
+ "poolid" : {
+ "format" : "pve-poolid",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "enum" : [
+ "qemu",
+ "lxc",
+ "storage"
+ ],
+ "optional" : 1,
+ "requires" : "poolid",
+ "type" : "string"
+ }
+ }
},
"permissions" : {
- "description" : "List all pools where you have Pool.Audit permissions on /pool/<pool>.",
+ "description" : "List all pools where you have Pool.Audit permissions on /pool/<pool>, or the pool specific with {poolid}",
"user" : "all"
},
"returns" : {
"items" : {
"properties" : {
+ "comment" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "members" : {
+ "items" : {
+ "additionalProperties" : 1,
+ "properties" : {
+ "id" : {
+ "type" : "string"
+ },
+ "node" : {
+ "type" : "string"
+ },
+ "storage" : {
+ "optional" : 1,
+ "type" : "string"
+ },
+ "type" : {
+ "enum" : [
+ "qemu",
+ "lxc",
+ "openvz",
+ "storage"
+ ],
+ "type" : "string"
+ },
+ "vmid" : {
+ "optional" : 1,
+ "type" : "integer"
+ }
+ },
+ "type" : "object"
+ },
+ "optional" : 1,
+ "type" : "array"
+ },
"poolid" : {
"type" : "string"
}
"returns" : {
"type" : "null"
}
+ },
+ "PUT" : {
+ "allowtoken" : 1,
+ "description" : "Update pool.",
+ "method" : "PUT",
+ "name" : "update_pool",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "allow-move" : {
+ "default" : 0,
+ "description" : "Allow adding a guest even if already in another pool. The guest will be removed from its current pool and added to this one.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "comment" : {
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "default" : 0,
+ "description" : "Remove the passed VMIDs and/or storage IDs instead of adding them.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "poolid" : {
+ "format" : "pve-poolid",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "storage" : {
+ "description" : "List of storage IDs to add or remove from this pool.",
+ "format" : "pve-storage-id-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vms" : {
+ "description" : "List of guest VMIDs to add or remove from this pool.",
+ "format" : "pve-vmid-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/pool/{poolid}",
+ [
+ "Pool.Allocate"
+ ]
+ ],
+ "description" : "You also need the right to modify permissions on any object you add/delete."
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
}
},
"leaf" : 0,