On this page
vr_dns_record - Manages DNS records on Vultr.
New in version 2.5.
Synopsis
- Create, update and remove DNS records.
Requirements
The below requirements are needed on the host that executes this module.
- python >= 2.6
Parameters
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 |
|
Type of the record.
aliases: type |
state |
|
State of the DNS record.
|
ttl | Default:
300
|
TTL of the record.
|
validate_certs
bool
|
|
Validate SSL certs of the Vultr API.
|
Notes
Note
- Also see the API documentation on https://www.vultr.com/api/.
Examples
- 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
Return Values
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_account
string
|
success |
Account used in the ini file to select the key
Sample:
default
|
|
api_timeout
int
|
success |
Timeout used for the API requests
Sample:
60
|
|
vultr_dns_record
complex
|
success |
Response from Vultr API
|
|
id
int
|
success |
The ID of the DNS record.
Sample:
1265277
|
|
name
string
|
success |
The name of the DNS record.
Sample:
web
|
|
record_type
string
|
success |
The name of the DNS record.
Sample:
web
|
|
data
string
|
success |
Data of the DNS record.
Sample:
10.10.10.10
|
|
domain
string
|
success |
Domain the DNS record is related to.
Sample:
example.com
|
|
priority
int
|
success |
Priority of the DNS record.
Sample:
10
|
|
ttl
int
|
success |
Time to live of the DNS record.
Sample:
300
|
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance
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.
Author
- René Moser (@resmo)
Hint
If you notice any issues in this documentation you can edit this document to improve it.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/vr_dns_record_module.html