Skip to main content

droplets

Creates, updates, deletes, gets or lists a droplets resource.

Overview

Namedroplets
TypeResource
Iddigitalocean.compute.droplets

Fields

The following fields are returned by SELECT queries:

The response will be a JSON object with a key called droplet. This will be
set to a JSON object that contains the standard Droplet attributes.

NameDatatypeDescription
idintegerA unique identifier for each Droplet instance. This is automatically generated upon Droplet creation.
namestringThe human-readable name set for the Droplet instance. (example: example.com)
backup_idsarrayAn array of backup IDs of any backups that have been taken of the Droplet instance. Droplet backups are enabled at the time of the instance creation.
Requires image:read scope.
created_atstring (date-time)A time value given in ISO8601 combined date and time format that represents when the Droplet was created. (example: 2020-07-21T18:37:44Z)
diskintegerThe size of the Droplet's disk in gigabytes.
disk_infoarrayAn array of objects containing information about the disks available to the Droplet.
featuresarrayAn array of features enabled on this Droplet.
gpu_infoobjectAn object containing information about the GPU capabilities of Droplets created with this size.
imageobjectThe Droplet's image.
Requires image:read scope.
kernelobjectNote: All Droplets created after March 2017 use internal kernels by default. These Droplets will have this attribute set to null. The current kernel for Droplets with externally managed kernels. This will initially be set to the kernel of the base image when the Droplet is created.
lockedbooleanA boolean value indicating whether the Droplet has been locked, preventing actions by users.
memoryintegerMemory of the Droplet in megabytes.
networksobjectThe details of the network that are configured for the Droplet instance. This is an object that contains keys for IPv4 and IPv6. The value of each of these is an array that contains objects describing an individual IP resource allocated to the Droplet. These will define attributes like the IP address, netmask, and gateway of the specific network depending on the type of network it is.
next_backup_windowobjectThe details of the Droplet's backups feature, if backups are configured for the Droplet. This object contains keys for the start and end times of the window during which the backup will start.
regionobject
sizeobject
size_slugstringThe unique slug identifier for the size of this Droplet. (example: s-1vcpu-1gb)
snapshot_idsarrayAn array of snapshot IDs of any snapshots created from the Droplet instance.
Requires image:read scope.
statusstringA status string indicating the state of the Droplet instance. This may be "new", "active", "off", or "archive". (example: active)
tagsarrayAn array of Tags the Droplet has been tagged with.
Requires tag:read scope.
vcpusintegerThe number of virtual CPUs.
volume_idsarrayA flat array including the unique identifier for each Block Storage volume attached to the Droplet.
Requires block_storage:read scope.
vpc_uuidstringA string specifying the UUID of the VPC to which the Droplet is assigned.
Requires vpc:read scope. (example: 760e09ef-dc84-11e8-981e-3cfdfeaae000)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
droplets_getselectdroplet_idTo show information about an individual Droplet, send a GET request to
/v2/droplets/$DROPLET_ID.
droplets_listselectper_page, page, tag_name, name, typeTo list all Droplets in your account, send a GET request to /v2/droplets.

The response body will be a JSON object with a key of droplets. This will be
set to an array containing objects each representing a Droplet. These will
contain the standard Droplet attributes.

### Filtering Results by Tag

It's possible to request filtered results by including certain query parameters.
To only list Droplets assigned to a specific tag, include the tag_name query
parameter set to the name of the tag in your GET request. For example,
/v2/droplets?tag_name=$TAG_NAME.

### GPU Droplets

By default, only non-GPU Droplets are returned. To list only GPU Droplets, set
the type query parameter to gpus. For example, /v2/droplets?type=gpus.
droplets_createinsertTo create a new Droplet, send a POST request to /v2/droplets setting the
required attributes.

