- Docs »
- vr_dns_record - Manages DNS records on Vultr.
-
You are reading an unmaintained version of the Ansible documentation. Unmaintained Ansible versions can contain unfixed security vulnerabilities (CVE). Please upgrade to a maintained version. See the latest Ansible documentation.
vr_dns_record - Manages DNS records on Vultr.
- Create, update and remove DNS records.
The below requirements are needed on the host that executes this module.
Parameter |
Choices/Defaults |
Comments |
api_account
|
Default:
"default"
|
Name of the ini section in the vultr.ini file.
The ENV variable VULTR_API_ACCOUNT is used as default, when defined.
|
api_endpoint
|
Default:
"https://api.vultr.com"
|
URL to API endpint (without trailing slash).
The ENV variable VULTR_API_ENDPOINT is used as default, when defined.
|
api_key
|
|
API key of the Vultr API.
The ENV variable VULTR_API_KEY is used as default, when defined.
|
api_retries
|
Default:
5
|
Amount of retries in case of the Vultr API retuns an HTTP 503 code.
The ENV variable VULTR_API_RETRIES is used as default, when defined.
|
api_timeout
|
Default:
60
|
HTTP timeout to Vultr API.
The ENV variable VULTR_API_TIMEOUT is used as default, when defined.
|
data
|
|
Data of the record.
Required if state=present or multiple=yes .
|
domain
required |
|
The domain the record is related to.
|
multiple
bool |
|
Whether to use more than one record with similar name including no name and record_type .
Only allowed for a few record types, e.g. record_type=A , record_type=NS or record_type=MX .
data will not be updated, instead it is used as a key to find existing records.
|
name
|
Default:
""
|
The record name (subrecord).
aliases: subrecord
|
priority
|
Default:
0
|
Priority of the record.
|
record_type
|
Choices:
A ←
- AAAA
- CNAME
- MX
- SRV
- ALIAS
- SPF
- TXT
- NS
|
Type of the record.
aliases: type
|
state
|
Choices:
present ←
- absent
|
State of the DNS record.
|
ttl
|
Default:
300
|
TTL of the record.
|
validate_certs
bool |
|
Validate SSL certs of the Vultr API.
|
- name: Ensure an A record exists
vr_dns_record:
name: www
domain: example.com
data: 10.10.10.10
ttl: 3600
- name: Ensure a second A record exists for round robin LB
vr_dns_record:
name: www
domain: example.com
data: 10.10.10.11
ttl: 60
multiple: yes
- name: Ensure a CNAME record exists
vr_dns_record:
name: web
record_type: CNAME
domain: example.com
data: www.example.com
- name: Ensure MX record exists
vr_dns_record:
record_type: MX
domain: example.com
data: "{{ item.data }}"
priority: "{{ item.priority }}"
multiple: yes
with_items:
- { data: mx1.example.com, priority: 10 }
- { data: mx2.example.com, priority: 10 }
- { data: mx3.example.com, priority: 20 }
- name: Ensure a record is absent
local_action:
module: vr_dns_record
name: www
domain: example.com
state: absent
- name: Ensure MX record is absent in case multiple exists
vr_dns_record:
record_type: MX
domain: example.com
data: mx1.example.com
multiple: yes
state: absent
Common return values are documented here, the following are the fields unique to this module:
Key |
Returned |
Description |
vultr_api
complex
|
success |
Response from Vultr API with a few additions/modification
|
|
api_timeout
int
|
success |
Timeout used for the API requests
Sample:
60
|
|
api_account
string
|
success |
Account used in the ini file to select the key
Sample:
default
|
vultr_dns_record
complex
|
success |
Response from Vultr API
|
|
priority
int
|
success |
Priority of the DNS record.
Sample:
10
|
|
record_type
string
|
success |
The name of the DNS record.
Sample:
web
|
|
domain
string
|
success |
Domain the DNS record is related to.
Sample:
example.com
|
|
name
string
|
success |
The name of the DNS record.
Sample:
web
|
|
ttl
int
|
success |
Time to live of the DNS record.
Sample:
300
|
|
data
string
|
success |
Data of the DNS record.
Sample:
10.10.10.10
|
|
id
int
|
success |
The ID of the DNS record.
Sample:
1265277
|
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Hint
If you notice any issues in this documentation you can edit this document to improve it.