community / community.digitalocean / 1.26.0 / module / digital_ocean_database Create and delete a DigitalOcean database | "added in version" 1.3.0 of community.digitalocean" Authors: Mark Mercado (@mamercad)community.digitalocean.digital_ocean_database (1.26.0) — module
Install with ansible-galaxy collection install community.digitalocean:==1.26.0
collections: - name: community.digitalocean version: 1.26.0
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.
- 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
- name: Create a Redis database (and assign to Project "test") 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 project_name: test register: my_database
id: aliases: - database_id description: - A unique ID that can be used to identify and reference a database cluster. type: int name: description: - A unique, human-readable name for the database cluster. required: true type: str size: aliases: - size_id description: - The slug identifier representing the size of the nodes in the database cluster. - See U(https://docs.digitalocean.com/reference/api/api-reference/#operation/create_database_cluster) for supported sizes. required: true type: str tags: description: - An array of tags that have been applied to the database cluster. elements: str type: list wait: default: true description: - Wait for the database to be online before returning. required: false type: bool state: choices: - present - absent default: present description: - Indicates the desired state of the target. type: str engine: choices: - pg - mysql - redis - mongodb description: - A slug representing the database engine used for the cluster. - The possible values are C(pg) for PostgreSQL, C(mysql) for MySQL, C(redis) for Redis, and C(mongodb) for MongoDB. required: true type: str region: aliases: - region_id description: - The slug identifier for the region where the database cluster is located. required: true type: str baseurl: default: https://api.digitalocean.com/v2 description: - DigitalOcean API base url. type: str timeout: default: 30 description: - The timeout in seconds used for polling DigitalOcean's API. type: int version: description: - A string representing the version of the database engine in use for the cluster. - For C(pg), versions are 10, 11 and 12. - For C(mysql), version is 8. - For C(redis), version is 5. - For C(mongodb), version is 4. type: str num_nodes: choices: - 1 - 2 - 3 default: 1 description: - The number of nodes in the database cluster. - Valid choices are 1, 2 or 3. type: int oauth_token: aliases: - api_token description: - DigitalOcean OAuth token. - There are several other environment variables which can be used to provide this value. - i.e., - C(DO_API_TOKEN), C(DO_API_KEY), C(DO_OAUTH_TOKEN) and C(OAUTH_TOKEN). type: str project_name: aliases: - project default: '' description: - Project to assign the resource to (project name, not UUID). - Defaults to the default project of the account (empty string). - Currently only supported when creating databases. required: false type: str wait_timeout: default: 600 description: - How long before wait gives up, in seconds, when creating a database. type: int validate_certs: default: true description: - If set to C(no), the SSL certificates will not be validated. - This should only set to C(no) used on personally controlled sites using self-signed certificates. type: bool private_network_uuid: description: - A string specifying the UUID of the VPC to which the database cluster is assigned. type: str
assign_status: description: Assignment status (ok, not_found, assigned, already_assigned, service_down) returned: changed sample: assigned type: str data: description: A DigitalOcean database returned: success 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: null engine: redis id: 37de10e4-808b-4f4b-b25f-7b5b3fd194ac maintenance_window: day: monday hour: 41627 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: null users: null version: 6 type: dict msg: description: Informational or error message encountered during execution returned: changed sample: No project named test2 found type: str resources: description: Resource assignment involved in project assignment returned: changed sample: assigned_at: '2021-10-25T17:39:38Z' links: self: https://api.digitalocean.com/v2/databases/126355fa-b147-40a6-850a-c44f5d2ad418 status: assigned urn: do:dbaas:126355fa-b147-40a6-850a-c44f5d2ad418 type: dict