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:  | 
