DigitalOcean APIv2 client module

class client.DOClient(token)[source]

DigitalOcean APIv2 client

__init__(token)[source]

DigitalOcean APIv2 client init :param token: DigitalOcean API authentication token :type token: basestring

add_request_headers(header_data)[source]

Helper method to add additional request headers to DigitalOcean API calls.

Parameters:header_data (dict, tuple) – Header key, values to add to request.
Return type:NoneType
api_request(url, method='GET', data=None, return_json=True)[source]

DigitalOcean API request helper method.

Parameters:
  • url (basestring) – REST API url to place a HTTP request to.
  • method (basestring) – HTTP method
  • data (dict) – HTTP payload (JSON dumpable)
  • return_json (bool) – Specifies return data format. If false, returns bare response. Else returns an APIResponse object.
Return type:

dict, requests.models.Response

static create_domain(name, ip_address)[source]

Helper method to create domain name mapping for domains managed through DigitalOcean’s DNS interface.

Parameters:
Return type:

dict

create_droplet(name, region, size, image, ssh_keys=None, backups=False, ipv6=False, user_data=None, private_networking=False)[source]

DigitalOcean APIv2 droplet create method. Creates a droplet with requested payload features.

Parameters:
  • name (basestring) – Identifier for createddroplet.
  • region (basestring) – Region identifier to spawn droplet
  • size (basestring) – Size of droplet to create. [512mb, 1gb, 2gb, 4gb, 8gb, 16gb, 32gb, 48gb, 64gb]
  • image (int, basestring) – Name or slug identifier of base image to use.
  • ssh_keys (list<basestring>, list<long>) – SSH keys to add to created droplet
  • backups (bool) – Droplet backups enable state parameter
  • ipv6 (bool) – Droplet IPV6 enable state parameter
  • user_data (basestring) – User data to be added to droplet’s metadata
  • private_networking (bool) – Droplet private networking enable parameter
Return type:

Droplet

create_droplets(names, region, size, image, ssh_keys=None, backups=False, ipv6=False, user_data=None, private_networking=False)[source]

DigitalOcean APIv2 droplet create method. Creates a list of droplets all with the same requested payload features.

Parameters:
  • names (list<basestring>) – Identifiers for the droplets to be created.
  • region (basestring) – Region identifier to spawn droplet
  • size (basestring) – Size of droplet to create. [512mb, 1gb, 2gb, 4gb, 8gb, 16gb, 32gb, 48gb, 64gb]
  • image (int, basestring) – Name or slug identifier of base image to use.
  • ssh_keys (list<basestring>, list<long>) – SSH keys to add to created droplets
  • backups (bool) – Droplet backups enable state parameter
  • ipv6 (bool) – Droplet IPV6 enable state parameter
  • user_data (basestring) – User data to be added to droplet’s metadata
  • private_networking (bool) – Droplet private networking enable parameter
Raises:

InvalidArgumentError

Return type:

Droplet

static delete_domain(name)[source]

Delete a domain mapping managed through DigitalOcean’s DNS interface.

Parameters:name (basestring) – Domain name
Return type:dict
delete_droplet(droplet_id)[source]

DigitalOcean APIv2 droplet delete method. Deletes a requested droplet.

Parameters:droplet_id (int) – ID of droplet to delete.
Return type:dict
filter_droplets(matcher=None)[source]

Basic droplet filter helper. Filters out droplets which pass a substring match on the name for the provided matcher. Matcher defaults to empty string and returns all instances

Parameters:matcher (basestring) – Token to match droplet names against.
Return type:list<Droplet>
static get_domain(name)[source]

Get information for a particular domain managed through DigitalOcean’s DNS interface.

Parameters:name (basestring) – Domain name
Return type:dict
get_domains()[source]

Get all domain maps generated through DigitalOcean’s DNS.

Return type:list (:class: Domain <doclient.meta.Domain> )
get_droplet(droplet_id)[source]

Basic droplet find helper. Filters out droplets which match the provided droplet id. [Essentially one droplet].

Parameters:droplet_id (int, basestring) – ID to match droplets against.
Return type:list<Droplet>
get_droplet_kernels(droplet_id)[source]

DigitalOcean APIv2 droplet kernels helper method. Returns a list of kernels available for the requested droplet.

Parameters:droplet_id (int) – ID of droplet to get available kernels for.
Return type:list ( Kernel)
get_droplet_snapshots(droplet_id)[source]

DigitalOcean APIv2 droplet snapshots helper method. Returns a list of snapshots created for the requested droplet.

Parameters:droplet_id (int) – ID of droplet to get snapshots for.
Return type:list
get_droplets()[source]

Get list of droplets for the requested account.

Raises:APIAuthError
get_images()[source]

Get list of images available in your DigitalOcean account.

Raises:APIAuthError
get_regions()[source]

DigitalOcean APIv2 region list method. Returns a list of regions available.

TODO:Add way to filter regions with pattern/features.
get_sizes()[source]

Get list of image sizes available.

Raises:APIAuthError
get_ssh_keys()[source]

Helper method to retrieve the list of SSH keys associated with a DigitalOcean user account.

get_user_information()[source]

DigitalOcean APIv2 user information helper method

powercycle_droplet(instance_id)[source]

Instance power cycle helper method.

Parameters:instance_id (int, basestring<int>) – ID of the instance to powercycle.
Return type:dict
poweroff_droplet(instance_id)[source]

Instance power off helper method.

Parameters:instance_id (int, basestring<int>) – ID of the instance to turn off.
Return type:dict
poweron_droplet(instance_id)[source]

Instance power on helper method.

Parameters:instance_id (int, basestring<int>) – ID of the instance to turn on.
Return type:dict
request_headers

DigitalOcean API client base request headers property. Used with all of the DOClient’s HTTP requests.

token

DigitalOcean API client token property. Used with request headers as Authorization Bearer