Digitalocean Droplets
Operations Summary
Method
Endpoint
Description
Core CRUD
GET
/api/digitalocean-droplets/
List Digitalocean Droplets
GET
/api/digitalocean-droplets/{uuid}/
Retrieve
POST
/api/digitalocean-droplets/
Create
POST
/api/digitalocean-droplets/{uuid}/pull/
Synchronize resource state
POST
/api/digitalocean-droplets/{uuid}/unlink/
Unlink resource
PUT
/api/digitalocean-droplets/{uuid}/
Update
PATCH
/api/digitalocean-droplets/{uuid}/
Partial Update
DELETE
/api/digitalocean-droplets/{uuid}/
Delete
Other Actions
POST
/api/digitalocean-droplets/{uuid}/resize/
Resize
POST
/api/digitalocean-droplets/{uuid}/restart/
Restart
POST
/api/digitalocean-droplets/{uuid}/start/
Start
POST
/api/digitalocean-droplets/{uuid}/stop/
Stop
Core CRUD
List Digitalocean Droplets
Retrieve
Create
HTTPie Python TypeScript Request Body (required) Responses
http \
POST \
https://api.example.com/api/digitalocean-droplets/ \
Authorization:"Token YOUR_API_TOKEN" \
name = "my-awesome-digitalocean-droplet" \
service_settings = "https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
project = "https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
region = "https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
image = "https://api.example.com/api/image/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
size = 100
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.digital_ocean_droplet_request import DigitalOceanDropletRequest # (1)
from waldur_api_client.api.digitalocean_droplets import digitalocean_droplets_create # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = DigitalOceanDropletRequest (
name = "my-awesome-digitalocean-droplet" ,
service_settings = "https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
project = "https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
region = "https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
image = "https://api.example.com/api/image/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
size = 100
)
response = digitalocean_droplets_create . sync (
client = client ,
body = body_data
)
print ( response )
Model Source: DigitalOceanDropletRequest
API Source: digitalocean_droplets_create
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import { digitaloceanDropletsCreate } from 'waldur-js-client' ;
try {
const response = await digitaloceanDropletsCreate ({
auth : "Token YOUR_API_TOKEN" ,
body : {
"name" : "my-awesome-digitalocean-droplet" ,
"service_settings" : "https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"project" : "https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"region" : "https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"image" : "https://api.example.com/api/image/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"size" : 100
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Field
Type
Required
Description
name
string
✓
description
string
service_settings
string (uri)
✓
project
string (uri)
✓
ssh_public_key
string (uri)
Constraints: write-only
user_data
string
Additional data that will be added to instance on provisioning
region
string (uri)
✓
Constraints: write-only
image
string (uri)
✓
Constraints: write-only
size
string (uri)
✓
Constraints: write-only
201 -
Field
Type
Description
url
string (uri)
uuid
string (uuid)
name
string
description
string
service_name
string
service_settings
string (uri)
service_settings_uuid
string (uuid)
service_settings_state
string
service_settings_error_message
string
project
string (uri)
project_name
string
project_uuid
string (uuid)
customer
string (uri)
customer_uuid
string (uuid)
customer_name
string
customer_native_name
string
customer_abbreviation
string
error_message
string
error_traceback
string
resource_type
string
state
any
created
string (date-time)
modified
string (date-time)
backend_id
string
access_url
string
start_time
string (date-time)
cores
integer
Number of cores in a VM
ram
integer
Memory size in MiB
disk
integer
Disk size in MiB
min_ram
integer
Minimum memory size in MiB
min_disk
integer
Minimum disk size in MiB
user_data
string
Additional data that will be added to instance on provisioning
external_ips
array of string (ipv4)s
internal_ips
array of string (ipv4)s
latitude
number (double)
longitude
number (double)
key_name
string
key_fingerprint
string
image_name
string
runtime_state
string
region_name
string
marketplace_offering_uuid
string
marketplace_offering_name
string
marketplace_offering_plugin_options
object (free-form)
marketplace_category_uuid
string
marketplace_category_name
string
marketplace_resource_uuid
string
marketplace_plan_uuid
string
marketplace_resource_state
string
is_usage_based
boolean
is_limit_based
boolean
Synchronize resource state
Schedule an asynchronous pull operation to synchronize resource state from the backend. Returns 202 if the pull was scheduled successfully, or 409 if the pull operation is not implemented for this resource type.
Unlink resource
Delete resource from the database without scheduling operations on backend
and without checking current state of the resource. It is intended to be used
for removing resource stuck in transitioning state.
Update
HTTPie Python TypeScript Path Parameters Request Body (required) Responses
http \
PUT \
https://api.example.com/api/digitalocean-droplets/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
Authorization:"Token YOUR_API_TOKEN" \
name = "my-awesome-digitalocean-droplet" \
service_settings = "https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
project = "https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
region = "https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
image = "https://api.example.com/api/image/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
size = 100
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.digital_ocean_droplet_request import DigitalOceanDropletRequest # (1)
from waldur_api_client.api.digitalocean_droplets import digitalocean_droplets_update # (2)
client = AuthenticatedClient (
base_url = "https://api.example.com" , token = "YOUR_API_TOKEN"
)
body_data = DigitalOceanDropletRequest (
name = "my-awesome-digitalocean-droplet" ,
service_settings = "https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
project = "https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
region = "https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
image = "https://api.example.com/api/image/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
size = 100
)
response = digitalocean_droplets_update . sync (
uuid = "a1b2c3d4-e5f6-7890-abcd-ef1234567890" ,
client = client ,
body = body_data
)
print ( response )
Model Source: DigitalOceanDropletRequest
API Source: digitalocean_droplets_update
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import { digitaloceanDropletsUpdate } from 'waldur-js-client' ;
try {
const response = await digitaloceanDropletsUpdate ({
auth : "Token YOUR_API_TOKEN" ,
path : {
"uuid" : "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
body : {
"name" : "my-awesome-digitalocean-droplet" ,
"service_settings" : "https://api.example.com/api/service-settings/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"project" : "https://api.example.com/api/project/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"region" : "https://api.example.com/api/region/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"image" : "https://api.example.com/api/image/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" ,
"size" : 100
}
});
console . log ( 'Success:' , response );
} catch ( error ) {
console . error ( 'Error:' , error );
}
Name
Type
Required
uuid
string (uuid)
✓
Field
Type
Required
Description
name
string
✓
description
string
service_settings
string (uri)
✓
project
string (uri)
✓
ssh_public_key
string (uri)
Constraints: write-only
user_data
string
Additional data that will be added to instance on provisioning
region
string (uri)
✓
Constraints: write-only
image
string (uri)
✓
Constraints: write-only
size
string (uri)
✓
Constraints: write-only
200 -
Field
Type
Description
url
string (uri)
uuid
string (uuid)
name
string
description
string
service_name
string
service_settings
string (uri)
service_settings_uuid
string (uuid)
service_settings_state
string
service_settings_error_message
string
project
string (uri)
project_name
string
project_uuid
string (uuid)
customer
string (uri)
customer_uuid
string (uuid)
customer_name
string
customer_native_name
string
customer_abbreviation
string
error_message
string
error_traceback
string
resource_type
string
state
any
created
string (date-time)
modified
string (date-time)
backend_id
string
access_url
string
start_time
string (date-time)
cores
integer
Number of cores in a VM
ram
integer
Memory size in MiB
disk
integer
Disk size in MiB
min_ram
integer
Minimum memory size in MiB
min_disk
integer
Minimum disk size in MiB
user_data
string
Additional data that will be added to instance on provisioning
external_ips
array of string (ipv4)s
internal_ips
array of string (ipv4)s
latitude
number (double)
longitude
number (double)
key_name
string
key_fingerprint
string
image_name
string
runtime_state
string
region_name
string
marketplace_offering_uuid
string
marketplace_offering_name
string
marketplace_offering_plugin_options
object (free-form)
marketplace_category_uuid
string
marketplace_category_name
string
marketplace_resource_uuid
string
marketplace_plan_uuid
string
marketplace_resource_state
string
is_usage_based
boolean
is_limit_based
boolean
Partial Update
Delete
Other Actions
Resize
To resize droplet, submit a POST request to the instance URL, specifying URI of a target size.
Pass {'disk': true} along with target size in order to perform permanent resizing,
which allows you to resize your disk space as well as CPU and RAM.
After increasing the disk size, you will not be able to decrease it.
Pass {'disk': false} along with target size in order to perform flexible resizing,
which only upgrades your CPU and RAM. This option is reversible.
Note that instance must be OFFLINE.
Restart
Start
Stop