Skip to content

cluster / ha ​

23 operations.

GET /cluster/ha ​

ts
proxmox.cluster.ha.$get()

Directory index.

Returns an array of object.

GET /cluster/ha/groups ​

ts
proxmox.cluster.ha.groups.$get()

Get HA groups. (deprecated in favor of HA rules)

Returns an array of object.

POST /cluster/ha/groups ​

ts
proxmox.cluster.ha.groups.$post()

Create a new HA group. (deprecated in favor of HA rules)

Returns nothing.

ParameterTypeRequiredNotes
commentstringDescription. — ≤ 4096 chars
groupstringyesThe HA group identifier. — format pve-configid
nodesstringyesList of cluster node names with optional priority. — format pve-ha-node-list
nofailbackbooleanThe CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior. — default 0
restrictedbooleanResources bound to restricted groups may only run on nodes defined by the group. — default 0
typegroupGroup type.

GET /cluster/ha/groups/{group} ​

ts
proxmox.cluster.ha.groups.$(group).$get()

Read ha group configuration. (deprecated in favor of HA rules)

Returns any.

ParameterTypeRequiredNotes
groupstringyesThe HA group identifier. — format pve-configid

PUT /cluster/ha/groups/{group} ​

ts
proxmox.cluster.ha.groups.$(group).$put()

Update ha group configuration. (deprecated in favor of HA rules)

Returns nothing.

ParameterTypeRequiredNotes
commentstringDescription. — ≤ 4096 chars
deletestringA list of settings you want to delete. — format pve-configid-list, ≤ 4096 chars
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
groupstringyesThe HA group identifier. — format pve-configid
nodesstringList of cluster node names with optional priority. — format pve-ha-node-list
nofailbackbooleanThe CRM tries to run services on the node with the highest priority. If a node with higher priority comes online, the CRM migrates the service to that node. Enabling nofailback prevents that behavior. — default 0
restrictedbooleanResources bound to restricted groups may only run on nodes defined by the group. — default 0

DELETE /cluster/ha/groups/{group} ​

ts
proxmox.cluster.ha.groups.$(group).$delete()

Delete ha group configuration. (deprecated in favor of HA rules)

Returns nothing.

ParameterTypeRequiredNotes
groupstringyesThe HA group identifier. — format pve-configid

GET /cluster/ha/resources ​

ts
proxmox.cluster.ha.resources.$get()

List HA resources.

Returns an array of object.

ParameterTypeRequiredNotes
typect | vmOnly list resources of specific type

POST /cluster/ha/resources ​

ts
proxmox.cluster.ha.resources.$post()

Create a new HA resource.

Returns nothing.

ParameterTypeRequiredNotes
auto-rebalancebooleanHA resource may be migrated during automatic rebalancing — default 1
commentstringDescription. — ≤ 4096 chars
failbackbooleanAutomatically migrate HA resource to the node with the highest priority according to their node affinity rules, if a node with a higher priority than the current node comes online. — default 1
groupstringThe HA group identifier. — format pve-configid
max_relocatenumberMaximal number of resource relocate tries when a resource fails to start. — min 0, default 1
max_restartnumberMaximal number of tries to restart the resource on a node after its start failed. When reached, the HA manager will try to relocate the resource to an eligible node. — min 0, default 1
sidstringyesHA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100). — format pve-ha-resource-or-vm-id
statestarted | stopped | enabled | disabled | ignoredRequested resource state. — default "started"
typect | vmResource type.

GET /cluster/ha/resources/{sid} ​

ts
proxmox.cluster.ha.resources.$(sid).$get()

Read resource configuration.

Returns object.

ParameterTypeRequiredNotes
sidstringyesHA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100). — format pve-ha-resource-or-vm-id

PUT /cluster/ha/resources/{sid} ​

ts
proxmox.cluster.ha.resources.$(sid).$put()

Update resource configuration.

Returns nothing.

