salt.cloud.clouds.digitalocean

DigitalOcean Cloud Module

The DigitalOcean cloud module is used to control access to the DigitalOcean VPS system.

Use of this module requires a requires a personal_access_token, an ssh_key_file, and at least one SSH key name in ssh_key_names. More ssh_key_names can be added by separating each key with a comma. The personal_access_token can be found in the DigitalOcean web interface in the "Apps & API" section. The SSH key name can be found under the "SSH Keys" section.

# Note: This example is for /etc/salt/cloud.providers or any file in the
# /etc/salt/cloud.providers.d/ directory.

my-digital-ocean-config:
  personal_access_token: xxx
  ssh_key_file: /path/to/ssh/key/file
  ssh_key_names: my-key-name,my-key-name-2
  driver: digitalocean
depends:requests
salt.cloud.clouds.digitalocean.assign_floating_ip(kwargs=None, call=None)

Assign a floating IP

New in version 2016.3.0.

CLI Examples:

salt-cloud -f assign_floating_ip my-digitalocean-config droplet_id=1234567 floating_ip='45.55.96.47'
salt.cloud.clouds.digitalocean.avail_images(call=None)

Return a list of the images that are on the provider

salt.cloud.clouds.digitalocean.avail_locations(call=None)

Return a dict of all available VM locations on the cloud provider with relevant data

salt.cloud.clouds.digitalocean.avail_sizes(call=None)

Return a list of the image sizes that are on the provider

salt.cloud.clouds.digitalocean.create(vm_)

Create a single VM from a data dict

salt.cloud.clouds.digitalocean.create_floating_ip(kwargs=None, call=None)

Create a new floating IP

New in version 2016.3.0.

CLI Examples:

salt-cloud -f create_floating_ip my-digitalocean-config region='NYC2'

salt-cloud -f create_floating_ip my-digitalocean-config droplet_id='1234567'
salt.cloud.clouds.digitalocean.create_key(kwargs=None, call=None)

Upload a public key

salt.cloud.clouds.digitalocean.create_node(args)

Create a node

salt.cloud.clouds.digitalocean.delete_floating_ip(kwargs=None, call=None)

Delete a floating IP

New in version 2016.3.0.

CLI Examples:

salt-cloud -f delete_floating_ip my-digitalocean-config floating_ip='45.55.96.47'
salt.cloud.clouds.digitalocean.destroy(name, call=None)

Destroy a node. Will check termination protection and warn if enabled.

CLI Example:

salt-cloud --destroy mymachine
salt.cloud.clouds.digitalocean.destroy_dns_records(fqdn)

Deletes DNS records for the given hostname if the domain is managed with DO.

salt.cloud.clouds.digitalocean.get_configured_provider()

Return the first configured instance.

salt.cloud.clouds.digitalocean.get_dependencies()

Warn if dependencies aren't met.

salt.cloud.clouds.digitalocean.get_image(vm_)

Return the image object to use

salt.cloud.clouds.digitalocean.get_keyid(keyname)

Return the ID of the keyname

salt.cloud.clouds.digitalocean.get_location(vm_)

Return the VM's location

salt.cloud.clouds.digitalocean.get_size(vm_)

Return the VM's size. Used by create_node().

salt.cloud.clouds.digitalocean.import_keypair(kwargs=None, call=None)

Upload public key to cloud provider. Similar to EC2 import_keypair.

New in version 2016.11.0.

kwargs
file(mandatory): public key file-name keyname(mandatory): public key name in the provider
salt.cloud.clouds.digitalocean.list_floating_ips(call=None)

Return a list of the floating ips that are on the provider

New in version 2016.3.0.

CLI Examples:

salt-cloud -f list_floating_ips my-digitalocean-config
salt.cloud.clouds.digitalocean.list_keypairs(call=None)

Return a dict of all available VM locations on the cloud provider with relevant data

salt.cloud.clouds.digitalocean.list_nodes(call=None)

Return a list of the VMs that are on the provider

salt.cloud.clouds.digitalocean.list_nodes_full(call=None, for_output=True)

Return a list of the VMs that are on the provider

salt.cloud.clouds.digitalocean.list_nodes_select(call=None)

Return a list of the VMs that are on the provider, with select fields

salt.cloud.clouds.digitalocean.post_dns_record(**kwargs)

Creates a DNS record for the given name if the domain is managed with DO.

salt.cloud.clouds.digitalocean.query(method='droplets', droplet_id=None, command=None, args=None, http_method='get')

Make a web call to DigitalOcean

salt.cloud.clouds.digitalocean.reboot(name, call=None)

Reboot a droplet in DigitalOcean.

New in version 2015.8.8.

name
The name of the droplet to restart.

CLI Example:

salt-cloud -a reboot droplet_name
salt.cloud.clouds.digitalocean.remove_key(kwargs=None, call=None)

Delete public key

salt.cloud.clouds.digitalocean.script(vm_)

Return the script deployment object

salt.cloud.clouds.digitalocean.show_floating_ip(kwargs=None, call=None)

Show the details of a floating IP

New in version 2016.3.0.

CLI Examples:

salt-cloud -f show_floating_ip my-digitalocean-config floating_ip='45.55.96.47'
salt.cloud.clouds.digitalocean.show_instance(name, call=None)

Show the details from DigitalOcean concerning a droplet

salt.cloud.clouds.digitalocean.show_keypair(kwargs=None, call=None)

Show the details of an SSH keypair

salt.cloud.clouds.digitalocean.show_pricing(kwargs=None, call=None)

Show pricing for a particular profile. This is only an estimate, based on unofficial pricing sources.

New in version 2015.8.0.

CLI Examples:

salt-cloud -f show_pricing my-digitalocean-config profile=my-profile
salt.cloud.clouds.digitalocean.start(name, call=None)

Start a droplet in DigitalOcean.

New in version 2015.8.8.

name
The name of the droplet to start.

CLI Example:

salt-cloud -a start droplet_name
salt.cloud.clouds.digitalocean.stop(name, call=None)

Stop a droplet in DigitalOcean.

New in version 2015.8.8.

name
The name of the droplet to stop.

CLI Example:

salt-cloud -a stop droplet_name
salt.cloud.clouds.digitalocean.unassign_floating_ip(kwargs=None, call=None)

Unassign a floating IP

New in version 2016.3.0.

CLI Examples:

salt-cloud -f unassign_floating_ip my-digitalocean-config floating_ip='45.55.96.47'