A Droplet will be created using the provided information. The response body
will contain a JSON object with a key called droplet. The value will be an
object containing the standard attributes for your new Droplet. The response
code, 202 Accepted, does not indicate the success or failure of the operation,
just that the request has been accepted for processing. The actions returned
as part of the response's links object can be used to check the status
of the Droplet create event.

### Create Multiple Droplets

Creating multiple Droplets is very similar to creating a single Droplet.
Instead of sending name as a string, send names as an array of strings. A
Droplet will be created for each name you send using the associated
information. Up to ten Droplets may be created this way at a time.

Rather than returning a single Droplet, the response body will contain a JSON
array with a key called droplets. This will be set to an array of JSON
objects, each of which will contain the standard Droplet attributes. The
response code, 202 Accepted, does not indicate the success or failure of any
operation, just that the request has been accepted for processing. The array
of actions returned as part of the response's links object can be used to
check the status of each individual Droplet create event.
droplets_destroydeletedroplet_idTo delete a Droplet, send a DELETE request to /v2/droplets/$DROPLET_ID.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.
droplets_destroy_by_tagdeletetag_nameTo delete all Droplets assigned to a specific tag, include the tag_name
query parameter set to the name of the tag in your DELETE request. For
example, /v2/droplets?tag_name=$TAG_NAME.

This endpoint requires tag:read scope.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.

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.

NameDatatypeDescription
droplet_idintegerA unique identifier for a Droplet instance. (example: 3164444)
tag_namestringSpecifies Droplets to be deleted by tag. (example: env:test)
namestringUsed to filter list response by Droplet name returning only exact matches. It is case-insensitive and can not be combined with tag_name. (example: web-01)
pageintegerWhich 'page' of paginated results to return. (example: 1)
per_pageintegerNumber of items returned per page (example: 2)
tag_namestringUsed to filter Droplets by a specific tag. Can not be combined with name or type.
Requires tag:read scope. (example: env:prod)
typestringWhen type is set to gpus, only GPU Droplets will be returned. By default, only non-GPU Droplets are returned. Can not be combined with tag_name. (example: droplets)

SELECT examples

To show information about an individual Droplet, send a GET request to
/v2/droplets/$DROPLET_ID.

SELECT
id,
name,
backup_ids,
created_at,
disk,
disk_info,
features,
gpu_info,
image,
kernel,
locked,
memory,
networks,
next_backup_window,
region,
size,
size_slug,
snapshot_ids,
status,
tags,
vcpus,
volume_ids,
vpc_uuid
FROM digitalocean.compute.droplets
WHERE droplet_id = '{{ droplet_id }}' -- required;

INSERT examples

To create a new Droplet, send a POST request to /v2/droplets setting the
required attributes.

A Droplet will be created using the provided information. The response body
will contain a JSON object with a key called droplet. The value will be an
object containing the standard attributes for your new Droplet. The response
code, 202 Accepted, does not indicate the success or failure of the operation,
just that the request has been accepted for processing. The actions returned
as part of the response's links object can be used to check the status
of the Droplet create event.

### Create Multiple Droplets

Creating multiple Droplets is very similar to creating a single Droplet.
Instead of sending name as a string, send names as an array of strings. A
Droplet will be created for each name you send using the associated
information. Up to ten Droplets may be created this way at a time.

Rather than returning a single Droplet, the response body will contain a JSON
array with a key called droplets. This will be set to an array of JSON
objects, each of which will contain the standard Droplet attributes. The
response code, 202 Accepted, does not indicate the success or failure of any
operation, just that the request has been accepted for processing. The array
of actions returned as part of the response's links object can be used to
check the status of each individual Droplet create event.

INSERT INTO digitalocean.compute.droplets (

)
SELECT

;

DELETE examples

To delete a Droplet, send a DELETE request to /v2/droplets/$DROPLET_ID.

A successful request will receive a 204 status code with no body in response.
This indicates that the request was processed successfully.

DELETE FROM digitalocean.compute.droplets
WHERE droplet_id = '{{ droplet_id }}' --required;