Note
This plugin is part of the community.digitalocean collection.
To install it use: ansible-galaxy collection install community.digitalocean.
To use it in a playbook, specify: community.digitalocean.digital_ocean.
version 2.0.0
Updated module to remove external dependency with increased functionality.
Use community.digitalocean.digital_ocean_droplet instead.
The below requirements are needed on the host that executes this module.
| Parameter | Choices/Defaults | Comments |
|---|---|---|
| api_token string | DigitalOcean api token. | |
| backups_enabled boolean |
| Optional, Boolean, enables backups for your droplet. |
| command string |
| Which target you want to operate on. |
| id string | Numeric, the droplet id you want to operate on. aliases: droplet_id | |
| image_id string | This is the slug of the image you would like the droplet created with. | |
| ipv6 boolean |
| Optional, Boolean, enable IPv6 for your droplet. |
| name string | String, this is the name of the droplet - must be formatted by hostname rules, or the name of a SSH key. | |
| private_networking boolean |
| Bool, add an additional, private network interface to droplet for inter-droplet communication. |
| region_id string | This is the slug of the region you would like your server to be created in. | |
| size_id string | This is the slug of the size you would like the droplet created with. | |
| ssh_key_ids string | Optional, array of SSH key (numeric) ID that you would like to be added to the server. | |
| ssh_pub_key string | The public SSH key you want to add to your account. | |
| state string |
| Indicate desired state of the target. |
| unique_name boolean |
| Bool, require unique hostnames. By default, DigitalOcean allows multiple hosts with the same name. Setting this to "yes" allows only one host per name. Useful for idempotence. |
| user_data string | opaque blob of data which is made available to the droplet | |
| virtio boolean |
| Bool, turn on virtio driver in droplet for improved network and storage I/O. |
| wait boolean |
| Wait for the droplet to be in state 'running' before returning. If wait is "no" an ip_address may not be returned. |
| wait_timeout string | Default: 300 | How long before wait gives up, in seconds. |
Note
client_id and api_key options in favor of api_token.# Ensure a SSH key is present
# If a key matches this name, will return the ssh key id and changed = False
# If no existing key matches this name, a new key is created, the ssh key id is returned and changed = False
- name: Ensure a SSH key is present
community.digitalocean.digital_ocean:
state: present
command: ssh
name: my_ssh_key
ssh_pub_key: 'ssh-rsa AAAA...'
api_token: XXX
# Will return the droplet details including the droplet id (used for idempotence)
- name: Create a new Droplet
community.digitalocean.digital_ocean:
state: present
command: droplet
name: mydroplet
api_token: XXX
size_id: 2gb
region_id: ams2
image_id: fedora-19-x64
wait_timeout: 500
register: my_droplet
- debug:
msg: "ID is {{ my_droplet.droplet.id }}"
- debug:
msg: "IP is {{ my_droplet.droplet.ip_address }}"
# Ensure a droplet is present
# If droplet id already exist, will return the droplet details and changed = False
# If no droplet matches the id, a new droplet will be created and the droplet details (including the new id) are returned, changed = True.
- name: Ensure a droplet is present
community.digitalocean.digital_ocean:
state: present
command: droplet
id: 123
name: mydroplet
api_token: XXX
size_id: 2gb
region_id: ams2
image_id: fedora-19-x64
wait_timeout: 500
# Create a droplet with ssh key
# The ssh key id can be passed as argument at the creation of a droplet (see ssh_key_ids).
# Several keys can be added to ssh_key_ids as id1,id2,id3
# The keys are used to connect as root to the droplet.
- name: Create a droplet with ssh key
community.digitalocean.digital_ocean:
state: present
ssh_key_ids: 123,456
name: mydroplet
api_token: XXX
size_id: 2gb
region_id: ams2
image_id: fedora-19-x64
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/digitalocean/digital_ocean_module.html