ParameterTypeRequiredNotes
auto-rebalancebooleanHA resource may be migrated during automatic rebalancing — default 1
commentstringDescription. — ≤ 4096 chars
deletestringA list of settings you want to delete. — format pve-configid-list, ≤ 4096 chars
digeststringPrevent changes if current configuration file has a different digest. This can be used to prevent concurrent modifications. — ≤ 64 chars
failbackbooleanAutomatically migrate HA resource to the node with the highest priority according to their node affinity rules, if a node with a higher priority than the current node comes online. — default 1
groupstringThe HA group identifier. — format pve-configid
max_relocatenumberMaximal number of resource relocate tries when a resource fails to start. — min 0, default 1
max_restartnumberMaximal number of tries to restart the resource on a node after its start failed. When reached, the HA manager will try to relocate the resource to an eligible node. — min 0, default 1
sidstringyesHA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100). — format pve-ha-resource-or-vm-id
statestarted | stopped | enabled | disabled | ignoredRequested resource state. — default "started"

DELETE /cluster/ha/resources/{sid} ​

ts
proxmox.cluster.ha.resources.$(sid).$delete()

Delete resource configuration.

Returns nothing.

ParameterTypeRequiredNotes
purgebooleanRemove this resource from rules that reference it, deleting the rule if this resource is the only resource in the rule — default 1
sidstringyesHA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100). — format pve-ha-resource-or-vm-id

POST /cluster/ha/resources/{sid}/migrate ​

ts
proxmox.cluster.ha.resources.$(sid).migrate.$post()

Request resource migration (online) to another node.

Returns object.

ParameterTypeRequiredNotes
nodestringyesTarget node. — format pve-node
sidstringyesHA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100). — format pve-ha-resource-or-vm-id

POST /cluster/ha/resources/{sid}/relocate ​

ts
proxmox.cluster.ha.resources.$(sid).relocate.$post()

Request resource relocation to another node. This stops the service on the old node, and restarts it on the target node.

Returns object.

ParameterTypeRequiredNotes
nodestringyesTarget node. — format pve-node
sidstringyesHA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100). — format pve-ha-resource-or-vm-id

GET /cluster/ha/rules ​

ts
proxmox.cluster.ha.rules.$get()

Get HA rules.

Returns an array of object.

ParameterTypeRequiredNotes
resourcestringLimit the returned list to rules affecting the specified resource.
typenode-affinity | resource-affinityLimit the returned list to the specified rule type.

POST /cluster/ha/rules ​

ts
proxmox.cluster.ha.rules.$post()

Create HA rule.

Returns nothing.

GET /cluster/ha/rules/{rule} ​

ts
proxmox.cluster.ha.rules.$(rule).$get()

Read HA rule.

Returns object.

ParameterTypeRequiredNotes
rulestringyesHA rule identifier. — format pve-configid

PUT /cluster/ha/rules/{rule} ​

ts
proxmox.cluster.ha.rules.$(rule).$put()

Update HA rule.

Returns nothing.

DELETE /cluster/ha/rules/{rule} ​

ts
proxmox.cluster.ha.rules.$(rule).$delete()

Delete HA rule.

Returns nothing.

ParameterTypeRequiredNotes
rulestringyesHA rule identifier. — format pve-configid

GET /cluster/ha/status ​

ts
proxmox.cluster.ha.status.$get()

Directory index.

Returns an array of object.

POST /cluster/ha/status/arm-ha ​

ts
proxmox.cluster.ha.status["arm-ha"].$post()

Request re-arming the HA stack after it was disarmed.

Returns nothing.

GET /cluster/ha/status/current ​

ts
proxmox.cluster.ha.status.current.$get()

Get HA manager status.

Returns an array of object.

POST /cluster/ha/status/disarm-ha ​

ts
proxmox.cluster.ha.status["disarm-ha"].$post()

Request disarming the HA stack, releasing all watchdogs cluster-wide.

Returns nothing.

ParameterTypeRequiredNotes
resource-modefreeze | ignoreyesControls how HA managed resources are handled while disarmed. The current state of resources is not affected. 'freeze': new commands and state changes are not applied. 'ignore': resources are removed from HA tracking and can be managed as if they were not HA managed.

GET /cluster/ha/status/manager_status ​

ts
proxmox.cluster.ha.status.manager_status.$get()

Get full HA manager status, including LRM status.

Returns object.