droplet_actions
Creates, updates, deletes, gets or lists a droplet_actions
resource.
Overview
Name | droplet_actions |
Type | Resource |
Id | digitalocean.compute.droplet_actions |
Fields
The following fields are returned by SELECT
queries:
- droplet_actions_get
- droplet_actions_list
The result will be a JSON object with an action key. This will be set to an action object containing the standard action attributes.
Name | Datatype | Description |
---|---|---|
id | integer | A unique numeric ID that can be used to identify and reference an action. |
resource_id | integer | A unique identifier for the resource that the action is associated with. |
completed_at | string (date-time) | A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z) |
region | object | |
region_slug | string | A human-readable string that is used as a unique identifier for each region. (example: nyc3) |
resource_type | string | The type of resource that the action is associated with. (example: droplet) |
started_at | string (date-time) | A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z) |
status | string | The current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress) |
type | string | This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create) |
A JSON object with an actions
key.
Name | Datatype | Description |
---|---|---|
id | integer | A unique numeric ID that can be used to identify and reference an action. |
resource_id | integer | A unique identifier for the resource that the action is associated with. |
completed_at | string (date-time) | A time value given in ISO8601 combined date and time format that represents when the action was completed. (example: 2020-11-14T16:30:06Z) |
region | object | |
region_slug | string | A human-readable string that is used as a unique identifier for each region. (example: nyc3) |
resource_type | string | The type of resource that the action is associated with. (example: droplet) |
started_at | string (date-time) | A time value given in ISO8601 combined date and time format that represents when the action was initiated. (example: 2020-11-14T16:29:21Z) |
status | string | The current status of the action. This can be "in-progress", "completed", or "errored". (example: completed, default: in-progress) |
type | string | This is the type of action that the object represents. For example, this could be "transfer" to represent the state of an image transfer action. (example: create) |
Methods
The following methods are available for this resource:
Name | Accessible by | Required Params | Optional Params | Description |
---|---|---|---|---|
droplet_actions_get | select | droplet_id , action_id | To retrieve a Droplet action, send a GET request to/v2/droplets/$DROPLET_ID/actions/$ACTION_ID .The response will be a JSON object with a key called action . The value willbe a Droplet action object. | |
droplet_actions_list | select | droplet_id | per_page , page | To retrieve a list of all actions that have been executed for a Droplet, send a GET request to /v2/droplets/$DROPLET_ID/actions .The results will be returned as a JSON object with an actions key. This willbe set to an array filled with action objects containing the standardaction attributes. |
droplet_actions_post | exec | droplet_id | To initiate an action on a Droplet send a POST request to/v2/droplets/$DROPLET_ID/actions . In the JSON body to the request,set the type attribute to on of the supported action types:| Action | Details | Additionally Required Permission | | ---------------------------------------- | ----------- | ----------- | | <nobr> enable_backups </nobr> | Enables backups for a Droplet | || <nobr> disable_backups </nobr> | Disables backups for a Droplet | || <nobr> change_backup_policy </nobr> | Update the backup policy for a Droplet | || <nobr> reboot </nobr> | Reboots a Droplet. A reboot action is an attempt to reboot the Droplet in a graceful way, similar to using the reboot command from the console. | || <nobr> power_cycle </nobr> | Power cycles a Droplet. A powercycle action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch. | || <nobr> shutdown </nobr> | Shutsdown a Droplet. A shutdown action is an attempt to shutdown the Droplet in a graceful way, similar to using the shutdown command from the console. Since a shutdown command can fail, this action guarantees that the command is issued, not that it succeeds. The preferred way to turn off a Droplet is to attempt a shutdown, with a reasonable timeout, followed by a power_off action to ensure the Droplet is off. | || <nobr> power_off </nobr> | Powers off a Droplet. A power_off event is a hard shutdown and should only be used if the shutdown action is not successful. It is similar to cutting the power on a server and could lead to complications. | || <nobr> power_on </nobr> | Powers on a Droplet. | || <nobr> restore </nobr> | Restore a Droplet using a backup image. The image ID that is passed in must be a backup of the current Droplet instance. The operation will leave any embedded SSH keys intact. | droplet:admin || <nobr> password_reset </nobr> | Resets the root password for a Droplet. A new password will be provided via email. It must be changed after first use. | droplet:admin || <nobr> resize </nobr> | Resizes a Droplet. Set the size attribute to a size slug. If a permanent resize with disk changes included is desired, set the disk attribute to true . | droplet:create || <nobr> rebuild </nobr> | Rebuilds a Droplet from a new base image. Set the image attribute to an image ID or slug. | droplet:admin || <nobr> rename </nobr> | Renames a Droplet. | || <nobr> change_kernel </nobr> | Changes a Droplet's kernel. Only applies to Droplets with externally managed kernels. All Droplets created after March 2017 use internal kernels by default. | || <nobr> enable_ipv6 </nobr> | Enables IPv6 for a Droplet. Once enabled for a Droplet, IPv6 can not be disabled. When enabling IPv6 on an existing Droplet, additional OS-level configuration is required. | || <nobr> snapshot </nobr> | Takes a snapshot of a Droplet. | image:create | | |
droplet_actions_post_by_tag | exec | tag_name | Some actions can be performed in bulk on tagged Droplets. The actions can be initiated by sending a POST to /v2/droplets/actions?tag_name=$TAG_NAME withthe action arguments. Only a sub-set of action types are supported: - power_cycle - power_on - power_off - shutdown - enable_ipv6 - enable_backups - disable_backups - snapshot (also requires image:create permission) |
Parameters
Parameters can be passed in the WHERE
clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
Name | Datatype | Description |
---|---|---|
action_id | integer | A unique numeric ID that can be used to identify and reference an action. (example: 36804636) |
droplet_id | integer | A unique identifier for a Droplet instance. (example: 3164444) |
page | integer | Which 'page' of paginated results to return. (example: 1) |
per_page | integer | Number of items returned per page (example: 2) |
tag_name | string | Used to filter Droplets by a specific tag. Can not be combined with name or type .Requires tag:read scope. (example: env:prod) |
SELECT
examples
- droplet_actions_get
- droplet_actions_list
To retrieve a Droplet action, send a GET request to/v2/droplets/$DROPLET_ID/actions/$ACTION_ID
.
The response will be a JSON object with a key called action
. The value will
be a Droplet action object.
SELECT
id,
resource_id,
completed_at,
region,
region_slug,
resource_type,
started_at,
status,
type
FROM digitalocean.compute.droplet_actions
WHERE droplet_id = '{{ droplet_id }}' -- required
AND action_id = '{{ action_id }}' -- required;
To retrieve a list of all actions that have been executed for a Droplet, send
a GET request to /v2/droplets/$DROPLET_ID/actions
.
The results will be returned as a JSON object with an actions
key. This will
be set to an array filled with action
objects containing the standardaction
attributes.
SELECT
id,
resource_id,
completed_at,
region,
region_slug,
resource_type,
started_at,
status,
type
FROM digitalocean.compute.droplet_actions
WHERE droplet_id = '{{ droplet_id }}' -- required
AND per_page = '{{ per_page }}'
AND page = '{{ page }}';
Lifecycle Methods
- droplet_actions_post
- droplet_actions_post_by_tag
To initiate an action on a Droplet send a POST request to/v2/droplets/$DROPLET_ID/actions
. In the JSON body to the request,
set the type
attribute to on of the supported action types:
| Action | Details | Additionally Required Permission |
| ---------------------------------------- | ----------- | ----------- |
| <nobr>enable_backups
</nobr> | Enables backups for a Droplet | |
| <nobr>disable_backups
</nobr> | Disables backups for a Droplet | |
| <nobr>change_backup_policy
</nobr> | Update the backup policy for a Droplet | |
| <nobr>reboot
</nobr> | Reboots a Droplet. A reboot
action is an attempt to reboot the Droplet in a graceful way, similar to using the reboot
command from the console. | |
| <nobr>power_cycle
</nobr> | Power cycles a Droplet. A powercycle
action is similar to pushing the reset button on a physical machine, it's similar to booting from scratch. | |
| <nobr>shutdown
</nobr> | Shutsdown a Droplet. A shutdown action is an attempt to shutdown the Droplet in a graceful way, similar to using the shutdown
command from the console. Since a shutdown
command can fail, this action guarantees that the command is issued, not that it succeeds. The preferred way to turn off a Droplet is to attempt a shutdown, with a reasonable timeout, followed by a power_off
action to ensure the Droplet is off. | |
| <nobr>power_off
</nobr> | Powers off a Droplet. A power_off
event is a hard shutdown and should only be used if the shutdown
action is not successful. It is similar to cutting the power on a server and could lead to complications. | |
| <nobr>power_on
</nobr> | Powers on a Droplet. | |
| <nobr>restore
</nobr> | Restore a Droplet using a backup image. The image ID that is passed in must be a backup of the current Droplet instance. The operation will leave any embedded SSH keys intact. | droplet:admin |
| <nobr>password_reset
</nobr> | Resets the root password for a Droplet. A new password will be provided via email. It must be changed after first use. | droplet:admin |
| <nobr>resize
</nobr> | Resizes a Droplet. Set the size
attribute to a size slug. If a permanent resize with disk changes included is desired, set the disk
attribute to true
. | droplet:create |
| <nobr>rebuild
</nobr> | Rebuilds a Droplet from a new base image. Set the image
attribute to an image ID or slug. | droplet:admin |
| <nobr>rename
</nobr> | Renames a Droplet. | |
| <nobr>change_kernel
</nobr> | Changes a Droplet's kernel. Only applies to Droplets with externally managed kernels. All Droplets created after March 2017 use internal kernels by default. | |
| <nobr>enable_ipv6
</nobr> | Enables IPv6 for a Droplet. Once enabled for a Droplet, IPv6 can not be disabled. When enabling IPv6 on an existing Droplet, additional OS-level configuration is required. | |
| <nobr>snapshot
</nobr> | Takes a snapshot of a Droplet. | image:create |
EXEC digitalocean.compute.droplet_actions.droplet_actions_post
@droplet_id='{{ droplet_id }}' --required;
Some actions can be performed in bulk on tagged Droplets. The actions can be
initiated by sending a POST to /v2/droplets/actions?tag_name=$TAG_NAME
with
the action arguments.
Only a sub-set of action types are supported:
- power_cycle
- power_on
- power_off
- shutdown
- enable_ipv6
- enable_backups
- disable_backups
- snapshot
(also requires image:create
permission)
EXEC digitalocean.compute.droplet_actions.droplet_actions_post_by_tag
@tag_name='{{ tag_name }}';