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:
- name (basestring) – Domain name
- ip_address (basestring) – IP address to map domain name to.
Return type:
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_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_ssh_keys
()[source]¶Helper method to retrieve the list of SSH keys associated with a DigitalOcean user account.
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