Note
This plugin is part of the ngine_io.exoscale collection.
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
The below requirements are needed on the host that executes this module.
| 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 |
| 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 |
| Type of the record. aliases: rtype, type |
| state string |
| State of the record. |
| ttl integer | Default: 3600 | TTL of the record in seconds. |
| validate_certs boolean |
| Validate SSL certs of the Exoscale DNS API. |
Note
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.- 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
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 | |
© 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