ngine_io.vultr.vultr_dns_record module – Manages DNS records on Vultr.
Note
This module is part of the ngine_io.vultr collection (version 1.1.2).
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 ngine_io.vultr
.
To use it in a playbook, specify: ngine_io.vultr.vultr_dns_record
.
New in version 0.1.0: of ngine_io.vultr
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.6
Parameters
Parameter |
Comments |
---|---|
Name of the ini section in the The ENV variable Default: “default” |
|
URL to API endpint (without trailing slash). The ENV variable Fallback value is https://api.vultr.com if not specified. |
|
API key of the Vultr API. The ENV variable |
|
Amount of retries in case of the Vultr API retuns an HTTP 503 code. The ENV variable Fallback value is 5 retries if not specified. |
|
Retry backoff delay in seconds is exponential up to this max. value, in seconds. The ENV variable Fallback value is 12 seconds. |
|
HTTP timeout to Vultr API. The ENV variable Fallback value is 60 seconds if not specified. |
|
Data of the record. Required if |
|
The domain the record is related to. |
|
Whether to use more than one record with similar Only allowed for a few record types, e.g.
Choices:
|
|
The record name (subrecord). Default: “” |
|
Priority of the record. Default: 0 |
|
Type of the record. Choices:
|
|
State of the DNS record. Choices:
|
|
TTL of the record. Default: 300 |
|
Validate SSL certs of the Vultr API. Choices:
|
Notes
Note
Also see the API documentation on https://www.vultr.com/api/.
Examples
- name: Ensure an A record exists
ngine_io.vultr.vultr_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
ngine_io.vultr.vultr_dns_record:
name: www
domain: example.com
data: 10.10.10.11
ttl: 60
multiple: yes
- name: Ensure a CNAME record exists
ngine_io.vultr.vultr_dns_record:
name: web
record_type: CNAME
domain: example.com
data: www.example.com
- name: Ensure MX record exists
ngine_io.vultr.vultr_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
ngine_io.vultr.vultr_dns_record:
name: www
domain: example.com
state: absent
- name: Ensure MX record is absent in case multiple exists
ngine_io.vultr.vultr_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 |
Description |
---|---|
Response from Vultr API with a few additions/modification Returned: success |
|
Account used in the ini file to select the key Returned: success Sample: “default” |
|
Amount of max retries for the API requests Returned: success Sample: 5 |
|
Exponential backoff delay in seconds between retries up to this max delay value. Returned: success Sample: 12 |
|
Timeout used for the API requests Returned: success Sample: 60 |
|
Response from Vultr API Returned: success |
|
Data of the DNS record. Returned: success Sample: “10.10.10.10” |
|
Domain the DNS record is related to. Returned: success Sample: “example.com” |
|
The ID of the DNS record. Returned: success Sample: 1265277 |
|
The name of the DNS record. Returned: success Sample: “web” |
|
Priority of the DNS record. Returned: success Sample: 10 |
|
The name of the DNS record. Returned: success Sample: “web” |
|
Time to live of the DNS record. Returned: success Sample: 300 |
Authors
René Moser (@resmo)