ngine_io.exoscale.exo_dns_record – Manages DNS records on Exoscale DNS.

From Get docs
Ansible/docs/2.10/collections/ngine io/exoscale/exo dns record module


ngine_io.exoscale.exo_dns_record – Manages DNS records on Exoscale DNS.

Note

This plugin is part of the ngine_io.exoscale collection (version 1.0.0).

To install it use: ansible-galaxy collection install ngine_io.exoscale.

To use it in a playbook, specify: ngine_io.exoscale.exo_dns_record.


New in version 0.1.0: of ngine_io.exoscale


Synopsis

  • Create, update and delete records.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6

Parameters

Parameter Choices/Defaults Comments

api_key

string

API key of the Exoscale DNS API.

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

api_region

string

Default:

"cloudstack"

Name of the ini section in the cloustack.ini file.

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

api_secret

string

Secret key of the Exoscale DNS API.

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

api_timeout

integer

Default:

10

HTTP timeout to Exoscale DNS API.

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

content

string

Content of the record.

Required if state=present or multiple=yes.


aliases: value, address

domain

string / required

Domain the record is related to.

multiple

boolean

  • no

  • yes

Whether there are more than one records with similar name and record_type.

Only allowed for a few record types, e.g. record_type=A, record_type=NS or record_type=MX.

content will not be updated, instead it is used as a key to find existing records.

name

string

Default:

""

Name of the record.

prio

integer

Priority of the record.


aliases: priority

record_type

string

  • A

  • ALIAS
  • CNAME
  • MX
  • SPF
  • URL
  • TXT
  • NS
  • SRV
  • NAPTR
  • PTR
  • AAAA
  • SSHFP
  • HINFO
  • POOL

Type of the record.


aliases: rtype, type

state

string

  • present

  • absent

State of the record.

ttl

integer

Default:

3600

TTL of the record in seconds.

validate_certs

boolean

  • no
  • yes

Validate SSL certs of the Exoscale DNS API.



Notes

Note

  • As Exoscale DNS uses the same API key and secret for all services, we reuse the config used for Exscale Compute based on CloudStack. The config is read from several locations, in the following order. The CLOUDSTACK_KEY, CLOUDSTACK_SECRET environment variables. A CLOUDSTACK_CONFIG environment variable pointing to an .ini file, A cloudstack.ini file in the current working directory. A .cloudstack.ini file in the users home directory. Optionally multiple credentials and endpoints can be specified using ini sections in cloudstack.ini. Use the argument api_region to select the section name, default section is cloudstack.
  • This module does not support multiple A records and will complain properly if you try.
  • More information Exoscale DNS can be found on https://community.exoscale.ch/documentation/dns/.
  • This module supports check mode and diff.


Examples

- name: Create or update an A record
  ngine_io.exoscale.exo_dns_record:
    name: web-vm-1
    domain: example.com
    content: 1.2.3.4

- name: Update an existing A record with a new IP
  ngine_io.exoscale.exo_dns_record:
    name: web-vm-1
    domain: example.com
    content: 1.2.3.5

- name: Create another A record with same name
  ngine_io.exoscale.exo_dns_record:
    name: web-vm-1
    domain: example.com
    content: 1.2.3.6
    multiple: yes

- name: Create or update a CNAME record
  ngine_io.exoscale.exo_dns_record:
    name: www
    domain: example.com
    record_type: CNAME
    content: web-vm-1

- name: Create another MX record
  ngine_io.exoscale.exo_dns_record:
    domain: example.com
    record_type: MX
    content: mx1.example.com
    prio: 10
    multiple: yes

- name: Delete one MX record out of multiple
  ngine_io.exoscale.exo_dns_record:
    domain: example.com
    record_type: MX
    content: mx1.example.com
    multiple: yes
    state: absent

- name: Remove a single A record
  ngine_io.exoscale.exo_dns_record:
    name: www
    domain: example.com
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description

exo_dns_record

complex

success

API record results


content

string

success

value of the record


Sample:

1.2.3.4

created_at

string

success

When the record was created


Sample:

2016-08-12T15:24:23.989Z

domain

string

success

Name of the domain


Sample:

example.com

domain_id

integer

success

ID of the domain


Sample:

254324

id

integer

success

ID of the record


Sample:

254324

name

string

success

name of the record


Sample:

www

parent_id

integer

success

ID of the parent


prio

integer

success

Priority of the record


Sample:

10

record_type

string

success

Priority of the record


Sample:

A

system_record

boolean

success

Whether the record is a system record or not


ttl

integer

success

Time to live of the record


Sample:

3600

updated_at

string

success

When the record was updated


Sample:

2016-08-12T15:24:23.989Z




Authors

  • René Moser (@resmo)

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ngine_io/exoscale/exo_dns_record_module.html