Endpoint reference¶
Every path and method of the PVE API schema that fakepve answers, under /api2/json: 680 methods on 449 paths.
- stateful (hand-written): 177 methods keep state and follow PVE's rules (see How it works).
- generic (from the schema): 503 methods check parameters and permissions as the schema states them and answer with a value of the right shape. A write succeeds and changes nothing.
- routed to a hand-written handler that answers 501: 0 methods whose route is claimed by a stateful family (VM
status/{action}) but whose action is not modelled.
For each method: Access is the permission rule from the schema (evaluated against pve.grant; root is always allowed), Required the parameters that must be sent (path parameters included), and Errors the names that pve.fail(..., error=name) accepts, from the error catalogue. Errors marked "in the task" are raised in a PVE worker: the request succeeds and the task ends with the error.
Besides the listed names, these cross-cutting errors apply, whatever the catalogue says: invalid_ticket and authentication_failure (401, any method that needs a login); invalid_csrf, no_quorum (writes); config_lock_timeout (writes to a QEMU or LXC guest); not_implemented (501); no_route_to_host (595) and hostname_lookup_failed (500) on paths with a {node}; permission_denied (403, methods that are not open to every user).
Contents¶
- access: 25 paths
- cluster: 144 paths
- nodes: 275 paths
- pools: 2 paths
- storage: 2 paths
- version: 1 path
access¶
/access¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/access/acl¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
- PUT: generic (from the schema)
- Access: Permissions.Modify on the given path
- Required:
path,roles(+5 optional) - Errors:
parameter_verification_failed,param_path_invalid_acl_path,role_does_not_exist,param_role_cannot_role_requires,param_role_cannot_role_propagation,param_role_cannot_role_requires_2,group_does_not_exist,user_does_not_exist,not_valid_token_id_not,no_such_token_user,user_name_too_short,user_name_too_long,value_does_not_look_like,no_such_user
/access/domains¶
- GET: generic (from the schema)
- Access: no login
- Required: none
- POST: generic (from the schema)
- Access: /access/realm: Realm.Allocate
- Required:
realm,type(+41 optional) - Errors:
domain_already_exists,unable_use_reserved_name,unable_create_builtin_type,check_connection_parameter_can_only
/access/domains/{realm}¶
- DELETE: generic (from the schema)
- Access: /access/realm: Realm.Allocate
- Required:
realm - Errors:
authentication_domain_does_not_exist - GET: generic (from the schema)
- Access: /access/realm: Realm.Allocate or Sys.Audit
- Required:
realm - Errors:
domain_does_not_exist - PUT: generic (from the schema)
- Access: /access/realm: Realm.Allocate
- Required:
realm(+42 optional) - Errors:
domain_does_not_exist,check_connection_parameter_can_only,no_options_specified
/access/domains/{realm}/sync¶
- POST: generic (from the schema), starts a task
- Access: (/access/realm/{realm}: Realm.AllocateUser and /access/groups: User.Modify)
- Required:
realm(+6 optional) - Errors:
param_realm_realm_does_not,cannot_sync_realm_type_only,param_scope_not_passed_parameter
/access/groups¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
- POST: generic (from the schema)
- Access: /access/groups: Group.Allocate
- Required:
groupid(+1 optional) - Errors:
group_already_exists
/access/groups/{groupid}¶
- DELETE: generic (from the schema)
- Access: /access/groups: Group.Allocate
- Required:
groupid - Errors:
group_does_not_exist - GET: generic (from the schema)
- Access: /access/groups: Sys.Audit or Group.Allocate
- Required:
groupid - Errors:
group_does_not_exist - PUT: generic (from the schema)
- Access: /access/groups: Group.Allocate
- Required:
groupid(+1 optional) - Errors:
group_does_not_exist
/access/openid¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/access/openid/auth-url¶
- POST: generic (from the schema)
- Access: no login
- Required:
realm,redirect-url - Errors:
authentication_domain_does_not_exist,wrong_realm_type_openid
/access/openid/login¶
- POST: generic (from the schema)
- Access: no login
- Required:
code,redirect-url,state - Errors:
authentication_failure
/access/password¶
- PUT: stateful (hand-written)
- Access: (the user itself or (realm of the userid: Realm.AllocateUser and on /access/groups: User.Modify))
- Required:
password,userid(+1 optional) - Errors:
permission_check_failed,no_auth_domain_specified,auth_domain_does_not_exist
/access/permissions¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+2 optional)
- Errors:
not_valid_token_id_not
/access/roles¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
- POST: generic (from the schema)
- Access: /access: Sys.Modify
- Required:
roleid(+1 optional) - Errors:
param_roleid_cannot_use_role,role_already_exists,role_does_not_exist,invalid_privilege
/access/roles/{roleid}¶
- DELETE: generic (from the schema)
- Access: /access: Sys.Modify
- Required:
roleid - Errors:
auto_generated_role_cannot_deleted,role_does_not_exist - GET: generic (from the schema)
- Access: any logged-in user
- Required:
roleid - Errors:
role_does_not_exist - PUT: generic (from the schema)
- Access: /access: Sys.Modify
- Required:
roleid(+2 optional) - Errors:
auto_generated_role_cannot_modified,role_does_not_exist,invalid_privilege
/access/tfa¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/access/tfa/{userid}¶
- GET: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify, Sys.Audit)
- Required:
userid - POST: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify)
- Required:
type,userid(+5 optional) - Errors:
tfa_config_lock_cannot_acquired
/access/tfa/{userid}/{id}¶
- DELETE: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify)
- Required:
id,userid(+1 optional) - Errors:
tfa_config_lock_cannot_acquired - GET: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify, Sys.Audit)
- Required:
id,userid - Errors:
no_such_tfa_entry - PUT: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify)
- Required:
id,userid(+3 optional) - Errors:
tfa_config_lock_cannot_acquired
/access/ticket¶
- GET: generic (from the schema)
- Access: no login
- Required: none
- POST: stateful (hand-written)
- Access: no login
- Required:
password,username(+6 optional) - Errors:
authentication_failure,ambiguous_case_insensitive_match_username
/access/users¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+2 optional)
- POST: generic (from the schema)
- Access: (realm of the userid: Realm.AllocateUser and on /access/groups: User.Modify)
- Required:
userid(+9 optional) - Errors:
user_already_exists,no_such_group,ambiguous_case_insensitive_match_username,no_auth_domain_specified,auth_domain_does_not_exist,user_name_too_short,user_name_too_long,value_does_not_look_like
/access/users/{userid}¶
- DELETE: generic (from the schema)
- Access: (realm of the userid: Realm.AllocateUser and on /access/groups: User.Modify)
- Required:
userid - Errors:
user_name_too_short,user_name_too_long,value_does_not_look_like - GET: generic (from the schema)
- Access: on /access/groups: User.Modify, Sys.Audit
- Required:
userid - Errors:
no_such_user,user_name_too_short,user_name_too_long,value_does_not_look_like - PUT: generic (from the schema)
- Access: on /access/groups: User.Modify
- Required:
userid(+9 optional) - Errors:
no_such_group,no_such_user,user_name_too_short,user_name_too_long,value_does_not_look_like
/access/users/{userid}/tfa¶
- GET: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify, Sys.Audit)
- Required:
userid(+1 optional) - Errors:
auth_domain_does_not_exist,user_name_too_short,user_name_too_long,value_does_not_look_like
/access/users/{userid}/token¶
- GET: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify)
- Required:
userid - Errors:
no_such_user,user_name_too_short,user_name_too_long,value_does_not_look_like
/access/users/{userid}/token/{tokenid}¶
- DELETE: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify)
- Required:
tokenid,userid - Errors:
no_such_token_user,user_name_too_short,user_name_too_long,value_does_not_look_like,no_such_user,value_does_not_look_like_2 - GET: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify)
- Required:
tokenid,userid - Errors:
no_such_token_user,user_name_too_short,user_name_too_long,value_does_not_look_like,no_such_user - POST: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify)
- Required:
tokenid,userid(+3 optional) - Errors:
param_tokenid_token_already_exists,token_already_exists,no_such_token_user,no_such_user,user_name_too_short,user_name_too_long,value_does_not_look_like,value_does_not_look_like_2 - PUT: generic (from the schema)
- Access: (the user itself or on /access/groups: User.Modify)
- Required:
tokenid,userid(+5 optional) - Errors:
param_delete_unknown_option,no_such_token_user,user_name_too_short,user_name_too_long,value_does_not_look_like,no_such_user,value_does_not_look_like_2
/access/users/{userid}/unlock-tfa¶
- PUT: generic (from the schema)
- Access: on /access/groups: User.Modify
- Required:
userid - Errors:
tfa_config_lock_cannot_acquired
/access/vncticket¶
- POST: generic (from the schema)
- Access: no login
- Required:
authid,path,privs,vncticket(+1 optional) - Errors:
authentication_failure
cluster¶
/cluster¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/acme¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/acme/account¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
- POST: generic (from the schema), starts a task
- Access: root only
- Required:
contact(+5 optional) - Errors:
param_name_acme_account_config - Errors in the task:
acme_account_config_file_already,registration_failed
/cluster/acme/account/{name}¶
- DELETE: generic (from the schema), starts a task
- Access: root only
- Required: none (+1 optional)
- Errors:
param_name_acme_account_config - Errors in the task:
acme_account_config_file_does - GET: generic (from the schema)
- Access: root only
- Required: none (+1 optional)
- Errors:
param_name_acme_account_config - PUT: generic (from the schema), starts a task
- Access: root only
- Required: none (+2 optional)
- Errors:
param_name_acme_account_config - Errors in the task:
acme_account_config_file_does
/cluster/acme/challenge-schema¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/acme/directories¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/acme/meta¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required: none (+1 optional)
/cluster/acme/plugins¶
- GET: generic (from the schema)
- Access: /: Sys.Modify
- Required: none (+1 optional)
- Errors:
acme_plugin_not_defined - POST: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id,type(+5 optional) - Errors:
acme_plugin_id_already_exists
/cluster/acme/plugins/{id}¶
- DELETE: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id - GET: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id - Errors:
acme_plugin_not_defined - PUT: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id(+7 optional) - Errors:
acme_plugin_id_does_not,no_such_option,unable_delete_required_option
/cluster/acme/tos¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+1 optional)
/cluster/backup¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
- POST: generic (from the schema)
- Access: /: Sys.Modify
- Required: none (+38 optional)
- Errors:
job_already_exists,param_starttime_starttime_schedule_cannot,param_schedule_neither_starttime_nor,param_all_option_conflicts_option,param_exclude_option_conflicts_option,param_pool_option_conflicts_option,param_notes_template,param_vmid_property_missing,job_state_already_exists,parameter_verification_failed,invalid_json_data
/cluster/backup-info¶
- GET: generic (from the schema)
- Access: root only
- Required: none
/cluster/backup-info/not-backed-up¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
- Errors:
unexpected_error_unknown_guest_type,configuration_file_does_not_exist
/cluster/backup/{id}¶
- DELETE: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id - Errors:
param_id_no_such_job - GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
id - Errors:
param_id_no_such_job - PUT: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id(+38 optional) - Errors:
no_options_specified,no_such_vzdump_job,param_delete_unknown_option,only_root_pam_may_edit,param_starttime_starttime_schedule_cannot,param_schedule_neither_starttime_nor,param_all_option_conflicts_option,param_exclude_option_conflicts_option,param_pool_option_conflicts_option,param_notes_template,param_vmid_property_missing,parameter_verification_failed,invalid_json_data
/cluster/backup/{id}/included_volumes¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
id - Errors:
param_id_no_such_job,vmid_neither_qemu_nor_lxc,configuration_file_does_not_exist,pool_does_not_exist,error_strange_id
/cluster/bulk-action¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/bulk-action/guest¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/bulk-action/guest/migrate¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required:
target(+5 optional) - Errors:
permission_check_failed - Errors in the task:
some_guests_failed_migrate,unknown_guest_type
/cluster/bulk-action/guest/shutdown¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required: none (+5 optional)
- Errors:
permission_check_failed - Errors in the task:
some_guests_failed_shutdown,unknown_guest_type
/cluster/bulk-action/guest/start¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required: none (+4 optional)
- Errors:
permission_check_failed - Errors in the task:
some_guests_failed_start,unknown_guest_type
/cluster/bulk-action/guest/suspend¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required: none (+5 optional)
- Errors:
permission_check_failed - Errors in the task:
some_guests_failed_suspend,unknown_guest_type
/cluster/ceph¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/ceph/flags¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
- Errors:
ceph_not_fully_configured_missing - PUT: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required: none (+11 optional)
- Errors:
ceph_not_fully_configured_missing - Errors in the task:
could_not_set_unset_flags
/cluster/ceph/flags/{flag}¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
flag - Errors:
ceph_not_fully_configured_missing - PUT: generic (from the schema)
- Access: /: Sys.Modify
- Required:
flag,value - Errors:
ceph_not_fully_configured_missing
/cluster/ceph/health-mute¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required: none
- Errors:
ceph_not_fully_configured_missing
/cluster/ceph/health-mute/{code}¶
- PUT: generic (from the schema)
- Access: /: Sys.Modify
- Required:
code,value(+2 optional) - Errors:
param_code_cannot_mute_ceph,param_ttl_not_usable_duration,could_not_mute,ceph_not_fully_configured_missing
/cluster/ceph/metadata¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required: none (+1 optional)
- Errors:
binary_not_installed
/cluster/ceph/restart-bulk¶
- POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
service-type(+4 optional) - Errors:
param_only_outdated_only_supported,binary_not_installed - Errors in the task:
could_not_evaluate_ceph_health,ceph_cluster_has_blocking_health,ceph_cluster_has_blocking_health_2,ceph_reports_blocking_health_err,recovery_did_not_allow_restart,daemon_registered_host_which_not,ceph_reports_not_safe_stop,no_scope_given_lock_cluster,wait_remote_task_timeout_required,polling_remote_task_failed_times,remote_task_ended_status,remote_task_did_not_finish,another_ceph_bulk_restart_already,daemon_did_not_come_up,unknown_daemon_type
/cluster/ceph/status¶
- GET: stateful (hand-written)
- Access: /: Sys.Audit or Datastore.Audit
- Required: none
- Errors:
binary_not_installed
/cluster/config¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
- POST: generic (from the schema), starts a task
- Access: root only
- Required:
clustername(+4 optional) - Errors:
cluster_config_already_exists,no_authentication_key_available,invalid_corosync_config_unable_read,activating_corosync_conf_new_failed,no_name_specified,no_ip_address_specified,can_t_parse,unable_create_directory,unable_create_dir,unable_generate_pve_www_key,unable_generate_pve_ssl_key,generating_pve_root_certificate_failed,no_ip_specified,unable_generate_pve_certificate_request,ca_expires_less_than_weeks,unable_generate_pve_ssl_certificate
/cluster/config/apiversion¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
/cluster/config/join¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none (+1 optional)
- Errors:
not_cluster_no_join_info,unknown - POST: generic (from the schema), starts a task
- Access: root only
- Required:
fingerprint,hostname,password(+4 optional)
/cluster/config/nodes¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
/cluster/config/nodes/{node}¶
- DELETE: generic (from the schema)
- Access: root only
- Required:
node - Errors:
cannot_delete_myself_cluster,ip_not_known_host_cluster,invalid_corosync_config_unable_read,activating_corosync_conf_new_failed,no_authentication_key_available - POST: generic (from the schema)
- Access: root only
- Required:
node(+6 optional) - Errors:
corosync_address_already_used_link,corosync_link_exists_cluster_config,corosync_link_specified_new_doesn,no_links_no_fallback_ip,cluster_has_links_but_only,no_links_given_but_multiple,can_t_add_existing,invalid_corosync_conf,error_unsupported_old_api_version,unable_create_directory,invalid_corosync_config_unable_read,activating_corosync_conf_new_failed,no_authentication_key_available
/cluster/config/qdevice¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
/cluster/config/totem¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
/cluster/firewall¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/firewall/aliases¶
- GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required: none
- Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
cidr,name(+1 optional) - Errors:
param_name_alias_already_exists,implement_subclass
/cluster/firewall/aliases/{name}¶
- DELETE: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
name(+1 optional) - Errors:
implement_subclass - GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required:
name - Errors:
param_name_no_such_alias,implement_subclass - PUT: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
cidr,name(+3 optional) - Errors:
param_name_no_such_alias,param_name_alias_already_exists,implement_subclass
/cluster/firewall/groups¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required: none
- POST: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
group(+3 optional) - Errors:
param_group_security_group_does,param_group_security_group_does_2,param_group_security_group_already,can_t_lock_firewall_config
/cluster/firewall/groups/{group}¶
- DELETE: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
group - Errors:
security_group_not_empty,no_such_security_group - GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required:
group - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
action,group,type(+13 optional) - Errors:
implement_subclass,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/cluster/firewall/groups/{group}/{pos}¶
- DELETE: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
group(+2 optional) - Errors:
no_rule_position,implement_subclass - GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required:
group(+1 optional) - Errors:
no_rule_position,implement_subclass - PUT: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
group(+17 optional) - Errors:
no_rule_position,implement_subclass,param_delete_no_such_property,param_delete_unable_delete_required,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/cluster/firewall/ipset¶
- GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required: none
- Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
name(+3 optional) - Errors:
param_name_ipset_does_not,param_name_ipset_does_already,param_name_ipset_already_exists,implement_subclass
/cluster/firewall/ipset/{name}¶
- DELETE: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
name(+1 optional) - Errors:
ipset_not_empty,implement_subclass - GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required:
name - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
cidr,name(+2 optional) - Errors:
param_cidr_zero_prefix_alias,param_cidr_address_already_exists,param_cidr_zero_prefix_not,implement_subclass,no_such_alias,value_does_not_look_like
/cluster/firewall/ipset/{name}/{cidr}¶
- DELETE: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
cidr,name(+1 optional) - Errors:
implement_subclass - GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required:
cidr,name - Errors:
param_cidr_no_such_ip,implement_subclass - PUT: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
cidr,name(+3 optional) - Errors:
param_cidr_no_such_ip,implement_subclass
/cluster/firewall/macros¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required: none
/cluster/firewall/options¶
- GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required: none
- PUT: stateful (hand-written)
- Access: /: Sys.Modify
- Required: none (+8 optional)
- Errors:
param_delete_no_such_option,no_test_directory_specified,unable_apply_firewall_changes
/cluster/firewall/refs¶
- GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required: none (+1 optional)
/cluster/firewall/rules¶
- GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required: none
- Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /: Sys.Modify
- Required:
action,type(+13 optional) - Errors:
implement_subclass,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/cluster/firewall/rules/{pos}¶
- DELETE: stateful (hand-written)
- Access: /: Sys.Modify
- Required: none (+2 optional)
- Errors:
no_rule_position,implement_subclass - GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required: none (+1 optional)
- Errors:
no_rule_position,implement_subclass - PUT: stateful (hand-written)
- Access: /: Sys.Modify
- Required: none (+17 optional)
- Errors:
no_rule_position,implement_subclass,param_delete_no_such_property,param_delete_unable_delete_required,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/cluster/ha¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
/cluster/ha/groups¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
- Errors:
cannot_index_groups_ha_groups,no_such_ha_group - POST: generic (from the schema)
- Access: /: Sys.Console
- Required:
group,nodes(+4 optional) - Errors:
cannot_create_group_ha_groups,types_does_not_match,ha_group_id_already_defined
/cluster/ha/groups/{group}¶
- DELETE: generic (from the schema)
- Access: /: Sys.Console
- Required:
group - Errors:
cannot_delete_group_ha_groups,ha_group_used_service - GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
group - Errors:
cannot_read_group_ha_groups,no_such_ha_group - PUT: generic (from the schema)
- Access: /: Sys.Console
- Required:
group(+6 optional) - Errors:
cannot_update_group_ha_groups,types_does_not_match,no_such_ha_group,no_such_option,unable_delete_required_option,unable_delete_fixed_option
/cluster/ha/resources¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none (+1 optional)
- Errors:
no_such_resource - POST: generic (from the schema)
- Access: /: Sys.Console
- Required:
sid(+8 optional) - Errors:
types_does_not_match,invalid_parameter_group_ha_groups,resource_id_already_defined,unable_detect_sid_vmid_does,unable_parse_service_id,unknown_pve_resource_type
/cluster/ha/resources/{sid}¶
- DELETE: generic (from the schema)
- Access: /: Sys.Console
- Required:
sid(+1 optional) - Errors:
cannot_delete_service_not_ha,unable_detect_sid_vmid_does,unable_parse_service_id,unknown_pve_resource_type - GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
sid - Errors:
unable_detect_sid_vmid_does,unable_parse_service_id,no_such_resource,unknown_pve_resource_type - PUT: generic (from the schema)
- Access: /: Sys.Console
- Required:
sid(+9 optional) - Errors:
types_does_not_match,invalid_parameter_group_ha_groups,ha_group_does_not_exist,unable_detect_sid_vmid_does,unable_parse_service_id,service_error_state_must_disabled,unknown_pve_resource_type,no_such_resource,no_such_option,unable_delete_required_option,unable_delete_fixed_option
/cluster/ha/resources/{sid}/migrate¶
- POST: generic (from the schema)
- Access: /: Sys.Console
- Required:
node,sid - Errors:
unable_detect_sid_vmid_does,unable_parse_service_id,resource_not_ha_managed,service_error_state_must_disabled,unknown_pve_resource_type
/cluster/ha/resources/{sid}/relocate¶
- POST: generic (from the schema)
- Access: /: Sys.Console
- Required:
node,sid - Errors:
unable_detect_sid_vmid_does,unable_parse_service_id,resource_not_ha_managed,service_error_state_must_disabled,unknown_pve_resource_type
/cluster/ha/rules¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none (+2 optional)
- Errors:
no_such_ha_rule - POST: generic (from the schema)
- Access: /: Sys.Console
- Required: none
- Errors:
cannot_create_ha_rule_ha,ha_rule_already_defined,no_resources_were_specified,cannot_use_unmanaged_resource_s,no_nodes_were_specified,cannot_use_non_existent_s,rule_invalid
/cluster/ha/rules/{rule}¶
- DELETE: generic (from the schema)
- Access: /: Sys.Console
- Required:
rule - GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
rule - Errors:
no_such_ha_rule - PUT: generic (from the schema)
- Access: /: Sys.Console
- Required: none
- Errors:
cannot_update_ha_rule_ha,ha_rule_does_not_exist,no_resources_were_specified,cannot_use_unmanaged_resource_s,no_nodes_were_specified,cannot_use_non_existent_s,rule_invalid
/cluster/ha/status¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/ha/status/arm-ha¶
- POST: generic (from the schema)
- Access: /: Sys.Console
- Required: none
/cluster/ha/status/current¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
- Errors:
undefined
/cluster/ha/status/disarm-ha¶
- POST: generic (from the schema)
- Access: /: Sys.Console
- Required:
resource-mode
/cluster/ha/status/manager_status¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
- Errors:
undefined
/cluster/jobs¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/jobs/realm-sync¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
/cluster/jobs/realm-sync/{id}¶
- DELETE: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id - Errors:
param_id_no_such_job,could_not_delete_state - GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
id - Errors:
param_id_no_such_job - POST: generic (from the schema)
- Access: (/access/realm/{realm}: Realm.AllocateUser and /access/groups: User.Modify)
- Required:
id,schedule(+6 optional) - Errors:
job_already_exists,param_realm_no_such_realm,param_realm_only_ldap_ad - PUT: generic (from the schema)
- Access: (/access/realm/{realm}: Realm.AllocateUser and /access/groups: User.Modify)
- Required:
id,schedule(+6 optional) - Errors:
no_job_options_specified,no_such_realm_sync_job
/cluster/jobs/schedule-analyze¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
schedule(+2 optional) - Errors:
unable_parse_calendar_event_event
/cluster/log¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+1 optional)
/cluster/mapping¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/mapping/dir¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+1 optional)
- Errors:
wrong_check - POST: generic (from the schema)
- Access: /mapping/dir: Mapping.Modify
- Required:
id,map(+1 optional) - Errors:
dir_id_already_defined,specified_times,path_does_not_exist,path_exists_but_not_directory
/cluster/mapping/dir/{id}¶
- DELETE: generic (from the schema)
- Access: /mapping/dir: Mapping.Modify
- Required:
id - GET: generic (from the schema)
- Access: (/mapping/dir/{id}: Mapping.Use or /mapping/dir/{id}: Mapping.Modify or /mapping/dir/{id}: Mapping.Audit)
- Required:
id - Errors:
mapping_not_found - PUT: generic (from the schema)
- Access: /mapping/dir/{id}: Mapping.Modify
- Required:
id(+4 optional) - Errors:
dir_id_does_not_exist,specified_times,path_does_not_exist,path_exists_but_not_directory
/cluster/mapping/pci¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+1 optional)
- Errors:
wrong_check - POST: generic (from the schema)
- Access: /mapping/pci: Mapping.Modify
- Required:
id,map(+3 optional) - Errors:
pci_id_already_defined
/cluster/mapping/pci/{id}¶
- DELETE: generic (from the schema)
- Access: /mapping/pci: Mapping.Modify
- Required:
id - GET: generic (from the schema)
- Access: (/mapping/pci/{id}: Mapping.Use or /mapping/pci/{id}: Mapping.Modify or /mapping/pci/{id}: Mapping.Audit)
- Required:
id - Errors:
mapping_not_found - PUT: generic (from the schema)
- Access: /mapping/pci/{id}: Mapping.Modify
- Required:
id(+6 optional) - Errors:
pci_id_does_not_exist
/cluster/mapping/usb¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+1 optional)
- Errors:
wrong_check - POST: generic (from the schema)
- Access: /mapping/usb: Mapping.Modify
- Required:
id,map(+1 optional) - Errors:
usb_id_already_defined
/cluster/mapping/usb/{id}¶
- DELETE: generic (from the schema)
- Access: /mapping/usb: Mapping.Modify
- Required:
id - GET: generic (from the schema)
- Access: (/mapping/usb/{id}: Mapping.Audit or /mapping/usb/{id}: Mapping.Use or /mapping/usb/{id}: Mapping.Modify)
- Required:
id - Errors:
mapping_not_found - PUT: generic (from the schema)
- Access: /mapping/usb/{id}: Mapping.Modify
- Required:
id,map(+3 optional) - Errors:
usb_id_does_not_exist
/cluster/metrics¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/metrics/export¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none (+4 optional)
- Errors:
requested_list_contains_unknown_nodes
/cluster/metrics/server¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
/cluster/metrics/server/{id}¶
- DELETE: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id - GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
id - Errors:
status_server_entry_does_not - POST: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id,port,server,type(+20 optional) - Errors:
metric_server_already_exists - PUT: generic (from the schema)
- Access: /: Sys.Modify
- Required:
id,port,server(+22 optional) - Errors:
no_such_server,no_such_option,unable_delete_required_option,unable_delete_fixed_option,cannot_set_delete_property_same
/cluster/nextid¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required: none (+1 optional)
- Errors:
param_vmid_already_exists,unable_get_any_free_vmid
/cluster/notifications¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/notifications/endpoints¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/notifications/endpoints/gotify¶
- GET: generic (from the schema)
- Access: /mapping/notifications: Mapping.Audit
- Required: none
- POST: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify and (/: Sys.Audit, Sys.Modify or /: Sys.AccessNetwork))
- Required:
name,server,token(+2 optional)
/cluster/notifications/endpoints/gotify/{name}¶
- DELETE: generic (from the schema)
- Access: /mapping/notifications: Mapping.Modify
- Required:
name - GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit)
- Required:
name - PUT: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify and (/: Sys.Audit, Sys.Modify or /: Sys.AccessNetwork))
- Required:
name(+6 optional)
/cluster/notifications/endpoints/sendmail¶
- GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit)
- Required: none
- POST: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify and (/: Sys.Audit, Sys.Modify or /: Sys.AccessNetwork))
- Required:
name(+6 optional)
/cluster/notifications/endpoints/sendmail/{name}¶
- DELETE: generic (from the schema)
- Access: /mapping/notifications: Mapping.Modify
- Required:
name - GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit)
- Required:
name - PUT: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify and (/: Sys.Audit, Sys.Modify or /: Sys.AccessNetwork))
- Required:
name(+8 optional)
/cluster/notifications/endpoints/smtp¶
- GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit)
- Required: none
- POST: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify and (/: Sys.Audit, Sys.Modify or /: Sys.AccessNetwork))
- Required:
from-address,name,server(+9 optional)
/cluster/notifications/endpoints/smtp/{name}¶
- DELETE: generic (from the schema)
- Access: /mapping/notifications: Mapping.Modify
- Required:
name - GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit)
- Required:
name - PUT: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify and (/: Sys.Audit, Sys.Modify or /: Sys.AccessNetwork))
- Required:
name(+13 optional)
/cluster/notifications/endpoints/webhook¶
- GET: generic (from the schema)
- Access: /mapping/notifications: Mapping.Audit
- Required: none
- POST: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify and (/: Sys.Audit, Sys.Modify or /: Sys.AccessNetwork))
- Required:
method,name,url(+5 optional)
/cluster/notifications/endpoints/webhook/{name}¶
- DELETE: generic (from the schema)
- Access: /mapping/notifications: Mapping.Modify
- Required:
name - GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit)
- Required:
name - PUT: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify and (/: Sys.Audit, Sys.Modify or /: Sys.AccessNetwork))
- Required:
name(+9 optional)
/cluster/notifications/matcher-field-values¶
- GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit)
- Required: none
/cluster/notifications/matcher-fields¶
- GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit)
- Required: none
/cluster/notifications/matchers¶
- GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit or /mapping/notifications: Mapping.Use)
- Required: none
- POST: generic (from the schema)
- Access: /mapping/notifications: Mapping.Modify
- Required:
name(+8 optional)
/cluster/notifications/matchers/{name}¶
- DELETE: generic (from the schema)
- Access: /mapping/notifications: Mapping.Modify
- Required:
name - GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit)
- Required:
name - PUT: generic (from the schema)
- Access: /mapping/notifications: Mapping.Modify
- Required:
name(+10 optional)
/cluster/notifications/targets¶
- GET: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit or /mapping/notifications: Mapping.Use)
- Required: none
/cluster/notifications/targets/{name}/test¶
- POST: generic (from the schema)
- Access: (/mapping/notifications: Mapping.Modify or /mapping/notifications: Mapping.Audit or /mapping/notifications: Mapping.Use)
- Required:
name
/cluster/options¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required: none
- PUT: generic (from the schema)
- Access: /: Sys.Modify
- Required: none (+25 optional)
/cluster/qemu¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
/cluster/qemu/cpu-flags¶
- GET: generic (from the schema)
- Access: (/nodes: Sys.Audit or /mapping/cpu: Mapping.Audit or Mapping.Use or Mapping.Modify)
- Required: none (+2 optional)
/cluster/qemu/custom-cpu-models¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
- POST: generic (from the schema)
- Access: /mapping/cpu: Mapping.Modify
- Required:
cputype,reported-model(+6 optional) - Errors:
custom_cpu_model_already_exists
/cluster/qemu/custom-cpu-models/{cputype}¶
- DELETE: generic (from the schema)
- Access: /mapping/cpu/{cputype}: Mapping.Modify
- Required:
cputype - Errors:
custom_cpu_model_does_not - GET: generic (from the schema)
- Access: (/mapping/cpu/{cputype}: Mapping.Audit or /mapping/cpu/{cputype}: Mapping.Use or /mapping/cpu/{cputype}: Mapping.Modify)
- Required:
cputype - PUT: generic (from the schema)
- Access: /mapping/cpu/{cputype}: Mapping.Modify
- Required:
cputype(+9 optional) - Errors:
cannot_delete_cputype,cannot_delete_reported_model,custom_cpu_model_does_not
/cluster/replication¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
- POST: generic (from the schema)
- Access: any logged-in user
- Required:
id,target,type(+6 optional) - Errors:
guest_does_not_exist,target_does_not_exist,source_does_not_match_current,source_target_must_not_identical,no_replicatable_volumes_found,replication_job_already_exists,guest_ids_reserved
/cluster/replication/{id}¶
- DELETE: generic (from the schema)
- Access: any logged-in user
- Required:
id(+2 optional) - Errors:
param_keep_conflicts_parameter_force,no_such_job,guest_ids_reserved - GET: generic (from the schema)
- Access: any logged-in user
- Required:
id - Errors:
no_such_replication_job - PUT: generic (from the schema)
- Access: any logged-in user
- Required:
id(+8 optional) - Errors:
no_such_job,no_such_option,unable_delete_required_option,unable_delete_fixed_option,guest_ids_reserved
/cluster/resources¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required: none (+1 optional)
- Errors:
no_storage_id_specified,storage_does_not_exist,storage_disabled,storage_not_available
/cluster/sdn¶
- GET: generic (from the schema)
- Access: /sdn: SDN.Audit
- Required: none
- PUT: generic (from the schema), starts a task
- Access: /sdn: SDN.Allocate
- Required: none (+2 optional)
- Errors:
invalid_lock_token_provided
/cluster/sdn/controllers¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+3 optional)
- Errors:
no_sdn_controller_id_specified,sdn_controller_does_not_exist - POST: generic (from the schema)
- Access: /sdn/controllers: SDN.Allocate
- Required:
controller,type(+17 optional) - Errors:
sdn_controller_object_id_already,invalid_lock_token_provided,no_sdn_controller_id_specified,sdn_controller_does_not_exist
/cluster/sdn/controllers/{controller}¶
- DELETE: generic (from the schema)
- Access: /sdn/controllers: SDN.Allocate
- Required:
controller(+1 optional) - Errors:
invalid_lock_token_provided,no_sdn_controller_id_specified,sdn_controller_does_not_exist - GET: generic (from the schema)
- Access: /sdn/controllers/{controller}: SDN.Allocate
- Required:
controller(+2 optional) - Errors:
no_sdn_controller_id_specified,sdn_controller_does_not_exist - PUT: generic (from the schema)
- Access: /sdn/controllers: SDN.Allocate
- Required:
controller(+19 optional) - Errors:
invalid_lock_token_provided,no_sdn_controller_id_specified,sdn_controller_does_not_exist
/cluster/sdn/dns¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+1 optional)
- Errors:
no_sdn_dns_id_specified,sdn_dns_does_not_exist - POST: generic (from the schema)
- Access: /sdn/dns: SDN.Allocate
- Required:
dns,key,type,url(+5 optional) - Errors:
sdn_dns_object_id_already,invalid_lock_token_provided,no_sdn_dns_id_specified,sdn_dns_does_not_exist
/cluster/sdn/dns/{dns}¶
- DELETE: generic (from the schema)
- Access: /sdn/dns: SDN.Allocate
- Required:
dns(+1 optional) - Errors:
invalid_lock_token_provided,no_sdn_dns_id_specified,sdn_dns_does_not_exist - GET: generic (from the schema)
- Access: /sdn/dns/{dns}: SDN.Allocate
- Required:
dns - Errors:
no_sdn_dns_id_specified,sdn_dns_does_not_exist - PUT: generic (from the schema)
- Access: /sdn/dns: SDN.Allocate
- Required:
dns(+8 optional) - Errors:
invalid_lock_token_provided,no_sdn_dns_id_specified,sdn_dns_does_not_exist
/cluster/sdn/dry-run¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node - Errors:
uplink_id_already_defined
/cluster/sdn/fabrics¶
- GET: generic (from the schema)
- Access: /sdn/fabrics: SDN.Audit
- Required: none
/cluster/sdn/fabrics/all¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+2 optional)
/cluster/sdn/fabrics/fabric¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+2 optional)
- POST: generic (from the schema)
- Access: /sdn/fabrics: SDN.Allocate
- Required:
id,protocol,redistribute(+9 optional) - Errors:
cannot_add_bgp_fabric_while,invalid_lock_token_provided
/cluster/sdn/fabrics/fabric/{id}¶
- DELETE: generic (from the schema)
- Access: /sdn/fabrics/{id}: SDN.Allocate
- Required:
id - Errors:
permission_check_failed_missing_sys,fabric_still_used_evpn_controller,fabric_still_used_vxlan_zone,invalid_lock_token_provided - GET: generic (from the schema)
- Access: /sdn/fabrics/{id}: SDN.Audit or SDN.Allocate
- Required:
id - PUT: generic (from the schema)
- Access: /sdn/fabrics/{id}: SDN.Allocate
- Required:
delete,id,protocol,redistribute(+9 optional) - Errors:
invalid_lock_token_provided
/cluster/sdn/fabrics/node¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+2 optional)
/cluster/sdn/fabrics/node/{fabric_id}¶
- GET: generic (from the schema)
- Access: /sdn/fabrics/{fabric_id}: SDN.Audit
- Required:
fabric_id(+2 optional) - POST: generic (from the schema)
- Access: (/sdn/fabrics/{fabric_id}: SDN.Allocate and /nodes/{node_id}: Sys.Modify)
- Required:
fabric_id,interfaces,node_id,protocol(+9 optional) - Errors:
could_not_save_private_key,invalid_lock_token_provided
/cluster/sdn/fabrics/node/{fabric_id}/{node_id}¶
- DELETE: generic (from the schema)
- Access: (/sdn/fabrics/{fabric_id}: SDN.Allocate and /nodes/{node_id}: Sys.Modify)
- Required:
fabric_id,node_id - Errors:
invalid_lock_token_provided - GET: generic (from the schema)
- Access: (/sdn/fabrics/{fabric_id}: SDN.Audit or SDN.Allocate and /nodes/{node_id}: Sys.Audit or Sys.Modify)
- Required:
fabric_id,node_id - PUT: generic (from the schema)
- Access: (/sdn/fabrics/{fabric_id}: SDN.Allocate and /nodes/{node_id}: Sys.Modify)
- Required:
delete,fabric_id,interfaces,node_id,protocol(+9 optional) - Errors:
cannot_change_role_existing_wireguard,could_not_save_private_key,invalid_lock_token_provided
/cluster/sdn/ipams¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+1 optional)
- Errors:
no_sdn_ipam_id_specified,sdn_ipam_does_not_exist - POST: generic (from the schema)
- Access: /sdn/ipams: SDN.Allocate
- Required:
ipam,type(+5 optional) - Errors:
sdn_ipam_object_id_already,invalid_lock_token_provided,no_sdn_ipam_id_specified,sdn_ipam_does_not_exist
/cluster/sdn/ipams/{ipam}¶
- DELETE: generic (from the schema)
- Access: /sdn/ipams: SDN.Allocate
- Required:
ipam(+1 optional) - Errors:
invalid_lock_token_provided,no_sdn_ipam_id_specified,sdn_ipam_does_not_exist - GET: generic (from the schema)
- Access: /sdn/ipams/{ipam}: SDN.Allocate
- Required:
ipam - Errors:
no_sdn_ipam_id_specified,sdn_ipam_does_not_exist - PUT: generic (from the schema)
- Access: /sdn/ipams: SDN.Allocate
- Required:
ipam(+7 optional) - Errors:
invalid_lock_token_provided,no_sdn_ipam_id_specified,sdn_ipam_does_not_exist
/cluster/sdn/ipams/{ipam}/status¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
ipam - Errors:
currently_only_pve_ipam_supported,found_invalid_cidr_ipam,no_sdn_zone_id_specified,sdn_zone_does_not_exist,no_sdn_vnet_id_specified,sdn_vnet_does_not_exist
/cluster/sdn/lock¶
- DELETE: generic (from the schema)
- Access: /sdn: SDN.Allocate
- Required: none (+2 optional)
- Errors:
invalid_lock_token_provided - POST: generic (from the schema)
- Access: /sdn: SDN.Allocate
- Required: none (+1 optional)
- Errors:
configuration_has_pending_changes,invalid_lock_token_provided
/cluster/sdn/prefix-lists¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+3 optional)
- POST: generic (from the schema)
- Access: /sdn/prefix-lists: SDN.Allocate
- Required:
id(+3 optional) - Errors:
invalid_lock_token_provided
/cluster/sdn/prefix-lists/{id}¶
- DELETE: generic (from the schema)
- Access: /sdn/prefix-lists/{id}: SDN.Allocate
- Required:
id(+1 optional) - Errors:
invalid_lock_token_provided,prefix_list_still_referenced_fabric,prefix_list_still_referenced_route - GET: generic (from the schema)
- Access: /sdn/prefix-lists/{id}: SDN.Audit
- Required:
id - Errors:
param_id_doesn_t_exist - PUT: generic (from the schema)
- Access: /sdn/prefix-lists/{id}: SDN.Allocate
- Required:
id(+4 optional) - Errors:
invalid_lock_token_provided
/cluster/sdn/prefix-lists/{id}/entries¶
- GET: generic (from the schema)
- Access: /sdn/prefix-lists/{id}: SDN.Audit
- Required:
id - POST: generic (from the schema)
- Access: /sdn/prefix-lists/{id}: SDN.Allocate
- Required:
action,id,prefix(+4 optional) - Errors:
invalid_lock_token_provided
/cluster/sdn/prefix-lists/{id}/entries/{url_seq}¶
- DELETE: generic (from the schema)
- Access: /sdn/prefix-lists/{id}: SDN.Allocate
- Required:
id(+1 optional) - Errors:
invalid_lock_token_provided - GET: generic (from the schema)
- Access: /sdn/prefix-lists/{id}: SDN.Audit
- Required:
id - Errors:
param_id_entry_prefix_list - PUT: generic (from the schema)
- Access: /sdn/prefix-lists/{id}: SDN.Allocate
- Required: none (+8 optional)
- Errors:
invalid_lock_token_provided
/cluster/sdn/rollback¶
- POST: generic (from the schema)
- Access: /sdn: SDN.Allocate
- Required: none (+2 optional)
- Errors:
invalid_lock_token_provided
/cluster/sdn/route-maps¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+1 optional)
/cluster/sdn/route-maps/entries¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+2 optional)
- POST: generic (from the schema)
- Access: /sdn/route-maps: SDN.Allocate
- Required:
action,order,route-map-id(+6 optional) - Errors:
invalid_lock_token_provided
/cluster/sdn/route-maps/entries/{route-map-id}¶
- GET: generic (from the schema)
- Access: /sdn/route-maps/{route-map-id}: SDN.Audit or SDN.Allocate
- Required:
route-map-id(+2 optional)
/cluster/sdn/route-maps/entries/{route-map-id}/entry/{order}¶
- DELETE: generic (from the schema)
- Access: /sdn/route-maps/{route-map-id}: SDN.Allocate
- Required:
order,route-map-id(+1 optional) - Errors:
invalid_lock_token_provided,route_map_still_referenced_controller,route_map_still_referenced_fabric - GET: generic (from the schema)
- Access: /sdn/route-maps/{route-map-id}: SDN.Audit or SDN.Allocate
- Required:
order,route-map-id - Errors:
param_route_map_id_doesn - PUT: generic (from the schema)
- Access: /sdn/route-maps/{route-map-id}: SDN.Allocate
- Required:
order,route-map-id(+8 optional) - Errors:
invalid_lock_token_provided
/cluster/sdn/vnets¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+2 optional)
- Errors:
no_sdn_vnet_id_specified,sdn_vnet_does_not_exist - POST: generic (from the schema)
- Access: /sdn/zones/{zone}: SDN.Allocate
- Required:
vnet,zone(+6 optional) - Errors:
sdn_vnet_object_id_already,invalid_lock_token_provided,no_sdn_vnet_id_specified,sdn_vnet_does_not_exist,no_sdn_zone_id_specified,sdn_zone_does_not_exist,param_vlanaware_vlanaware_vnet_not
/cluster/sdn/vnets/{vnet}¶
- DELETE: generic (from the schema)
- Access: any logged-in user
- Required:
vnet(+1 optional) - Errors:
invalid_lock_token_provided,no_sdn_vnet_id_specified,sdn_vnet_does_not_exist,param_vnet_can_t_delete - GET: generic (from the schema)
- Access: any logged-in user
- Required:
vnet(+2 optional) - Errors:
no_sdn_vnet_id_specified,sdn_vnet_does_not_exist - PUT: generic (from the schema)
- Access: any logged-in user
- Required:
vnet(+8 optional) - Errors:
param_zone_cannot_delete_zone,param_zone_can_t_change,invalid_lock_token_provided,no_sdn_zone_id_specified,sdn_zone_does_not_exist,param_vlanaware_vlanaware_vnet_not,no_sdn_subnet_id_specified,sdn_subnet_does_not_exist
/cluster/sdn/vnets/{vnet}/firewall¶
- GET: generic (from the schema)
- Access: root only
- Required:
vnet
/cluster/sdn/vnets/{vnet}/firewall/options¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
vnet - Errors:
invalid_vnet_specified - PUT: generic (from the schema)
- Access: any logged-in user
- Required:
vnet(+5 optional) - Errors:
param_delete_no_such_option,invalid_vnet_specified,can_t_lock_vnet_firewall
/cluster/sdn/vnets/{vnet}/firewall/rules¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
vnet - Errors:
implement_subclass - POST: generic (from the schema)
- Access: any logged-in user
- Required:
action,type,vnet(+13 optional) - Errors:
implement_subclass,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/cluster/sdn/vnets/{vnet}/firewall/rules/{pos}¶
- DELETE: generic (from the schema)
- Access: any logged-in user
- Required:
vnet(+2 optional) - Errors:
no_rule_position,implement_subclass - GET: generic (from the schema)
- Access: any logged-in user
- Required:
vnet(+1 optional) - Errors:
no_rule_position,implement_subclass - PUT: generic (from the schema)
- Access: any logged-in user
- Required:
vnet(+17 optional) - Errors:
no_rule_position,implement_subclass,param_delete_no_such_property,param_delete_unable_delete_required,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/cluster/sdn/vnets/{vnet}/ips¶
- DELETE: generic (from the schema)
- Access: /sdn/zones/{zone}/{vnet}: SDN.Allocate
- Required:
ip,vnet,zone(+1 optional) - POST: generic (from the schema)
- Access: /sdn/zones/{zone}/{vnet}: SDN.Allocate
- Required:
ip,vnet,zone(+1 optional) - PUT: generic (from the schema)
- Access: /sdn/zones/{zone}/{vnet}: SDN.Allocate
- Required:
ip,vnet,zone(+2 optional)
/cluster/sdn/vnets/{vnet}/subnets¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
vnet(+2 optional) - Errors:
no_sdn_subnet_id_specified,sdn_subnet_does_not_exist - POST: generic (from the schema)
- Access: any logged-in user
- Required:
subnet,type,vnet(+6 optional) - Errors:
sdn_subnet_object_id_already,invalid_lock_token_provided,no_sdn_subnet_id_specified,sdn_subnet_does_not_exist,param_vnet_don_t_exist,param_vnet_you_can_t,param_gateway_not_subnet,param_dhcp_range_start_address,param_dhcp_range_start_address_2,param_dhcp_range_end_address,param_dhcp_range_end_address_2,param_dhcp_range_start_address_3,param_dhcp_range_start_address_4,param_dhcp_range_end_address_3,param_dhcp_range_dhcp_ranges
/cluster/sdn/vnets/{vnet}/subnets/{subnet}¶
- DELETE: generic (from the schema)
- Access: any logged-in user
- Required:
subnet,vnet(+1 optional) - Errors:
invalid_lock_token_provided,no_sdn_subnet_id_specified,sdn_subnet_does_not_exist - GET: generic (from the schema)
- Access: any logged-in user
- Required:
subnet,vnet(+2 optional) - Errors:
param_vnet_wrong_vnet,no_sdn_subnet_id_specified,sdn_subnet_does_not_exist - PUT: generic (from the schema)
- Access: any logged-in user
- Required:
subnet(+9 optional) - Errors:
invalid_lock_token_provided,no_sdn_subnet_id_specified,sdn_subnet_does_not_exist,param_vnet_don_t_exist,param_vnet_you_can_t,param_gateway_not_subnet,param_dhcp_range_start_address,param_dhcp_range_start_address_2,param_dhcp_range_end_address,param_dhcp_range_end_address_2,param_dhcp_range_start_address_3,param_dhcp_range_start_address_4,param_dhcp_range_end_address_3,param_dhcp_range_dhcp_ranges
/cluster/sdn/zones¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none (+3 optional)
- Errors:
no_sdn_zone_id_specified,sdn_zone_does_not_exist - POST: generic (from the schema)
- Access: /sdn/zones: SDN.Allocate
- Required:
type,zone(+26 optional) - Errors:
sdn_zone_object_id_already,param_dns_don_t_exist,param_reversedns_don_t_exist,param_dnszone_missing_dns_server,param_ipam_not_existing,invalid_lock_token_provided,no_sdn_zone_id_specified,sdn_zone_does_not_exist
/cluster/sdn/zones/{zone}¶
- DELETE: generic (from the schema)
- Access: /sdn/zones/{zone}: SDN.Allocate
- Required:
zone(+1 optional) - Errors:
invalid_lock_token_provided,no_sdn_zone_id_specified,sdn_zone_does_not_exist - GET: generic (from the schema)
- Access: /sdn/zones/{zone}: SDN.Allocate
- Required:
zone(+2 optional) - Errors:
no_sdn_zone_id_specified,sdn_zone_does_not_exist - PUT: generic (from the schema)
- Access: /sdn/zones/{zone}: SDN.Allocate
- Required:
zone(+28 optional) - Errors:
param_ipam_can_t_change,param_dns_don_t_exist,param_reversedns_don_t_exist,param_dnszone_missing_dns_server,param_ipam_not_existing,invalid_lock_token_provided,no_sdn_zone_id_specified,sdn_zone_does_not_exist,no_sdn_subnet_id_specified,sdn_subnet_does_not_exist
/cluster/status¶
- GET: stateful (hand-written)
- Access: /: Sys.Audit
- Required: none
/cluster/tasks¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required: none
nodes¶
/nodes¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required: none
/nodes/{node}¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/aplinfo¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node - POST: generic (from the schema), starts a task
- Access: /storage/{storage}: Datastore.AllocateTemplate
- Required:
node,storage,template - Errors:
param_template_no_such_template,unknown_template_type,storage_does_not_support_templates,storage_disabled,no_storage_id_specified,storage_does_not_exist,storage_not_available
/nodes/{node}/apt¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/apt/changelog¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
name,node(+1 optional)
/nodes/{node}/apt/repositories¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node - POST: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
index,node,path(+2 optional) - PUT: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
handle,node(+1 optional)
/nodes/{node}/apt/update¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
node - Errors:
unable_initialize_aptpkg_cache - POST: generic (from the schema), starts a task
- Access: /nodes/{node}: Sys.Modify
- Required:
node(+2 optional) - Errors in the task:
unable_initialize_aptpkg_cache
/nodes/{node}/apt/versions¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node - Errors:
unable_initialize_aptpkg_cache
/nodes/{node}/capabilities¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/capabilities/qemu¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/capabilities/qemu/cpu¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node(+1 optional)
/nodes/{node}/capabilities/qemu/cpu-flags¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node(+2 optional)
/nodes/{node}/capabilities/qemu/machines¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node(+1 optional) - Errors:
could_not_load_supported_machine
/nodes/{node}/capabilities/qemu/migration¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node
/nodes/{node}/ceph¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node
/nodes/{node}/ceph/cfg¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/ceph/cfg/db¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
binary_not_installed
/nodes/{node}/ceph/cfg/raw¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
no_such_ceph_config,binary_not_installed
/nodes/{node}/ceph/cfg/value¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
config-keys,node - Errors:
binary_not_installed
/nodes/{node}/ceph/cmd-safety¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
action,id,node,service - Errors:
service_does_not_support_action,binary_not_installed
/nodes/{node}/ceph/crush¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
binary_not_installed
/nodes/{node}/ceph/fs¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
binary_not_installed
/nodes/{node}/ceph/fs/{name}¶
- DELETE: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
name,node(+2 optional) - Errors:
no_such_cephfs,binary_not_installed - Errors in the task:
storage_not_disabled_make_sure,failed_remove_some_storages_check - POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
node(+3 optional) - Errors:
ceph_pools_already_exist,ceph_fs_already_exists,no_running_metadata_server_mds,no_standby_metadata_server_mds,ceph_not_fully_configured_missing,storage_id_already_defined,no_storage_id_specified,storage_does_not_exist - Errors in the task:
need_mds_add_storage_but,adding_storage_cephfs_failed_check
/nodes/{node}/ceph/init¶
- POST: generic (from the schema)
- Access: /: Sys.Modify
- Required:
node(+6 optional) - Errors:
ceph_nautilus_required_please_run,binary_not_installed,no_such_ceph_config,file_already_exists_not_symlink,unable_create_symlink
/nodes/{node}/ceph/log¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Syslog
- Required:
node(+2 optional) - Errors:
binary_not_installed
/nodes/{node}/ceph/mds¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
binary_not_installed
/nodes/{node}/ceph/mds/{name}¶
- DELETE: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
name,node - Errors:
binary_not_installed - Errors in the task:
no_such_ceph_config - POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
node(+2 optional) - Errors:
id_mds_cannot_start_number,binary_not_installed - Errors in the task:
mds_already_referenced_ceph_config,no_such_ceph_config
/nodes/{node}/ceph/mgr¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
binary_not_installed
/nodes/{node}/ceph/mgr/{id}¶
- DELETE: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
id,node - Errors:
binary_not_installed - Errors in the task:
ceph_manager_directory_not_found,no_such_ceph_config - POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
node(+1 optional) - Errors:
binary_not_installed,file_already_exists_not_symlink,unable_create_symlink - Errors in the task:
no_such_ceph_config,ceph_manager_directory_already_exists
/nodes/{node}/ceph/mon¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
binary_not_installed
/nodes/{node}/ceph/mon/{monid}¶
- DELETE: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
monid,node - Errors:
no_such_ceph_config,no_such_monitor_id,monitor_filesystem_does_not_exist,can_t_remove_last_monitor,binary_not_installed - Errors in the task:
invalid_ip_string - POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
node(+2 optional) - Errors:
could_not_connect_ceph_cluster,binary_not_installed,file_already_exists_not_symlink,unable_create_symlink,no_active_ip_found_requested,multiple_ips_ceph_public_network,specified_monitor_ip_not_configured,monitor_address_already_use,monitor_already_exists,invalid_ip_string - Errors in the task:
monitor_filesystem_already_exist,no_such_ceph_config
/nodes/{node}/ceph/osd¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
no_tree_nodes_found,no_root,no_such_osd,binary_not_installed - POST: generic (from the schema), starts a task
- Access: root only
- Required:
dev,node(+7 optional) - Errors:
parameter_verification_failed,no_address_ceph_cluster_network,unable_get_device_info,device_already_use,unable_get_device_info_type,device_not_gpt_partitioned,device_already_use_has_no,invalid_size,smaller_than_requested_size_bytes,no_ceph_vg_found,vg_has_not_enough_free,cannot_use,file_already_exists_not_symlink,unable_create_symlink,binary_not_installed,missing_path,failed_get_absolute_path,got_unusual_device_path,disks_not_string_array_reference,no_such_ceph_config,device_already_used_volume_group,not_valid_block_device,can_t_parse_parent_device,no_valid_block_device,block_device_does_not_exists,no_device_specified,found_multiple_pvs_entries_device - Errors in the task:
couldn_t_get_size_device
/nodes/{node}/ceph/osd/{osdid}¶
- DELETE: generic (from the schema), starts a task
- Access: root only
- Required:
node,osdid(+1 optional) - Errors:
osd_osd_does_not_belong,osd_use,osd_still_running_up,internal_error_duplicate_host_name,no_such_osd,binary_not_installed - Errors in the task:
invalid_dev,invalid_path,no_such_ceph_config,error_detecting_block_device,partition_does_not_exist,failed_get_partition_number,partition_number_invalid,can_t_parse_parent_device,no_valid_block_device,block_device_does_not_exists,couldn_t_get_size_device - GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,osdid
/nodes/{node}/ceph/osd/{osdid}/in¶
- POST: generic (from the schema)
- Access: /: Sys.Modify
- Required:
node,osdid - Errors:
no_such_osd,binary_not_installed
/nodes/{node}/ceph/osd/{osdid}/lv-info¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
node,osdid(+1 optional) - Errors:
got_unexpected_data_ceph_volume,osd_not_found_ceph_volume,volume_type_not_found_osd,got_unexpected_data_lvs,binary_not_installed
/nodes/{node}/ceph/osd/{osdid}/metadata¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
node,osdid - Errors:
osd_does_not_exists_host,binary_not_installed
/nodes/{node}/ceph/osd/{osdid}/out¶
- POST: generic (from the schema)
- Access: /: Sys.Modify
- Required:
node,osdid - Errors:
no_such_osd,binary_not_installed
/nodes/{node}/ceph/osd/{osdid}/scrub¶
- POST: generic (from the schema)
- Access: /: Sys.Modify
- Required:
node,osdid(+1 optional) - Errors:
no_such_osd,binary_not_installed
/nodes/{node}/ceph/pool¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
binary_not_installed - POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
name,node(+11 optional) - Errors:
pool_name_contains_characters_which,ceph_not_fully_configured_missing,erasure_code_profile_does_not - Errors in the task:
could_not_create_erasure_code,adding_pve_storage_ceph_pool,no_such_ceph_config,could_not_set
/nodes/{node}/ceph/pool/{name}¶
- DELETE: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
name,node(+3 optional) - Errors:
binary_not_installed - Errors in the task:
ceph_pool_still_use_storage,failed_remove_some_storages_check,storage_disabled - GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
name,node - PUT: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
name,node(+9 optional) - Errors:
ceph_not_fully_configured_missing - Errors in the task:
could_not_set
/nodes/{node}/ceph/pool/{name}/status¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
name,node(+1 optional) - Errors:
binary_not_installed
/nodes/{node}/ceph/releases¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
internal_error_got_multiple_ceph,internal_error_got_no_ceph
/nodes/{node}/ceph/restart¶
- POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
node(+1 optional) - Errors:
no_configuration,binary_not_installed
/nodes/{node}/ceph/restart-bulk¶
- POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
node,service-type(+6 optional) - Errors:
no_ceph_configuration,binary_not_installed - Errors in the task:
could_not_evaluate_ceph_health,ceph_cluster_has_blocking_health,ceph_cluster_has_blocking_health_2,no_resumable_bulk_restart_state,resumable_bulk_restart_state_already,could_not_determine_local_ceph,another_bulk_restart_progressed_past,ceph_reports_blocking_health_err,ceph_reports_not_safe_stop,get_daemons_only_supports_type,filter_outdated_daemons_local_version,could_not_fetch_metadata_outdated,could_not_fetch_metadata_unexpected,rolling_restart_finished_but_failed,another_ceph_bulk_restart_already,daemon_did_not_come_up,received_sigterm_aborting_bulk_restart,received_sigint_aborting_bulk_restart,received_sighup_aborting_bulk_restart,unknown_daemon_type,could_not_read_osd_map
/nodes/{node}/ceph/rules¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
binary_not_installed
/nodes/{node}/ceph/start¶
- POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
node(+1 optional) - Errors:
no_configuration,binary_not_installed
/nodes/{node}/ceph/status¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Datastore.Audit
- Required:
node - Errors:
binary_not_installed
/nodes/{node}/ceph/stop¶
- POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
node(+1 optional) - Errors:
no_configuration,binary_not_installed
/nodes/{node}/certificates¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/certificates/acme¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/certificates/acme/certificate¶
- DELETE: generic (from the schema), starts a task
- Access: /nodes/{node}: Sys.Modify
- Required:
node - Errors:
acme_domain_list_configuration_missing,duplicate_domain_acme_config_properties,duplicate_domain_acme_config_properties_2,plugin_domain_not_found - Errors in the task:
acme_account_config_file_does,revoke_request_ca_failed - POST: generic (from the schema), starts a task
- Access: /nodes/{node}: Sys.Modify
- Required:
node(+1 optional) - Errors:
param_force_custom_certificate_exists,acme_domain_list_configuration_missing,duplicate_domain_acme_config_properties,duplicate_domain_acme_config_properties_2,plugin_domain_not_found - Errors in the task:
acme_account_config_file_does,no_config_domain,order_status - PUT: generic (from the schema), starts a task
- Access: /nodes/{node}: Sys.Modify
- Required:
node(+1 optional) - Errors:
no_current_custom_certificate_found,param_force_certificate_does_not,acme_domain_list_configuration_missing,duplicate_domain_acme_config_properties,duplicate_domain_acme_config_properties_2,plugin_domain_not_found - Errors in the task:
acme_account_config_file_does,no_config_domain,order_status
/nodes/{node}/certificates/custom¶
- DELETE: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
node(+1 optional) - POST: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
certificates,node(+3 optional) - Errors:
param_key_attempted_upload_custom
/nodes/{node}/certificates/info¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/config¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
node(+1 optional) - PUT: generic (from the schema)
- Access: /: Sys.Modify
- Required:
node(+9 optional) - Errors:
duplicate_domain_acme_config_properties,duplicate_domain_acme_config_properties_2,plugin_domain_not_found,detected_invalid_newline_inside_property
/nodes/{node}/disks¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/disks/directory¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
node - POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
device,name,node(+2 optional) - Errors:
path_already_mounted,systemd_mount_unit_already_exists,missing_path,failed_get_absolute_path,got_unusual_device_path,device_already_use,storage_config_exists_but_no,storage_id_already_exists,option_not_configured_storage_expected,option_does_not_match_existing,not_valid_block_device,not_valid_local_disk,no_storage_id_specified,storage_does_not_exist - Errors in the task:
could_not_get_uuid_device,invalid_property
/nodes/{node}/disks/directory/{name}¶
- DELETE: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
name,node(+2 optional) - Errors in the task:
unable_obtain_information_disk,cannot_remove,config_cleanup_failed,missing_path,failed_get_absolute_path,got_unusual_device_path,disks_not_string_array_reference,couldn_t_get_size_device,not_valid_block_device,can_t_parse_parent_device,no_valid_block_device,block_device_does_not_exists
/nodes/{node}/disks/initgpt¶
- POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
disk,node(+1 optional) - Errors:
partition,disk_already_use,missing_path,failed_get_absolute_path,got_unusual_device_path,not_valid_local_disk,not_valid_block_device,disks_not_string_array_reference - Errors in the task:
disk_already_use_2
/nodes/{node}/disks/list¶
- GET: generic (from the schema)
- Access: (/: Sys.Audit or /nodes/{node}: Sys.Audit)
- Required:
node(+3 optional) - Errors:
internal_error,disks_not_string_array_reference,can_t_parse_parent_device,no_valid_block_device,block_device_does_not_exists
/nodes/{node}/disks/lvm¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
node - POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
device,name,node(+1 optional) - Errors:
missing_path,failed_get_absolute_path,got_unusual_device_path,device_already_use,storage_config_exists_but_no,storage_id_already_exists,option_not_configured_storage_expected,option_does_not_match_existing,not_valid_block_device,not_valid_local_disk,no_storage_id_specified,storage_does_not_exist - Errors in the task:
volume_group_name_already_exists,device_already_used_volume_group,no_device_specified,found_multiple_pvs_entries_device
/nodes/{node}/disks/lvm/{name}¶
- DELETE: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
name,node(+2 optional) - Errors in the task:
no_such_volume_group,cleanup_failed,config_cleanup_failed
/nodes/{node}/disks/lvmthin¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
node - POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
device,name,node(+1 optional) - Errors:
missing_path,failed_get_absolute_path,got_unusual_device_path,device_already_use,storage_config_exists_but_no,storage_id_already_exists,option_not_configured_storage_expected,option_does_not_match_existing,not_valid_block_device,not_valid_local_disk,no_storage_id_specified,storage_does_not_exist - Errors in the task:
volume_group_name_already_exists,device_too_small_thin_pool,device_already_used_volume_group,no_device_specified,found_multiple_pvs_entries_device
/nodes/{node}/disks/lvmthin/{name}¶
- DELETE: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
name,node,volume-group(+2 optional) - Errors in the task:
no_such_thin_pool,no_such_volume_group,volume_group_still_use,cleanup_failed,config_cleanup_failed
/nodes/{node}/disks/smart¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
disk,node(+1 optional) - Errors:
missing_path,failed_get_absolute_path,got_unusual_device_path,not_valid_block_device
/nodes/{node}/disks/wipedisk¶
- PUT: generic (from the schema), starts a task
- Access: root only
- Required:
disk,node - Errors:
disk_partition_mounted,disk_partition_has_holder,missing_path,failed_get_absolute_path,got_unusual_device_path,not_valid_block_device - Errors in the task:
couldn_t_get_size_device
/nodes/{node}/disks/zfs¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
node - Errors:
zfsutils_linux_not_installed - POST: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
devices,name,node,raidlevel(+4 optional) - Errors:
draid_config_set_without_using,pool_already_exists,raid_needs_even_number_disks,please_give_only_one_disk,needs_least_disks,least_disks_needed_current_draid,missing_path,failed_get_absolute_path,got_unusual_device_path,device_already_use,storage_config_exists_but_no,storage_id_already_exists,option_not_configured_storage_expected,option_does_not_match_existing,zfsutils_linux_not_installed,can_t_parse_parent_device,no_valid_block_device,block_device_does_not_exists,not_valid_block_device,not_valid_local_disk,no_storage_id_specified,storage_does_not_exist
/nodes/{node}/disks/zfs/{name}¶
- DELETE: generic (from the schema), starts a task
- Access: /: Sys.Modify
- Required:
name,node(+2 optional) - Errors in the task:
unable_obtain_information_disk,cleanup_failed,config_cleanup_failed,missing_path,failed_get_absolute_path,got_unusual_device_path,disks_not_string_array_reference,not_valid_block_device,can_t_parse_parent_device,no_valid_block_device,block_device_does_not_exists - GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
name,node - Errors:
zfsutils_linux_not_installed
/nodes/{node}/dns¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node - PUT: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
node,search(+3 optional)
/nodes/{node}/execute¶
- POST: generic (from the schema)
- Access: root only
- Required:
commands,node
/nodes/{node}/firewall¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/firewall/log¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Syslog
- Required:
node(+4 optional)
/nodes/{node}/firewall/options¶
- GET: stateful (hand-written)
- Access: /nodes/{node}: Sys.Audit
- Required:
node - PUT: stateful (hand-written)
- Access: /nodes/{node}: Sys.Modify
- Required:
node(+21 optional) - Errors:
param_delete_no_such_option
/nodes/{node}/firewall/rules¶
- GET: stateful (hand-written)
- Access: /nodes/{node}: Sys.Audit
- Required:
node - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /nodes/{node}: Sys.Modify
- Required:
action,node,type(+13 optional) - Errors:
implement_subclass,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/nodes/{node}/firewall/rules/{pos}¶
- DELETE: stateful (hand-written)
- Access: /nodes/{node}: Sys.Modify
- Required:
node(+2 optional) - Errors:
no_rule_position,implement_subclass - GET: stateful (hand-written)
- Access: /nodes/{node}: Sys.Audit
- Required:
node(+1 optional) - Errors:
no_rule_position,implement_subclass - PUT: stateful (hand-written)
- Access: /nodes/{node}: Sys.Modify
- Required:
node(+17 optional) - Errors:
no_rule_position,implement_subclass,param_delete_no_such_property,param_delete_unable_delete_required,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/nodes/{node}/hardware¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/hardware/pci¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Sys.Modify
- Required:
node(+2 optional)
/nodes/{node}/hardware/pci/{pci-id-or-mapping}¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,pci-id-or-mapping
/nodes/{node}/hardware/pci/{pci-id-or-mapping}/mdev¶
- GET: generic (from the schema)
- Access: /: Sys.Audit or Sys.Modify
- Required:
node,pci-id-or-mapping
/nodes/{node}/hardware/usb¶
- GET: generic (from the schema)
- Access: /: Sys.Modify
- Required:
node
/nodes/{node}/hosts¶
- GET: generic (from the schema)
- Access: /: Sys.Audit
- Required:
node - POST: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
data,node(+1 optional)
/nodes/{node}/journal¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Syslog
- Required:
node(+12 optional) - Errors:
could_not_start_mini_journalreader
/nodes/{node}/lxc¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required:
node - Errors:
parse_volume_unknown_type - POST: stateful (hand-written)
- Access: any logged-in user
- Required:
node,ostemplate,vmid(+43 optional) - Errors:
can_t_overwrite_running,permission_check_failed,pipe_requires_cli_environment,pipe_can_only_used_restore,restore_pipe_requires_rootfs_parameter,param_storage_storage_does_not,mount_points_configured_but_rootfs,only_root_can_pass_arbitrary,configuration_file_does_not_exist,protection_mode_enabled,permission_check_failed_mount_point,permission_check_failed_configuring_device,permission_check_failed_changing_feature,permission_check_failed_changing_feature_2,permission_check_failed_changing_hookscript,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,storage_disabled,connection_check_storage_failed,storage_not_online,unable_delete_required_option,unable_delete_read_only_option,storage_does_not_allow_content,unable_modify_read_only_option,mtu_size_bigger_than_bridge,slaac_not_supported_host_managed,path_not_defined_passthrough_device,parse_volume_unknown_type,permission_check_failed_sys_modify,no_storage_id_specified,storage_does_not_exist,storage_not_available,reverse_iteration_only_supported_default,unable_parse_volume_id,invalid_map_entry_id_also,not_snippets_directory,script_does_not_exist,script_not_executable,bridge_does_not_exist,unexpeted_error_unable_parse_mtu,path_has_defined - Errors in the task:
no_lock_found_trying_remove,found_lock_trying_remove_lock
/nodes/{node}/lxc/{vmid}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Allocate
- Required:
node,vmid(+3 optional) - Errors:
unable_remove_used_ha_resources,configuration_file_does_not_exist,protection_mode_enabled,locked,failed_open_s_command_socket,did_not_stop,base_volume_still_use_linked,failed_remove_config_file,reverse_iteration_only_supported_default - GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,vmid - Errors:
configuration_file_does_not_exist
/nodes/{node}/lxc/{vmid}/clone¶
- POST: stateful (hand-written)
- Access: (/vms/{vmid}: VM.Clone and (/vms/{newid}: VM.Allocate or /pool/{pool}: VM.Allocate))
- Required:
newid,node,vmid(+8 optional) - Errors:
can_t_clone_non_shared,lost_create_config_lock_aborting,storage_disabled,no_storage_id_specified,storage_does_not_exist,configuration_file_does_not_exist,storage_not_available,unable_remove_used_ha_resources,failed_open_s_command_socket,did_not_stop,base_volume_still_use_linked,failed_remove_config_file,locked - Errors in the task:
unexpected_state_change,clone_failed,no_lock_found_trying_remove,found_lock_trying_remove_lock,volume_deactivation_failed,failed_move_config_file
/nodes/{node}/lxc/{vmid}/config¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid(+2 optional) - Errors:
param_snapshot_cannot_use_snapshot,snapshot_does_not_exist,configuration_file_does_not_exist - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Disk or VM.Config.CPU or VM.Config.Memory or VM.Config.Network or VM.Config.Options
- Required:
node,vmid(+35 optional) - Errors:
no_options_specified,param_revert_unknown_option,param_revert_you_can_t,param_delete_unknown_option,param_delete_you_can_t,param_delete_you_can_t_2,cannot_add_non_replicatable_volume,param_value,configuration_file_does_not_exist,locked,permission_check_failed_mount_point,permission_check_failed_configuring_device,permission_check_failed_changing_feature,permission_check_failed_changing_feature_2,permission_check_failed_changing_hookscript,no_storage_id_specified,storage_does_not_exist,unable_delete_required_option,unable_delete_read_only_option,storage_does_not_allow_content,unable_modify_read_only_option,mtu_size_bigger_than_bridge,slaac_not_supported_host_managed,path_not_defined_passthrough_device,missing_arch_internal_error,missing_ostype_internal_error,path_not_defined_passthrough_device_2,missing_rootfs_configuration,mtu_size_bigger_than_bridge_2,slaac_not_supported_host_managed_2,parse_volume_unknown_type,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,permission_check_failed_sys_modify,reverse_iteration_only_supported_default,unable_parse_volume_id,protection_mode_enabled,invalid_map_entry_id_also,not_snippets_directory,script_does_not_exist,script_not_executable,bridge_does_not_exist,unexpeted_error_unable_parse_mtu,path_has_defined,mknod_feature_requested_but_kernel
/nodes/{node}/lxc/{vmid}/feature¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Audit
- Required:
feature,node,vmid(+1 optional) - Errors:
snapshot_does_not_exist,configuration_file_does_not_exist
/nodes/{node}/lxc/{vmid}/firewall¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,vmid
/nodes/{node}/lxc/{vmid}/firewall/aliases¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+1 optional) - Errors:
param_name_alias_already_exists,implement_subclass
/nodes/{node}/lxc/{vmid}/firewall/aliases/{name}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
name,node,vmid(+1 optional) - Errors:
implement_subclass - GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
name,node,vmid - Errors:
param_name_no_such_alias,implement_subclass - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+3 optional) - Errors:
param_name_no_such_alias,param_name_alias_already_exists,implement_subclass
/nodes/{node}/lxc/{vmid}/firewall/ipset¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
name,node,vmid(+3 optional) - Errors:
param_name_ipset_does_not,param_name_ipset_does_already,param_name_ipset_already_exists,implement_subclass
/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
name,node,vmid(+1 optional) - Errors:
ipset_not_empty,implement_subclass - GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
name,node,vmid - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+2 optional) - Errors:
param_cidr_zero_prefix_alias,param_cidr_address_already_exists,param_cidr_zero_prefix_not,implement_subclass,no_such_alias,value_does_not_look_like
/nodes/{node}/lxc/{vmid}/firewall/ipset/{name}/{cidr}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+1 optional) - Errors:
implement_subclass - GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
cidr,name,node,vmid - Errors:
param_cidr_no_such_ip,implement_subclass - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+3 optional) - Errors:
param_cidr_no_such_ip,implement_subclass
/nodes/{node}/lxc/{vmid}/firewall/log¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Console
- Required:
node,vmid(+4 optional)
/nodes/{node}/lxc/{vmid}/firewall/options¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
node,vmid(+12 optional) - Errors:
param_delete_no_such_option,can_t_lock_firewall_config
/nodes/{node}/lxc/{vmid}/firewall/refs¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid(+1 optional)
/nodes/{node}/lxc/{vmid}/firewall/rules¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
action,node,type,vmid(+13 optional) - Errors:
implement_subclass,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/nodes/{node}/lxc/{vmid}/firewall/rules/{pos}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
node,vmid(+2 optional) - Errors:
no_rule_position,implement_subclass - GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid(+1 optional) - Errors:
no_rule_position,implement_subclass - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
node,vmid(+17 optional) - Errors:
no_rule_position,implement_subclass,param_delete_no_such_property,param_delete_unable_delete_required,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/nodes/{node}/lxc/{vmid}/interfaces¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid
/nodes/{node}/lxc/{vmid}/migrate¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Migrate
- Required:
node,vmid(+1 optional) - Errors:
configuration_file_does_not_exist,locked - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Migrate
- Required:
node,target,vmid(+5 optional) - Errors:
param_target_target_local,can_t_migrate_running_without,param_target_storage_failed_parse,configuration_file_does_not_exist,storage_does_not_support_rootdirs,storage_disabled,no_storage_id_specified,storage_does_not_exist - Errors in the task:
migration_aborted,migration_problems,internal_error_unexpected_output_mtunnel,internal_error_bad_output_mtunnel,failed_get_ip_network
/nodes/{node}/lxc/{vmid}/move_volume¶
- POST: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Config.Disk
- Required:
node,vmid,volume(+7 optional) - Errors:
either_set_storage_target_vmid,cannot_move_volumes_running,cannot_move_volume_only_configured,you_can_t_move_volume,cannot_move_rootfs,moving_unused_volume_used_one,could_not_find,could_not_find_2,both_containers_need_same,can_t_move_volumes_template,volume_does_not_exist,target_volume_key_already_use,volume_has_no_associated_image,cannot_move_volume_used_snapshot,storage_does_not_support_moving,cannot_move_bindmount_device_mount,cannot_move_use_volume_while,cannot_move_volume_storage_replicated,param_target_vmid,configuration_file_does_not_exist,locked,parse_volume_unknown_type,protection_mode_enabled,invalid_size,failed_parse_mount_point_idmap,no_storage_id_specified,storage_does_not_exist,unable_parse_volume_id - Errors in the task:
no_source_volid_provided,no_target_vmid_target_volname,unable_delete_required_option,unable_delete_read_only_option,storage_does_not_allow_content,unable_modify_read_only_option,mtu_size_bigger_than_bridge,slaac_not_supported_host_managed,path_not_defined_passthrough_device,missing_arch_internal_error,missing_ostype_internal_error,path_not_defined_passthrough_device_2,missing_rootfs_configuration,mtu_size_bigger_than_bridge_2,slaac_not_supported_host_managed_2,connection_check_storage_failed,storage_not_online,invalid_map_entry_id_also,not_snippets_directory,script_does_not_exist,script_not_executable,bridge_does_not_exist,unexpeted_error_unable_parse_mtu,path_has_defined,mknod_feature_requested_but_kernel
/nodes/{node}/lxc/{vmid}/mtunnel¶
- POST: generic (from the schema)
- Access: (/vms/{vmid}: VM.Allocate and /: Sys.Incoming)
- Required:
node,vmid(+2 optional) - Errors:
param_needs_localhost_local_hostname,param_vmid_unable_create_empty,storage_does_not_support_rootdirs,bridge_does_not_exist,unexpeted_error_unable_parse_mtu,storage_disabled,no_storage_id_specified,storage_does_not_exist - Errors in the task:
encountered_wrong_lock_aborting_mtunnel,not_allowed_generate_ticket_unknown,failed_resolve_user_www_data,exiting_mtunnel,mtunnel_exited_unexpectedly,configuration_file_does_not_exist,internal_error_running_but_mount,got_strange_filename,no_lock_found_trying_remove,found_lock_trying_remove_lock,disk_import_already_running_pid,no_disk_import_running,failed_open_writing,failed_open_s_command_socket,did_not_stop,base_volume_still_use_linked,can_t_resize_mount_point,could_not_determine_current_size,unable_shrink_disk_size,disk_already_specified_size,resize_file_device_not_possible,unable_parse_volume_id,no_matching_import_export_format,failed_spawn_disk_import_child,failed_read_readyness_disk_import,missing_arch_internal_error,missing_ostype_internal_error,path_not_defined_passthrough_device,missing_rootfs_configuration,mtu_size_bigger_than_bridge,slaac_not_supported_host_managed,reverse_iteration_only_supported_default,failed_remove_config_file
/nodes/{node}/lxc/{vmid}/mtunnelwebsocket¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,socket,ticket,vmid - Errors:
param_needs_localhost_local_hostname,configuration_file_does_not_exist
/nodes/{node}/lxc/{vmid}/pending¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
configuration_file_does_not_exist
/nodes/{node}/lxc/{vmid}/remote_migrate¶
- POST: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Migrate
- Required:
node,target-bridge,target-endpoint,target-storage,vmid(+6 optional) - Errors:
can_t_migrate_running_without,param_vmid_cannot_remote_migrate,param_target_storage_failed_parse,param_target_bridge_failed_parse,remote_migration_requires_explicit_storage,couldn_t_determine_endpoint_s,configuration_file_does_not_exist,locked - Errors in the task:
migration_aborted,migration_problems,internal_error_unexpected_output_mtunnel,internal_error_bad_output_mtunnel,failed_get_ip_network
/nodes/{node}/lxc/{vmid}/resize¶
- PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Disk
- Required:
disk,node,size,vmid(+1 optional) - Errors:
invalid_size_string,no_options_specified,can_t_resize_mount_point,could_not_determine_current_size,unable_shrink_disk_size,disk_already_specified_size,internal_error_running_but_mount,configuration_file_does_not_exist,locked,permission_check_failed_mount_point,permission_check_failed_configuring_device,permission_check_failed_changing_feature,permission_check_failed_changing_feature_2,permission_check_failed_changing_hookscript,parse_volume_unknown_type,resize_file_device_not_possible,unable_parse_volume_id,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,permission_check_failed_sys_modify,invalid_size,failed_parse_mount_point_idmap,no_storage_id_specified,storage_does_not_exist,internal_error_hints_not_valid
/nodes/{node}/lxc/{vmid}/rrd¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Audit
- Required:
ds,node,timeframe,vmid(+1 optional) - Errors:
fixme_no_color_definition,rrd_error
/nodes/{node}/lxc/{vmid}/rrddata¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,timeframe,vmid(+1 optional) - Errors:
rrd_error
/nodes/{node}/lxc/{vmid}/snapshot¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
configuration_file_does_not_exist - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Snapshot
- Required:
node,snapname,vmid(+1 optional) - Errors:
unable_use_snapshot_name_current,unable_use_snapshot_name_vzdump - Errors in the task:
you_can_t_take_snapshot,snapshot_name_already_used,snapshot_feature_not_available,configuration_file_does_not_exist,missing_snapshot_lock,snapshot_does_not_exist,wrong_snapshot_state
/nodes/{node}/lxc/{vmid}/snapshot/{snapname}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Snapshot
- Required:
node,snapname,vmid(+1 optional) - Errors:
snapshot_does_not_exist,encountered_invalid_lock_expected,you_can_t_delete_snapshot,configuration_file_does_not_exist,snapshot_needed_replication_job_run,too_many_unused_volumes_please - Errors in the task:
failed_obtain_guest_migration_lock - GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,snapname,vmid
/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/config¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Snapshot or VM.Snapshot.Rollback or VM.Audit
- Required:
node,snapname,vmid - Errors:
snapshot_does_not_exist,configuration_file_does_not_exist - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Snapshot
- Required:
node,snapname,vmid(+1 optional) - Errors:
snapshot_does_not_exist,configuration_file_does_not_exist,locked
/nodes/{node}/lxc/{vmid}/snapshot/{snapname}/rollback¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Snapshot or VM.Snapshot.Rollback
- Required:
node,snapname,vmid(+1 optional) - Errors in the task:
you_can_t_rollback_if,snapshot_does_not_exist,unable_rollback_incomplete_snapshot_snapstate,unable_rollback_running,got_wrong_lock,configuration_file_does_not_exist,locked,too_many_unused_volumes_please
/nodes/{node}/lxc/{vmid}/spiceproxy¶
- POST: generic (from the schema)
- Access: /vms/{vmid}: VM.Console
- Required:
node,vmid(+1 optional) - Errors:
not_running,configuration_file_does_not_exist,internal_error
/nodes/{node}/lxc/{vmid}/status¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,vmid - Errors:
configuration_file_does_not_exist
/nodes/{node}/lxc/{vmid}/status/current¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
configuration_file_does_not_exist,parse_volume_unknown_type
/nodes/{node}/lxc/{vmid}/status/reboot¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+1 optional) - Errors:
not_running - Errors in the task:
failed_open_s_command_socket,did_not_stop,configuration_file_does_not_exist,failed_open_writing
/nodes/{node}/lxc/{vmid}/status/resume¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid - Errors:
already_running
/nodes/{node}/lxc/{vmid}/status/shutdown¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+2 optional) - Errors:
not_running - Errors in the task:
configuration_file_does_not_exist,locked,failed_open_s_command_socket,did_not_stop
/nodes/{node}/lxc/{vmid}/status/start¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+2 optional) - Errors:
param_skiplock_only_root_may,already_running - Errors in the task:
you_can_t_start_if,quotas_not_supported_unprivileged_containers,configuration_file_does_not_exist,locked,failed_open_writing,reverse_iteration_only_supported_default,missing_arch_internal_error,missing_ostype_internal_error,path_not_defined_passthrough_device,missing_rootfs_configuration,mtu_size_bigger_than_bridge,slaac_not_supported_host_managed
/nodes/{node}/lxc/{vmid}/status/stop¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+2 optional) - Errors:
param_skiplock_only_root_may,not_running,param_overrule_shutdown_not_applicable - Errors in the task:
configuration_file_does_not_exist,locked,failed_open_s_command_socket,did_not_stop
/nodes/{node}/lxc/{vmid}/status/suspend¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid - Errors:
not_running - Errors in the task:
configuration_file_does_not_exist,locked
/nodes/{node}/lxc/{vmid}/template¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Allocate
- Required:
node,vmid - Errors:
unable_create_template_because_contains,you_can_t_convert_template,you_can_t_convert_template_2,configuration_file_does_not_exist,locked - Errors in the task:
template_feature_not_available,missing_arch_internal_error,missing_ostype_internal_error,path_not_defined_passthrough_device,missing_rootfs_configuration,mtu_size_bigger_than_bridge,slaac_not_supported_host_managed,mknod_feature_requested_but_kernel,parse_volume_unknown_type,bridge_does_not_exist,unexpeted_error_unable_parse_mtu
/nodes/{node}/lxc/{vmid}/termproxy¶
- POST: generic (from the schema)
- Access: /vms/{vmid}: VM.Console
- Required:
node,vmid - Errors:
internal_error_unexpected_output_mtunnel,internal_error_bad_output_mtunnel,failed_get_ip_network,configuration_file_does_not_exist,internal_error - Errors in the task:
failed_create_pipe,failed_get_file_descriptor_flags,failed_remove_cloexec_flag_fd
/nodes/{node}/lxc/{vmid}/vncproxy¶
- POST: generic (from the schema)
- Access: /vms/{vmid}: VM.Console
- Required:
node,vmid(+3 optional) - Errors:
internal_error_unexpected_output_mtunnel,internal_error_bad_output_mtunnel,failed_get_ip_network,configuration_file_does_not_exist,internal_error,generate_random_bytes_range_invalid,generate_random_bytes_range_invalid_2,generate_random_bytes_range_invalid_3,generate_random_bytes_range_min,generate_random_bytes_range_failed,generate_random_bytes_range_failed_2
/nodes/{node}/lxc/{vmid}/vncwebsocket¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Console
- Required:
node,port,vmid,vncticket
/nodes/{node}/migrateall¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required:
node,target(+4 optional) - Errors:
permission_check_failed_migrate,param_target_target_local,either_max_workers_parameter_max - Errors in the task:
no_migrations_worker_started
/nodes/{node}/netstat¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node
/nodes/{node}/network¶
- DELETE: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
node - GET: generic (from the schema)
- Access: any logged-in user
- Required:
node(+1 optional) - Errors:
no_sdn_vnet_id_specified,sdn_vnet_does_not_exist,no_sdn_zone_id_specified,sdn_zone_does_not_exist - POST: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
iface,node,type(+26 optional) - Errors:
param_iface_interface_already_exists,open_vswitch_not_installed_need,param_ovs_bridge_parameter_required,param_ovs_bridge_bridge_does,param_ovs_bridge_interface_no,param_bridge_vids_vlan_list,parameter_verification_failed,param_address_address_conflicts_cidr,param_netmask_netmask_conflicts_cidr,param_address_address_conflicts_cidr_2,param_netmask_netmask_conflicts_cidr_2,param_netmask_not_valid_subnet,param_address_not_valid_host,param_address_type_cannot_used - PUT: generic (from the schema), starts a task
- Access: /nodes/{node}: Sys.Modify
- Required:
node(+1 optional) - Errors:
you_need_ifupdown_reload_network,incompatible_ifupdown_package_version_did - Errors in the task:
no_network_config_supplied,could_not_run_before_regenerate,could_not_find_dhcp_plugin,could_not_run_before_configure,etc_frr_daemons_file_does,not_sdn_managed
/nodes/{node}/network/{iface}¶
- DELETE: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
iface,node - Errors:
param_iface_interface_does_not - GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
iface,node - Errors:
param_iface_interface_does_not - PUT: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
iface,node,type(+27 optional) - Errors:
param_iface_interface_does_not,param_bridge_vids_vlan_list,param_address_address_conflicts_cidr,param_netmask_netmask_conflicts_cidr,param_address_address_conflicts_cidr_2,param_netmask_netmask_conflicts_cidr_2,parameter_verification_failed,param_netmask_not_valid_subnet,param_address_not_valid_host,param_address_type_cannot_used
/nodes/{node}/qemu¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node(+1 optional) - Errors:
configuration_file_does_not_exist - POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required:
node,vmid(+91 optional) - Errors:
permission_check_failed,parameter_verification_failed,pipe_requires_cli_environment,running,live_restore_only_compatible_backup,unknown_backup_archive_type,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,no_storage_id_specified_no,param_storage_storage_does_not,only_root_can_set_config,only_root_can_set_config_2,configuration_file_does_not_exist,protection_mode_enabled,live_restore_backup_provider_not,unable_create,got_unexpected_vtype,got_unexpected_backup_format,got_signal_abort,cannot_do_live_restore_template,no_storage_id_specified,storage_does_not_exist,can_t_find_file,unable_parse_format_import_volume,volume_unknown_import_format,volume_not_qemu_image_format,either_host_mapping_must_set,only_root_can_set_config_3,unable_find_configuration_file,unable_read_qemu_server_conf,found_no_device_mapping_information,seek_failed,error_couldn_t_determine_archive,cannot_pass_along_options_when,error_file_does_not_look,no_server_given,no_datastore_given,no_lock_found_trying_remove,found_lock_trying_remove_lock,invalid_json_data - Errors in the task:
disk_not_support_live_restoring,mapping_contains_disk_which_does,missing_path_mapping,missing_volid_mapping,missing_format_mapping,invalid_format_mapping,live_restore_failed,internal_error_cannot_check_version,unable_parse_drive_interface,generate_drive_blockdev_called_without,generate_drive_blockdev_called_none,quit_powerdown_failed_got_timeout,quit_powerdown_failed
/nodes/{node}/qemu/{vmid}¶
- DELETE: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Allocate
- Required:
node,vmid(+3 optional) - Errors:
param_skiplock_only_root_may,unable_remove_used_ha_resources,running_destroy_failed,configuration_file_does_not_exist,protection_mode_enabled,unable_find_configuration_file - Errors in the task:
base_volume_still_use_linked,failed_remove_config_file,locked,reverse_iteration_only_supported_default,unable_parse_volume - GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,vmid - POST: generic (from the schema)
- Access: /vms/{vmid}: VM.GuestAgent.Unrestricted or VM.GuestAgent.Unrestricted
- Required:
command,node,vmid
/nodes/{node}/qemu/{vmid}/agent/exec¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Unrestricted
- Required:
command,node,vmid(+1 optional) - Errors:
configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/agent/exec-status¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Unrestricted
- Required:
node,pid,vmid - Errors:
configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/agent/file-read¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.FileRead or VM.GuestAgent.Unrestricted
- Required:
file,node,vmid(+3 optional) - Errors:
configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/agent/file-write¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.FileWrite or VM.GuestAgent.Unrestricted
- Required:
content,file,node,vmid(+1 optional) - Errors:
configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/agent/fsfreeze-freeze¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.FileSystemMgmt or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/fsfreeze-status¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.FileSystemMgmt or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/fsfreeze-thaw¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.FileSystemMgmt or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/fstrim¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.FileSystemMgmt or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/get-fsinfo¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/get-host-name¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/get-memory-block-info¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/get-memory-blocks¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/get-osinfo¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/get-time¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/get-timezone¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/get-users¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/get-vcpus¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/info¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/network-get-interfaces¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/ping¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Audit or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/set-user-password¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.GuestAgent.Unrestricted
- Required:
node,password,username,vmid(+1 optional) - Errors:
configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/agent/shutdown¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/suspend-disk¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/suspend-hybrid¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/agent/suspend-ram¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt or VM.GuestAgent.Unrestricted
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/clone¶
- POST: generic (from the schema), starts a task
- Access: (/vms/{vmid}: VM.Clone and (/vms/{newid}: VM.Allocate or /pool/{pool}: VM.Allocate))
- Required:
newid,node,vmid(+9 optional) - Errors:
param_storage_storage_does_not,can_t_clone_non_shared,unexpected_state_change,snapshot_does_not_exist,parameter_storage_not_allowed_linked,parameter_format_not_allowed_linked,can_t_clone_uses_local,unable_create_config_file_already,cannot_clone_tpm_state_while,unable_parse_drive_options,clone_failed,storage_disabled,configuration_file_does_not_exist,locked,only_root_can_set_config,either_host_mapping_must_set,only_root_can_set_config_2,unable_find_configuration_file,no_storage_id_specified,storage_does_not_exist,storage_not_available
/nodes/{node}/qemu/{vmid}/cloudinit¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
configuration_file_does_not_exist - PUT: generic (from the schema)
- Access: /vms/{vmid}: VM.Config.Cloudinit
- Required:
node,vmid - Errors:
configuration_file_does_not_exist,locked
/nodes/{node}/qemu/{vmid}/cloudinit/dump¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,type,vmid - Errors:
configuration_file_does_not_exist,network_interface_has_no_mac
/nodes/{node}/qemu/{vmid}/config¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid(+2 optional) - Errors:
param_snapshot_cannot_use_snapshot,snapshot_does_not_exist,configuration_file_does_not_exist - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Disk or VM.Config.CDROM or VM.Config.CPU or VM.Config.Memory or VM.Config.Network or VM.Config.HWType or VM.Config.Options or VM.Config.Cloudinit
- Required:
node,vmid(+88 optional) - Errors:
param_skiplock_only_root_may,no_options_specified,param_revert_unknown_option,param_delete_you_can_t,param_delete_you_can_t_2,param_revert_you_can_t,param_delete_unknown_option,cannot_add_non_managed_pass,cannot_add_non_replicatable_volume,parameter_verification_failed,checksum_mismatch_file_change_other,balloon_value_too_large_must,only_root_can_delete_config,only_root_can_modify_config,invalid_bootorder_device_does_not,param_value,failed_update,no_storage_id_specified,storage_does_not_exist,only_root_can_set_config,no_storage_id_specified_no,param_storage_storage_does_not,configuration_file_does_not_exist,locked,protection_mode_enabled,unable_delete_volume_still_use,only_root_can_set_config_2,either_host_mapping_must_set,only_root_can_set_config_3,permission_check_failed_sys_modify,cannot_change_tpm_state_version,vga_type_not_compatible_vnc,use_intel_viommu_please_set,intel_viommu_supports_only_bits,cannot_set_aw_bits_if,unable_parse_volume_id,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,unable_parse_format_import_volume,volume_unknown_import_format,volume_not_qemu_image_format,base_volume_still_use_linked,unable_find_configuration_file,invalid_hotplug_feature,internal_error_cannot_check_version,can_t_unplug_bootdisk,can_t_unplug_device - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Disk or VM.Config.CDROM or VM.Config.CPU or VM.Config.Memory or VM.Config.Network or VM.Config.HWType or VM.Config.Options or VM.Config.Cloudinit
- Required:
node,vmid(+86 optional) - Errors:
param_skiplock_only_root_may,no_options_specified,param_revert_unknown_option,param_delete_you_can_t,param_delete_you_can_t_2,param_revert_you_can_t,param_delete_unknown_option,cannot_add_non_managed_pass,cannot_add_non_replicatable_volume,parameter_verification_failed,checksum_mismatch_file_change_other,balloon_value_too_large_must,only_root_can_delete_config,only_root_can_modify_config,invalid_bootorder_device_does_not,param_value,failed_update,no_storage_id_specified,storage_does_not_exist,only_root_can_set_config,no_storage_id_specified_no,param_storage_storage_does_not,configuration_file_does_not_exist,locked,protection_mode_enabled,unable_delete_volume_still_use,only_root_can_set_config_2,either_host_mapping_must_set,only_root_can_set_config_3,permission_check_failed_sys_modify,cannot_change_tpm_state_version,vga_type_not_compatible_vnc,use_intel_viommu_please_set,intel_viommu_supports_only_bits,cannot_set_aw_bits_if
/nodes/{node}/qemu/{vmid}/dbus-vmstate¶
- POST: generic (from the schema)
- Access: /vms/{vmid}: VM.Migrate
- Required:
action,node,vmid - Errors:
param_needs_localhost_local_hostname,param_not_running_locally,unknown_action,must_running_locally,failed_start_dbus_vmstate_service
/nodes/{node}/qemu/{vmid}/feature¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Audit
- Required:
feature,node,vmid(+1 optional) - Errors:
snapshot_does_not_exist,configuration_file_does_not_exist,unable_find_configuration_file,no_storage_id_specified,storage_does_not_exist
/nodes/{node}/qemu/{vmid}/firewall¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,vmid
/nodes/{node}/qemu/{vmid}/firewall/aliases¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+1 optional) - Errors:
param_name_alias_already_exists,implement_subclass
/nodes/{node}/qemu/{vmid}/firewall/aliases/{name}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
name,node,vmid(+1 optional) - Errors:
implement_subclass - GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
name,node,vmid - Errors:
param_name_no_such_alias,implement_subclass - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+3 optional) - Errors:
param_name_no_such_alias,param_name_alias_already_exists,implement_subclass
/nodes/{node}/qemu/{vmid}/firewall/ipset¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
name,node,vmid(+3 optional) - Errors:
param_name_ipset_does_not,param_name_ipset_does_already,param_name_ipset_already_exists,implement_subclass
/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
name,node,vmid(+1 optional) - Errors:
ipset_not_empty,implement_subclass - GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
name,node,vmid - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+2 optional) - Errors:
param_cidr_zero_prefix_alias,param_cidr_address_already_exists,param_cidr_zero_prefix_not,implement_subclass,no_such_alias,value_does_not_look_like
/nodes/{node}/qemu/{vmid}/firewall/ipset/{name}/{cidr}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+1 optional) - Errors:
implement_subclass - GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
cidr,name,node,vmid - Errors:
param_cidr_no_such_ip,implement_subclass - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
cidr,name,node,vmid(+3 optional) - Errors:
param_cidr_no_such_ip,implement_subclass
/nodes/{node}/qemu/{vmid}/firewall/log¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Console
- Required:
node,vmid(+4 optional)
/nodes/{node}/qemu/{vmid}/firewall/options¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
node,vmid(+12 optional) - Errors:
param_delete_no_such_option,can_t_lock_firewall_config
/nodes/{node}/qemu/{vmid}/firewall/refs¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid(+1 optional)
/nodes/{node}/qemu/{vmid}/firewall/rules¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
implement_subclass - POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
action,node,type,vmid(+13 optional) - Errors:
implement_subclass,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/nodes/{node}/qemu/{vmid}/firewall/rules/{pos}¶
- DELETE: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
node,vmid(+2 optional) - Errors:
no_rule_position,implement_subclass - GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid(+1 optional) - Errors:
no_rule_position,implement_subclass - PUT: stateful (hand-written)
- Access: /vms/{vmid}: VM.Config.Network
- Required:
node,vmid(+17 optional) - Errors:
no_rule_position,implement_subclass,param_delete_no_such_property,param_delete_unable_delete_required,unknown_rule_env,parameter_verification_failed,detected_mixed_ipv_ipv_addresses
/nodes/{node}/qemu/{vmid}/migrate¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Migrate
- Required:
node,vmid(+1 optional) - Errors:
configuration_file_does_not_exist,locked,uses_local_resources,unable_find_configuration_file,cannot_live_migrate_snapshot_ram,internal_error_cannot_check_version,no_storage_id_specified,storage_does_not_exist - POST: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Migrate
- Required:
node,target,vmid(+8 optional) - Errors:
param_target_target_local,param_force_only_root_may,param_migration_type_only_root,param_migration_network_only_root,can_t_migrate_running_without,cannot_live_migrate_replicated_not,param_targetstorage_failed_parse_storage,configuration_file_does_not_exist,locked,storage_does_not_support_images,content_type_not_available_storage,unable_find_configuration_file,storage_disabled,no_storage_id_specified,storage_does_not_exist - Errors in the task:
migration_aborted,migration_problems,internal_error_unexpected_output_mtunnel,internal_error_bad_output_mtunnel,failed_get_ip_network
/nodes/{node}/qemu/{vmid}/monitor¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: Sys.Audit or Sys.Modify
- Required:
command,node,vmid - Errors:
no_command_specified,unexpected_command,root_only_command,unexpected_required_permission_command,configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/move_disk¶
- POST: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Config.Disk
- Required:
disk,node,vmid(+8 optional) - Errors:
disk_does_not_exist,disk_has_no_associated_volume,you_can_t_move_cdrom,you_can_t_move_same,param_storage_storage_does_not,you_can_t_move_disk,storage_migration_failed,could_not_find,could_not_find_target,both_vms_need_same,can_t_move_disks_template,disk_does_not_exist_2,target_disk_key_already_use,failed_parse_source_disk,cd_drive_contents_can_t,volume_not_managed_pve,can_t_move_disk_used,storage_does_not_support_moving,cannot_move_disk_another_while,failed_parse_source_disk_target,cannot_move_disk_replicated_storage,param_target_vmid,param_target_vmid_must_different,configuration_file_does_not_exist,locked,storage_disabled,unable_parse_volume_id,no_storage_id_specified,storage_does_not_exist,storage_not_available,unable_find_configuration_file,internal_error_hints_not_valid - Errors in the task:
no_source_volid_provided,no_target_vmid_target_volname,param_skiplock_only_root_may,no_options_specified,param_revert_unknown_option,param_delete_you_can_t,param_delete_you_can_t_2,param_revert_you_can_t,param_delete_unknown_option,cannot_add_non_managed_pass,cannot_add_non_replicatable_volume,parameter_verification_failed,checksum_mismatch_file_change_other,balloon_value_too_large_must,only_root_can_delete_config,only_root_can_modify_config,invalid_bootorder_device_does_not,param_value,failed_update,connection_check_storage_failed,storage_not_online,only_root_can_set_config,no_storage_id_specified_no,protection_mode_enabled,unable_delete_volume_still_use,only_root_can_set_config_2,either_host_mapping_must_set,only_root_can_set_config_3
/nodes/{node}/qemu/{vmid}/mtunnel¶
- POST: generic (from the schema)
- Access: (/vms/{vmid}: VM.Allocate and /: Sys.Incoming)
- Required:
node,vmid(+2 optional) - Errors:
param_needs_localhost_local_hostname,param_vmid_unable_create_empty,storage_does_not_support_images,bridge_does_not_exist,unexpeted_error_unable_parse_mtu,storage_disabled,no_storage_id_specified,storage_does_not_exist - Errors in the task:
encountered_wrong_lock_aborting_mtunnel,failed_allocate_nbd_disk,no_volid_set_nbd_volume,no_drivestr_set_nbd_volume,unknown_nbd_volume_key,unknown_nbd_volume,nbd_mismatch_vs,migration_over_non_unix_sockets,not_running,not_allowed_generate_ticket_unknown,failed_resolve_user_www_data,exiting_mtunnel,mtunnel_exited_unexpectedly,configuration_file_does_not_exist,got_strange_filename,no_lock_found_trying_remove,found_lock_trying_remove_lock,disk_import_already_running_pid,no_disk_import_running,qemu_exited_code,start_failed,internal_error_no_migration_ip,base_volume_still_use_linked,disk_not_support_live_restoring,mapping_contains_disk_which_does,missing_path_mapping,missing_volid_mapping,missing_format_mapping,invalid_format_mapping,live_restore_failed,no_vmid_specified,no_matching_import_export_format,failed_spawn_disk_import_child,failed_read_readyness_disk_import,could_not_get_ip_no,could_not_get_ip_multiple,no_migration_type_set,missing_description,don_t_know_how_encode,systemd_job_failed,invalid_hotplug_feature,more_than_hostnode_value_numa,hugepage_allocation_failed,must_running_locally,failed_start_dbus_vmstate_service,volume_deactivation_failed,base_volume_still_use_linked_2,quit_powerdown_failed_got_timeout,quit_powerdown_failed,locked,reverse_iteration_only_supported_default,unable_parse_volume
/nodes/{node}/qemu/{vmid}/mtunnelwebsocket¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,socket,ticket,vmid - Errors:
param_needs_localhost_local_hostname,configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/pending¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/remote_migrate¶
- POST: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Migrate
- Required:
node,target-bridge,target-endpoint,target-storage,vmid(+4 optional) - Errors:
param_vmid_cannot_remote_migrate,cannot_remote_migrate_replicated,can_t_migrate_running_without,could_not_validate_custom_cpu,param_target_storage_failed_parse,param_target_bridge_failed_parse,remote_migration_requires_explicit_storage,couldn_t_determine_endpoint_s,configuration_file_does_not_exist,locked,unable_find_configuration_file - Errors in the task:
migration_aborted,migration_problems,internal_error_unexpected_output_mtunnel,internal_error_bad_output_mtunnel,failed_get_ip_network
/nodes/{node}/qemu/{vmid}/resize¶
- PUT: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Config.Disk
- Required:
disk,node,size,vmid(+2 optional) - Errors:
param_skiplock_only_root_may,checksum_mismatch_file_change_other,disk_does_not_exist,disk_has_no_associated_volume,you_can_t_resize_cdrom,could_not_determine_current_size,internal_error,shrinking_disks_not_supported,configuration_file_does_not_exist,locked,no_block_inserted_drive,no_storage_id_specified,storage_does_not_exist,unable_parse_volume_id,internal_error_hints_not_valid,resize_file_device_not_possible
/nodes/{node}/qemu/{vmid}/rrd¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Audit
- Required:
ds,node,timeframe,vmid(+1 optional) - Errors:
fixme_no_color_definition,rrd_error
/nodes/{node}/qemu/{vmid}/rrddata¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,timeframe,vmid(+1 optional) - Errors:
rrd_error
/nodes/{node}/qemu/{vmid}/sendkey¶
- PUT: generic (from the schema)
- Access: /vms/{vmid}: VM.Console
- Required:
key,node,vmid(+1 optional) - Errors:
param_skiplock_only_root_may,configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/snapshot¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
configuration_file_does_not_exist,unable_find_configuration_file - POST: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Snapshot
- Required:
node,snapname,vmid(+2 optional) - Errors:
unable_use_snapshot_name_current,unable_use_snapshot_name_pending,configuration_file_does_not_exist,cannot_live_migrate_snapshot_ram - Errors in the task:
you_can_t_take_snapshot,snapshot_name_already_used,snapshot_feature_not_available,missing_snapshot_lock,snapshot_does_not_exist,wrong_snapshot_state
/nodes/{node}/qemu/{vmid}/snapshot/{snapname}¶
- DELETE: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Snapshot
- Required:
node,snapname,vmid(+1 optional) - Errors:
configuration_file_does_not_exist,top_most_snapshot_tpm_state,snapshot_does_not_exist,encountered_invalid_lock_expected,you_can_t_delete_snapshot,no_storage_id_specified,storage_does_not_exist,snapshot_needed_replication_job_run,too_many_unused_volumes_please - Errors in the task:
failed_obtain_guest_migration_lock - GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,snapname,vmid
/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/config¶
- GET: generic (from the schema)
- Access: /vms/{vmid}: VM.Snapshot or VM.Snapshot.Rollback or VM.Audit
- Required:
node,snapname,vmid - Errors:
snapshot_does_not_exist,configuration_file_does_not_exist - PUT: generic (from the schema)
- Access: /vms/{vmid}: VM.Snapshot
- Required:
node,snapname,vmid(+1 optional) - Errors:
snapshot_does_not_exist,configuration_file_does_not_exist,locked
/nodes/{node}/qemu/{vmid}/snapshot/{snapname}/rollback¶
- POST: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Snapshot or VM.Snapshot.Rollback
- Required:
node,snapname,vmid(+1 optional) - Errors in the task:
you_can_t_rollback_if,snapshot_does_not_exist,unable_rollback_incomplete_snapshot_snapstate,unable_rollback_running,got_wrong_lock,configuration_file_does_not_exist,locked,too_many_unused_volumes_please
/nodes/{node}/qemu/{vmid}/spiceproxy¶
- POST: generic (from the schema)
- Access: /vms/{vmid}: VM.Console
- Required:
node,vmid(+1 optional) - Errors:
configuration_file_does_not_exist,no_spice_port
/nodes/{node}/qemu/{vmid}/status¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,vmid - Errors:
configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/status/current¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Audit
- Required:
node,vmid - Errors:
configuration_file_does_not_exist
/nodes/{node}/qemu/{vmid}/status/reboot¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+1 optional) - Errors:
paused_cannot_shutdown,not_running,unable_find_configuration_file - Errors in the task:
could_not_remove_reboot_request
/nodes/{node}/qemu/{vmid}/status/reset¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+1 optional) - Errors:
param_skiplock_only_root_may,not_running,unable_find_configuration_file - Errors in the task:
configuration_file_does_not_exist,locked
/nodes/{node}/qemu/{vmid}/status/resume¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+2 optional) - Errors:
param_skiplock_only_root_may,param_nocheck_only_root_may,not_running,unable_find_configuration_file - Errors in the task:
you_can_t_start_if,already_running,configuration_file_does_not_exist,locked,qemu_exited_code,start_failed,internal_error_no_migration_ip
/nodes/{node}/qemu/{vmid}/status/shutdown¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+4 optional) - Errors:
param_skiplock_only_root_may,param_keepactive_only_root_may,paused_cannot_shutdown - Errors in the task:
configuration_file_does_not_exist,quit_powerdown_failed_got_timeout,quit_powerdown_failed
/nodes/{node}/qemu/{vmid}/status/start¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+11 optional) - Errors:
param_value_only_root_may,param_targetstorage_targetstorage_can_only,param_targetstorage_failed_parse_storage - Errors in the task:
you_can_t_start_if,already_running,configuration_file_does_not_exist,locked,qemu_exited_code,start_failed,internal_error_no_migration_ip
/nodes/{node}/qemu/{vmid}/status/stop¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+5 optional) - Errors:
param_skiplock_only_root_may,param_keepactive_only_root_may,param_migratedfrom_only_root_may,param_overrule_shutdown_not_applicable - Errors in the task:
configuration_file_does_not_exist,quit_powerdown_failed_got_timeout,quit_powerdown_failed
/nodes/{node}/qemu/{vmid}/status/suspend¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.PowerMgmt
- Required:
node,vmid(+3 optional) - Errors:
param_skiplock_only_root_may,not_running,cannot_suspend_ha_managed_disk,cannot_suspend_disk_due_passed,configuration_file_does_not_exist,unable_find_configuration_file,no_storage_id_specified,storage_does_not_exist
/nodes/{node}/qemu/{vmid}/template¶
- POST: generic (from the schema), starts a task
- Access: /vms/{vmid}: VM.Allocate
- Required:
node,vmid(+1 optional) - Errors:
unable_create_template_because_contains,you_can_t_convert_template,you_can_t_convert_template_2,configuration_file_does_not_exist,locked,unable_find_configuration_file
/nodes/{node}/qemu/{vmid}/termproxy¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Console
- Required:
node,vmid(+1 optional) - Errors:
configuration_file_does_not_exist,internal_error_unexpected_output_mtunnel,internal_error_bad_output_mtunnel,failed_get_ip_network - Errors in the task:
failed_create_pipe,failed_get_file_descriptor_flags,failed_remove_cloexec_flag_fd
/nodes/{node}/qemu/{vmid}/unlink¶
- PUT: generic (from the schema)
- Access: /vms/{vmid}: VM.Config.Disk
- Required:
idlist,node,vmid(+1 optional)
/nodes/{node}/qemu/{vmid}/vncproxy¶
- POST: stateful (hand-written)
- Access: /vms/{vmid}: VM.Console
- Required:
node,vmid(+2 optional) - Errors:
configuration_file_does_not_exist,internal_error_unexpected_output_mtunnel,internal_error_bad_output_mtunnel,failed_get_ip_network,generate_random_bytes_range_invalid,generate_random_bytes_range_invalid_2,generate_random_bytes_range_invalid_3,generate_random_bytes_range_min,generate_random_bytes_range_failed,generate_random_bytes_range_failed_2 - Errors in the task:
failed_create_socket,failed_create_ssl_socket,connection_timed_out,connection_failed,failed_run_vncproxy
/nodes/{node}/qemu/{vmid}/vncwebsocket¶
- GET: stateful (hand-written)
- Access: /vms/{vmid}: VM.Console
- Required:
node,port,vmid,vncticket - Errors:
configuration_file_does_not_exist
/nodes/{node}/query-oci-repo-tags¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.AccessNetwork
- Required:
node,reference - Errors:
install_skopeo_list_tags_oci
/nodes/{node}/query-url-metadata¶
- GET: generic (from the schema)
- Access: (/: Sys.Audit, Sys.Modify or /nodes/{node}: Sys.AccessNetwork)
- Required:
node,url(+1 optional) - Errors:
invalid_server_response
/nodes/{node}/replication¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node(+1 optional) - Errors:
internal_error_not_implemented,invalid_json_data,unable_parse_calendar_event_event
/nodes/{node}/replication/{id}¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
id,node
/nodes/{node}/replication/{id}/log¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
id,node(+2 optional) - Errors:
no_such_replication_job,permission_check_failed
/nodes/{node}/replication/{id}/schedule_now¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required:
id,node - Errors:
no_such_replication_job,guest_ids_reserved,invalid_json_data
/nodes/{node}/replication/{id}/status¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
id,node - Errors:
no_such_replication_job,internal_error_not_implemented,invalid_json_data,unable_parse_calendar_event_event
/nodes/{node}/report¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node
/nodes/{node}/rrd¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
ds,node,timeframe(+1 optional) - Errors:
fixme_no_color_definition,rrd_error
/nodes/{node}/rrddata¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node,timeframe(+1 optional) - Errors:
rrd_error
/nodes/{node}/scan¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/scan/cifs¶
- GET: generic (from the schema)
- Access: /storage: Datastore.Allocate
- Required:
node,server(+3 optional) - Errors:
unable_resolve_address_server
/nodes/{node}/scan/iscsi¶
- GET: generic (from the schema)
- Access: /storage: Datastore.Allocate
- Required:
node,portal - Errors:
unable_parse_resolve_portal_address,param_portal_unable_resolve_portal
/nodes/{node}/scan/lvm¶
- GET: generic (from the schema)
- Access: /storage: Datastore.Allocate
- Required:
node
/nodes/{node}/scan/lvmthin¶
- GET: generic (from the schema)
- Access: /storage: Datastore.Allocate
- Required:
node,vg
/nodes/{node}/scan/nfs¶
- GET: generic (from the schema)
- Access: /storage: Datastore.Allocate
- Required:
node,server - Errors:
unable_resolve_address_server
/nodes/{node}/scan/pbs¶
- GET: generic (from the schema)
- Access: /storage: Datastore.Allocate
- Required:
node,password,server,username(+2 optional) - Errors:
error_fetching_datastores
/nodes/{node}/scan/zfs¶
- GET: generic (from the schema)
- Access: /storage: Datastore.Allocate
- Required:
node
/nodes/{node}/sdn¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/sdn/fabrics/{fabric}¶
- GET: generic (from the schema)
- Access: /sdn/fabrics/{fabric}: SDN.Audit
- Required:
fabric,node
/nodes/{node}/sdn/fabrics/{fabric}/interfaces¶
- GET: generic (from the schema)
- Access: /sdn/fabrics/{fabric}: SDN.Audit
- Required:
fabric,node
/nodes/{node}/sdn/fabrics/{fabric}/neighbors¶
- GET: generic (from the schema)
- Access: /sdn/fabrics/{fabric}: SDN.Audit
- Required:
fabric,node
/nodes/{node}/sdn/fabrics/{fabric}/routes¶
- GET: generic (from the schema)
- Access: /sdn/fabrics/{fabric}: SDN.Audit
- Required:
fabric,node
/nodes/{node}/sdn/vnets/{vnet}¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,vnet
/nodes/{node}/sdn/vnets/{vnet}/mac-vrf¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,vnet - Errors:
param_vnet_vnet_does_not,param_zone_zone_does_not,param_zone_zone_not_evpn,param_zone_zone_vnet_does,no_sdn_vnet_id_specified,sdn_vnet_does_not_exist,no_sdn_zone_id_specified,sdn_zone_does_not_exist
/nodes/{node}/sdn/zones¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/sdn/zones/{zone}¶
- GET: generic (from the schema)
- Access: /sdn/zones/{zone}: SDN.Audit
- Required:
node,zone
/nodes/{node}/sdn/zones/{zone}/bridges¶
- GET: generic (from the schema)
- Access: /sdn/zones/{zone}: SDN.Audit
- Required:
node,zone - Errors:
param_zone_zone_does_not,no_sdn_zone_id_specified,sdn_zone_does_not_exist
/nodes/{node}/sdn/zones/{zone}/content¶
- GET: generic (from the schema)
- Access: /sdn/zones/{zone}: SDN.Audit
- Required:
node,zone
/nodes/{node}/sdn/zones/{zone}/ip-vrf¶
- GET: generic (from the schema)
- Access: /sdn/zones/{zone}: SDN.Audit
- Required:
node,zone - Errors:
param_zone_zone_does_not,param_zone_zone_not_evpn,param_zone_zone_does_not_2,no_sdn_zone_id_specified,sdn_zone_does_not_exist
/nodes/{node}/services¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node
/nodes/{node}/services/{service}¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node,service
/nodes/{node}/services/{service}/reload¶
- POST: generic (from the schema), starts a task
- Access: /nodes/{node}: Sys.Modify
- Required:
node,service - Errors in the task:
unknown_service_command,invalid_service_cmd_refusing_stop
/nodes/{node}/services/{service}/restart¶
- POST: generic (from the schema), starts a task
- Access: /nodes/{node}: Sys.Modify
- Required:
node,service - Errors in the task:
unknown_service_command,invalid_service_cmd_refusing_stop
/nodes/{node}/services/{service}/start¶
- POST: generic (from the schema), starts a task
- Access: /nodes/{node}: Sys.Modify
- Required:
node,service - Errors in the task:
unknown_service_command,invalid_service_cmd_refusing_stop
/nodes/{node}/services/{service}/state¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node,service
/nodes/{node}/services/{service}/stop¶
- POST: generic (from the schema), starts a task
- Access: /nodes/{node}: Sys.Modify
- Required:
node,service - Errors in the task:
unknown_service_command,invalid_service_cmd_refusing_stop
/nodes/{node}/spiceshell¶
- POST: generic (from the schema)
- Access: /nodes/{node}: Sys.Console
- Required:
node(+3 optional) - Errors:
permission_check_failed_user_root
/nodes/{node}/startall¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required:
node(+3 optional) - Errors:
permission_check_failed_powermgmt
/nodes/{node}/status¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node - POST: generic (from the schema)
- Access: /nodes/{node}: Sys.PowerMgmt
- Required:
command,node
/nodes/{node}/stopall¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required:
node(+4 optional) - Errors:
permission_check_failed_powermgmt
/nodes/{node}/storage¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required:
node(+5 optional) - Errors:
param_storage_no_such_storage,no_storage_id_specified,storage_does_not_exist,storage_not_available,storage_disabled
/nodes/{node}/storage/{storage}¶
- GET: generic (from the schema)
- Access: /storage/{storage}: Datastore.Audit or Datastore.AllocateSpace
- Required:
node,storage
/nodes/{node}/storage/{storage}/content¶
- GET: stateful (hand-written)
- Access: /storage/{storage}: Datastore.Audit or Datastore.AllocateSpace
- Required:
node,storage(+2 optional) - Errors:
no_storage_id_specified,storage_does_not_exist,connection_check_storage_failed,storage_not_online - POST: stateful (hand-written)
- Access: /storage/{storage}: Datastore.AllocateSpace
- Required:
filename,node,size,storage,vmid(+1 optional) - Errors:
param_size_unable_parse_size,param_format_different_storage_formats,no_storage_id_specified,no_vmid_specified,storage_does_not_exist,vmid_contains_illegal_characters,connection_check_storage_failed,storage_not_online
/nodes/{node}/storage/{storage}/content/{volume}¶
- DELETE: stateful (hand-written)
- Access: any logged-in user
- Required:
node,volume(+2 optional) - Errors:
param_volume,param_volume_no_storage_specified,no_storage_id_specified,storage_does_not_exist - Errors in the task:
base_volume_still_use_linked,connection_check_storage_failed,storage_not_online - GET: stateful (hand-written)
- Access: any logged-in user
- Required:
node,volume(+1 optional) - Errors:
volume_size_info_failed_no,volume_size_info_failed_no_2,volume_has_size_zero,param_volume,param_volume_no_storage_specified,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,no_storage_id_specified,storage_does_not_exist - POST: generic (from the schema), starts a task
- Access: root only
- Required:
node,target,volume(+2 optional) - Errors:
param_volume,param_volume_no_storage_specified - Errors in the task:
internal_error_unexpected_output_mtunnel,internal_error_bad_output_mtunnel,failed_get_ip_network,cannot_migrate_storage_type,unable_parse_volume_id,no_storage_id_specified,storage_does_not_exist,unsupported_format_storage_type - PUT: stateful (hand-written)
- Access: any logged-in user
- Required:
node,volume(+3 optional) - Errors:
param_volume,param_volume_no_storage_specified,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,number_protected_backups_per_guest,no_storage_id_specified,storage_does_not_exist
/nodes/{node}/storage/{storage}/download-url¶
- POST: stateful (hand-written)
- Access: (/storage/{storage}: Datastore.AllocateTemplate and (/: Sys.Audit, Sys.Modify or /nodes/{node}: Sys.AccessNetwork))
- Required:
content,filename,node,storage,url(+4 optional) - Errors:
can_t_upload_storage_type,storage_not_configured_content_type,param_filename_wrong_file_extension,param_filename_invalid_filename_wrong,param_content_upload_content_type,storage_disabled,connection_check_storage_failed,storage_not_online,ova_archive_has_no_ovf,no_storage_id_specified,storage_does_not_exist,storage_not_available,failed_query_file_information_qemu,data_file_references_not_allowed,multiple_children_extents_not_allowed,backing_file_not_allowed_untrusted,size_not_integer,used_not_integer,format_includes_whitespace,qemu_img_bug_queried_format - Errors in the task:
decompression_not_supported,no_decompression_method_found,error_archive_format_not_defined
/nodes/{node}/storage/{storage}/file-restore/download¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
filepath,node,storage,volume(+1 optional) - Errors:
param_storage_only_pbs_storages,param_volume_storage_id_mismatch,no_storage_id_specified,storage_does_not_exist,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,no_section_config_provided,undefined_store_id
/nodes/{node}/storage/{storage}/file-restore/list¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
filepath,node,storage,volume - Errors:
param_storage_only_pbs_storages,invalid_proxmox_file_restore_output,param_volume_storage_id_mismatch,no_storage_id_specified,storage_does_not_exist,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,no_section_config_provided,undefined_store_id
/nodes/{node}/storage/{storage}/identity¶
- GET: generic (from the schema)
- Access: /storage/{storage}: Datastore.Audit or Datastore.AllocateSpace
- Required:
node,storage - Errors:
storage_disabled,no_storage_id_specified,storage_does_not_exist,storage_not_available
/nodes/{node}/storage/{storage}/import-metadata¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,storage,volume - Errors:
unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,storage_does_not_support_importer,no_storage_id_specified,storage_does_not_exist
/nodes/{node}/storage/{storage}/oci-registry-pull¶
- POST: generic (from the schema), starts a task
- Access: (/storage/{storage}: Datastore.AllocateTemplate and /nodes/{node}: Sys.AccessNetwork)
- Required:
node,reference,storage(+1 optional) - Errors:
install_skopeo_pull_oci_images,can_t_upload_storage_type,storage_not_configured_content_type,refusing_override_existing_file,got_interrupted_signal,storage_disabled,connection_check_storage_failed,storage_not_online,no_storage_id_specified,storage_does_not_exist,storage_not_available - Errors in the task:
unable_rename_temporary_file
/nodes/{node}/storage/{storage}/prunebackups¶
- DELETE: generic (from the schema), starts a task
- Access: any logged-in user
- Required:
node,storage(+3 optional) - Errors in the task:
storage_does_not_support_backups,no_prune_backups_options_configured,no_storage_id_specified,storage_does_not_exist,connection_check_storage_failed,storage_not_online - GET: generic (from the schema)
- Access: /storage/{storage}: Datastore.Audit or Datastore.AllocateSpace
- Required:
node,storage(+3 optional) - Errors:
storage_does_not_support_backups,no_prune_backups_options_configured,no_storage_id_specified,storage_does_not_exist,connection_check_storage_failed,storage_not_online
/nodes/{node}/storage/{storage}/rrd¶
- GET: generic (from the schema)
- Access: /storage/{storage}: Datastore.Audit or Datastore.AllocateSpace
- Required:
ds,node,storage,timeframe(+1 optional) - Errors:
fixme_no_color_definition,rrd_error
/nodes/{node}/storage/{storage}/rrddata¶
- GET: generic (from the schema)
- Access: /storage/{storage}: Datastore.Audit or Datastore.AllocateSpace
- Required:
node,storage,timeframe(+1 optional) - Errors:
rrd_error
/nodes/{node}/storage/{storage}/status¶
- GET: stateful (hand-written)
- Access: /storage/{storage}: Datastore.Audit or Datastore.AllocateSpace
- Required:
node,storage - Errors:
param_storage_no_such_storage,storage_disabled
/nodes/{node}/storage/{storage}/upload¶
- POST: stateful (hand-written)
- Access: /storage/{storage}: Datastore.AllocateTemplate
- Required:
content,filename,node,storage(+3 optional) - Errors:
can_t_upload_storage_type,missing_temporary_file_name,storage_disabled,no_storage_id_specified,storage_does_not_exist,storage_not_available
/nodes/{node}/subscription¶
- DELETE: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
node - Errors:
cannot_delete_subscription_key - GET: generic (from the schema)
- Access: any logged-in user
- Required:
node - POST: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
node(+1 optional) - Errors:
no_matching_server_id_found,updating_offline_key_not_possible,wrong_number_sockets,subscription_key_architecture_but_host,failed_remove_apt_auth_ceph,wrong_subscription_key_format - PUT: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
key,node - Errors:
failed_generate_server_id,wrong_number_sockets,subscription_key_architecture_but_host,failed_remove_apt_auth_ceph,wrong_subscription_key_format
/nodes/{node}/suspendall¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required:
node(+2 optional) - Errors:
permission_check_failed_powermgmt_config
/nodes/{node}/syslog¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Syslog
- Required:
node(+5 optional)
/nodes/{node}/tasks¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required:
node(+10 optional)
/nodes/{node}/tasks/{upid}¶
- DELETE: generic (from the schema)
- Access: any logged-in user
- Required:
node,upid - Errors:
param_upid_unable_parse_worker,param_upid_no_such_task - GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,upid
/nodes/{node}/tasks/{upid}/log¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required:
node,upid(+3 optional) - Errors:
param_upid_unable_parse_worker,download_cannot_used_together_start,could_not_create_compressed_file,could_not_open_file
/nodes/{node}/tasks/{upid}/status¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required:
node,upid - Errors:
param_upid_unable_parse_worker,param_upid_no_such_task
/nodes/{node}/termproxy¶
- POST: generic (from the schema)
- Access: /nodes/{node}: Sys.Console
- Required:
node(+2 optional) - Errors in the task:
failed_create_pipe,failed_get_file_descriptor_flags,failed_remove_cloexec_flag_fd
/nodes/{node}/time¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Audit
- Required:
node - PUT: generic (from the schema)
- Access: /nodes/{node}: Sys.Modify
- Required:
node,timezone - Errors:
param_timezone_no_such_timezone
/nodes/{node}/version¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node
/nodes/{node}/vncshell¶
- POST: generic (from the schema)
- Access: /nodes/{node}: Sys.Console
- Required:
node(+5 optional) - Errors:
permission_check_failed_user_root,generate_random_bytes_range_invalid,generate_random_bytes_range_invalid_2,generate_random_bytes_range_invalid_3,generate_random_bytes_range_min,generate_random_bytes_range_failed,generate_random_bytes_range_failed_2
/nodes/{node}/vncwebsocket¶
- GET: generic (from the schema)
- Access: /nodes/{node}: Sys.Console
- Required:
node,port,vncticket
/nodes/{node}/vzdump¶
- POST: generic (from the schema), starts a task
- Access: any logged-in user
- Required: none (+33 optional)
- Errors:
param_option_only_allowed_command,param_stdout_option_only_allowed,you_can_only_backup_single,can_t_dup_stdout,unable_redirect_stdout,param_all_option_conflicts_option,param_exclude_option_conflicts_option,param_pool_option_conflicts_option,param_notes_template,param_vmid_property_missing,no_such_vzdump_option,stopping_backup_process_failed,parameter_verification_failed,pool_does_not_exist,error_strange_id - Errors in the task:
interrupted_signal,cannot_use_options_storage_stdout,cannot_use_options_storage_dumpdir,internal_error,unable_find_command
/nodes/{node}/vzdump/defaults¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node(+1 optional) - Errors:
can_t_use_storage_backups,no_storage_id_specified,storage_does_not_exist
/nodes/{node}/vzdump/extractconfig¶
- GET: generic (from the schema)
- Access: any logged-in user
- Required:
node,volume - Errors:
unable_extract_configuration_not_guest,unable_use_volume_content_type,cannot_access_snippet_non_snippet,missing_privileges_access,only_root_can_pass_arbitrary,backups_format_not_supported_vms,cannot_determine_backup_guest_type,unable_parse_volume_id,no_storage_id_specified,storage_does_not_exist,storage_disabled,unable_extract_configuration_backup_format,can_t_find_file,error_couldn_t_determine_archive,error_file_does_not_exist,unable_open_file,error_archive_contains_no_configuration,config_extraction_failed_exit_code
/nodes/{node}/wakeonlan¶
- POST: generic (from the schema)
- Access: /nodes/{node}: Sys.PowerMgmt
- Required:
node - Errors:
local_cannot_wake_my_self,no_wake_lan_mac_address,unable_open_socket,unable_set_socket_option,unable_bind_socket_interface,unable_send_packet
pools¶
/pools¶
- DELETE: stateful (hand-written)
- Access: /pool/{poolid}: Pool.Allocate
- Required:
poolid - Errors:
pool_does_not_exist,pool_not_empty_contains_pool,pool_not_empty_contains,pool_not_empty_contains_storage,no_storage_id_specified,storage_does_not_exist - GET: stateful (hand-written)
- Access: any logged-in user
- Required: none (+2 optional)
- Errors:
pool_does_not_exist,no_storage_id_specified,storage_does_not_exist - POST: stateful (hand-written)
- Access: /pool/{poolid}: Pool.Allocate
- Required:
poolid(+1 optional) - Errors:
pool_already_exists,parent_pool_does_not_exist,pool_name_must_start_letter - PUT: stateful (hand-written)
- Access: /pool/{poolid}: Pool.Allocate
- Required:
poolid(+5 optional) - Errors:
pool_does_not_exist,not_pool_member,already_pool_member,belongs_already_pool_allow_move,storage_not_pool_member,storage_already_pool_member
/pools/{poolid}¶
- DELETE: stateful (hand-written)
- Access: /pool/{poolid}: Pool.Allocate
- Required:
poolid - GET: stateful (hand-written)
- Access: /pool/{poolid}: Pool.Audit
- Required:
poolid(+1 optional) - PUT: stateful (hand-written)
- Access: /pool/{poolid}: Pool.Allocate
- Required:
poolid(+5 optional)
storage¶
/storage¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required: none (+1 optional)
- Errors:
no_storage_id_specified,storage_does_not_exist - POST: stateful (hand-written)
- Access: /storage: Datastore.Allocate
- Required:
storage,type(+59 optional) - Errors:
storage_id_already_defined,no_storage_id_specified,storage_does_not_exist
/storage/{storage}¶
- DELETE: stateful (hand-written)
- Access: /storage: Datastore.Allocate
- Required:
storage - Errors:
can_t_remove_storage_storage,no_storage_id_specified,storage_does_not_exist - GET: stateful (hand-written)
- Access: /storage/{storage}: Datastore.Allocate
- Required:
storage - Errors:
no_storage_id_specified,storage_does_not_exist - PUT: stateful (hand-written)
- Access: /storage: Datastore.Allocate
- Required:
storage(+50 optional) - Errors:
no_such_option,unable_delete_required_option,unable_delete_fixed_option,cannot_set_delete_property_same,no_storage_id_specified,storage_does_not_exist
version¶
/version¶
- GET: stateful (hand-written)
- Access: any logged-in user
- Required: none