On this page
community.digitalocean.digital_ocean_database – Create and delete a DigitalOcean database
Note
This plugin is part of the community.digitalocean collection (version 1.11.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.digitalocean
.
To use it in a playbook, specify: community.digitalocean.digital_ocean_database
.
New in version 1.3.0: of community.digitalocean
Synopsis
- Create and delete a database in DigitalOcean and optionally wait for it to be online.
- DigitalOcean’s managed database service simplifies the creation and management of highly available database clusters.
- Currently, it offers support for PostgreSQL, Redis, MySQL, and MongoDB.
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
engine
string / required
|
|
A slug representing the database engine used for the cluster.
The possible values are pg for PostgreSQL, mysql for MySQL, redis for Redis, and mongodb for MongoDB.
|
id
integer
|
A unique ID that can be used to identify and reference a database cluster.
aliases: database_id |
|
name
string / required
|
A unique, human-readable name for the database cluster.
|
|
num_nodes
integer
|
1
|
The number of nodes in the database cluster.
Valid choices are 1, 2 or 3.
|
oauth_token
string
|
DigitalOcean OAuth token.
There are several other environment variables which can be used to provide this value.
i.e., - 'DO_API_TOKEN', 'DO_API_KEY', 'DO_OAUTH_TOKEN' and 'OAUTH_TOKEN'
aliases: api_token |
|
private_network_uuid
string
|
A string specifying the UUID of the VPC to which the database cluster is assigned.
|
|
region
string / required
|
The slug identifier for the region where the database cluster is located.
aliases: region_id |
|
size
string / required
|
The slug identifier representing the size of the nodes in the database cluster.
See https://developers.digitalocean.com/documentation/v2/#create-a-new-database-cluster for supported sizes.
aliases: size_id |
|
state
string
|
|
Indicates the desired state of the target.
|
tags
list / elements=string
|
An array of tags that have been applied to the database cluster.
|
|
timeout
integer
|
Default:
30
|
The timeout in seconds used for polling DigitalOcean's API.
|
validate_certs
boolean
|
|
If set to
no , the SSL certificates will not be validated.
This should only set to no used on personally controlled sites using self-signed certificates.
|
version
string
|
A string representing the version of the database engine in use for the cluster.
For
pg , versions are 10, 11 and 12.
For
mysql , version is 8.
For
redis , version is 5.
For mongodb , version is 4.
|
|
wait
boolean
|
|
Wait for the database to be online before returning.
|
wait_timeout
integer
|
Default:
600
|
How long before wait gives up, in seconds, when creating a database.
|
Examples
- name: Create a Redis database
community.digitalocean.digital_ocean_database:
oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_KEY') }}"
state: present
name: testdatabase1
engine: redis
size: db-s-1vcpu-1gb
region: nyc1
num_nodes: 1
register: my_database
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
data
dictionary
|
success |
A DigitalOcean database
Sample:
{'database': {'connection': {'database': '', 'host': 'testdatabase1-do-user-3097135-0.b.db.ondigitalocean.com', 'password': 'REDACTED', 'port': 25061, 'protocol': 'rediss', 'ssl': True, 'uri': 'rediss://default:REDACTED@testdatabase1-do-user-3097135-0.b.db.ondigitalocean.com:25061', 'user': 'default'}, 'created_at': '2021-04-21T15:41:14Z', 'db_names': None, 'engine': 'redis', 'id': '37de10e4-808b-4f4b-b25f-7b5b3fd194ac', 'maintenance_window': {'day': 'monday', 'hour': '11:33:47', 'pending': False}, 'name': 'testdatabase1', 'num_nodes': 1, 'private_connection': {'database': '', 'host': 'private-testdatabase1-do-user-3097135-0.b.db.ondigitalocean.com', 'password': 'REDIS', 'port': 25061, 'protocol': 'rediss', 'ssl': True, 'uri': 'rediss://default:REDACTED@private-testdatabase1-do-user-3097135-0.b.db.ondigitalocean.com:25061', 'user': 'default'}, 'private_network_uuid': '0db3519b-9efc-414a-8868-8f2e6934688c', 'region': 'nyc1', 'size': 'db-s-1vcpu-1gb', 'status': 'online', 'tags': None, 'users': None, 'version': '6'}}
|
Authors
- Mark Mercado (@mamercad)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/digitalocean/digital_ocean_database_module.html