The cluster allows you to invoke general maintenance actions such as rebalancing or taking a node offline by moving all of its entities to other nodes.

Actions are implemented as tasks in the cluster. Every task has a unique task_id assigned by the cluster, a task name which describes the task, a status, and additional task-specific parameters.

The REST API provides a simplified interface that allows callers to invoke actions and query their status without a specific task_id.

The action lifecycle is based on the following status and status transitions:

Action lifecycle

Name Type/Value Description
progress integer (range: 0-100) Represents percent completed
status queued Requested operation and added it to the queue to await processing
starting Picked up operation from the queue and started processing
running Currently executing operation
cancelling Operation cancellation is in progress
cancelled Operation cancelled
completed Operation completed
failed Operation failed

When a task fails, the error_code and error_message fields describe the error.

Possible error_code values:

Code Description
internal_error An internal error that cannot be mapped to a more precise error code
insufficient_resources The cluster does not have sufficient resources to complete the required operation