community.digitalocean.digital_ocean_domain_record module – Manage DigitalOcean domain records
Note
This module is part of the community.digitalocean collection (version 1.20.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_domain_record
.
New in version 1.1.0: of community.digitalocean
Parameters
Parameter |
Comments |
---|---|
This is the value of the record, depending on the record type. Default: “” |
|
Name of the domain. |
|
An unsignedinteger between 0-255 used for CAA records. |
|
If there is already a record with the same Choices:
|
|
Required for Default: “@” |
|
DigitalOcean OAuth token. Can be specified in |
|
The port that the service is accessible on for SRV records only. |
|
The priority of the host for |
|
Used with |
|
Indicate desired state of the target. Choices:
|
|
The parameter tag for CAA records. Choices:
|
|
Time to live for the record, in seconds. Default: 1800 |
|
The type of record you would like to create. Choices:
|
|
The weight of records with the same priority for SRV records only. |
Notes
Note
Version 2 of DigitalOcean API is used.
The number of requests that can be made through the API is currently limited to 5,000 per hour per OAuth token.
Examples
- name: Create default A record for example.com
community.digitalocean.digital_ocean_domain_record:
state: present
oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
domain: example.com
type: A
name: "@"
data: 127.0.0.1
- name: Create A record for www
community.digitalocean.digital_ocean_domain_record:
state: present
oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
domain: example.com
type: A
name: www
data: 127.0.0.1
- name: Update A record for www based on name/type/data
community.digitalocean.digital_ocean_domain_record:
state: present
oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
domain: example.com
type: A
name: www
data: 127.0.0.2
force_update: yes
- name: Update A record for www based on record_id
community.digitalocean.digital_ocean_domain_record:
state: present
oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
domain: example.com
record_id: 123456
type: A
name: www
data: 127.0.0.2
force_update: yes
- name: Remove www record based on name/type/data
community.digitalocean.digital_ocean_domain_record:
state: absent
oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
domain: example.com
type: A
name: www
data: 127.0.0.1
- name: Remove www record based on record_id
community.digitalocean.digital_ocean_domain_record:
state: absent
oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
domain: example.com
record_id: 1234567
- name: Create MX record with priority 10 for example.com
community.digitalocean.digital_ocean_domain_record:
state: present
oauth_token: "{{ lookup('ansible.builtin.env', 'DO_API_TOKEN') }}"
domain: example.com
type: MX
data: mail1.example.com
priority: 10
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
a DigitalOcean Domain Record Returned: success Sample: {“data”: “192.168.0.1”, “flags”: 16, “id”: 3352896, “name”: “www”, “port”: 5556, “priority”: 10, “tag”: “issue”, “ttl”: 3600, “type”: “CNAME”, “weight”: 10} |
Authors
Adam Papai (@woohgit)