vultr.cloud.dns_record module – Manages DNS records on Vultr
Note
This module is part of the vultr.cloud collection (version 1.13.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 vultr.cloud
.
To use it in a playbook, specify: vultr.cloud.dns_record
.
New in vultr.cloud 1.0.0
Synopsis
Create, update and remove DNS records.
Parameters
Parameter |
Comments |
---|---|
URL to API endpint (without trailing slash). Fallback environment variable Default: |
|
API key of the Vultr API. Fallback environment variable |
|
Amount of retries in case of the Vultr API retuns an HTTP error code, such as - 429 Too Many Requests - 500 Internal Server Error - 504 Gateway Time-out Fallback environment variable Default: |
|
Retry backoff delay in seconds is exponential up to this max. value, in seconds. Fallback environment variable Default: |
|
HTTP timeout to Vultr API. Fallback environment variable Default: |
|
Data of the record. Required if |
|
The domain the record is related to. |
|
Whether to use more than one record with similar name including no name and type. Only allowed for a few record types, e.g. data will not be updated, instead it is used as a key to find existing records. Choices:
|
|
The record name. Default: |
|
Priority of the record. |
|
State of the DNS record. Choices:
|
|
TTL of the record. Default: |
|
Type of the record. Choices:
|
|
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
vultr.cloud.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
vultr.cloud.dns_record:
name: www
domain: example.com
data: 10.10.10.11
ttl: 60
multiple: true
- name: Ensure a CNAME record exists
vultr.cloud.dns_record:
name: web
type: CNAME
domain: example.com
data: www.example.com
- name: Ensure MX record exists
vultr.cloud.dns_record:
type: MX
domain: example.com
data: "{{ item.data }}"
priority: "{{ item.priority }}"
multiple: true
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
vultr.cloud.dns_record:
name: www
domain: example.com
state: absent
- name: Ensure one MX record is absent if multiple exists
vultr.cloud.dns_record:
record_type: MX
domain: example.com
data: mx1.example.com
multiple: true
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. Returned: success |
|
Data of the DNS record. Returned: success Sample: |
|
The ID of the DNS record. Returned: success Sample: |
|
The name of the DNS record. Returned: success Sample: |
|
Priority of the DNS record. Returned: success Sample: |
|
Time to live of the DNS record. Returned: success Sample: |
|
The name of the DNS record. Returned: success Sample: |
|
Response from Vultr API with a few additions/modification. Returned: success |
|
Endpoint used for the API requests. Returned: success Sample: |
|
Amount of max retries for the API requests. Returned: success Sample: |
|
Exponential backoff delay in seconds between retries up to this max delay value. Returned: success Sample: |
|
Timeout used for the API requests. Returned: success Sample: |