vultr_dns_record – Manages DNS records on Vultr.

From Get docs
Ansible/docs/2.7/modules/vultr dns record module


vultr_dns_record – Manages DNS records on Vultr.

New in version 2.5.


Synopsis

  • Create, update and remove DNS records.

Aliases: vr_dns_record

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

-

URL to API endpint (without trailing slash).

The ENV variable VULTR_API_ENDPOINT is used as default, when defined.

Fallback value is https://api.vultr.com if not specified.

api_key

-

API key of the Vultr API.

The ENV variable VULTR_API_KEY is used as default, when defined.

api_retries

-

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.

Fallback value is 5 retries if not specified.

api_timeout

-

HTTP timeout to Vultr API.

The ENV variable VULTR_API_TIMEOUT is used as default, when defined.

Fallback value is 60 seconds if not specified.

data

-

Data of the record.

Required if state=present or multiple=yes.

domain

- / required

The domain the record is related to.

multiple

boolean

  • no

  • yes

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

-

  • A

  • AAAA
  • CNAME
  • MX
  • SRV
  • CAA
  • TXT
  • NS
  • SSHFP

Type of the record.


aliases: type

state

-

  • present

  • absent

State of the DNS record.

ttl

-

Default:

300

TTL of the record.

validate_certs

boolean

  • no
  • yes

Validate SSL certs of the Vultr API.



Notes

Note


Examples

- name: Ensure an A record exists
  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
  vultr_dns_record:
    name: www
    domain: example.com
    data: 10.10.10.11
    ttl: 60
    multiple: yes

- name: Ensure a CNAME record exists
  vultr_dns_record:
    name: web
    record_type: CNAME
    domain: example.com
    data: www.example.com

- name: Ensure MX record exists
  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
  local_action:
    module: vultr_dns_record
    name: www
    domain: example.com
    state: absent

- name: Ensure MX record is absent in case multiple exists
  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 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

integer

success

Timeout used for the API requests


Sample:

60

vultr_dns_record

complex

success

Response from Vultr API


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

id

integer

success

The ID of the DNS record.


Sample:

1265277

name

string

success

The name of the DNS record.


Sample:

web

priority

integer

success

Priority of the DNS record.


Sample:

10

record_type

string

success

The name of the DNS record.


Sample:

web

ttl

integer

success

Time to live of the DNS record.


Sample:

300




Status

Authors

  • 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.7/modules/vultr_dns_record_module.html