exo_dns_record – Manages DNS records on Exoscale DNS
New in version 2.2.
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.  Since 2.4, 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.Since 2.4, the ENV variable   CLOUDSTACK_REGION is used as default, when defined. |  
|  api_secret   string    |    Secret key of the Exoscale DNS API.  Since 2.4, the ENV variable   CLOUDSTACK_SECRET is used as default, when defined. |  |
|  api_timeout   integer    |   Default: 10   |    HTTP timeout to Exoscale DNS API.  Since 2.4, the ENV variable   CLOUDSTACK_TIMEOUT is used as default, when defined. |  
|  content   -    |    Content of the record.  Required if   state=present or multiple=yes.aliases: value, address  |  |
|  domain   - / 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   -    |   Default: ""   |    Name of the record.   |  
|  prio   -    |    Priority of the record.  aliases: priority  |  |
|  record_type   -    |   
  |    Type of the record.  aliases: rtype, type  |  
|  state   -    |   
  |    State of the record.   |  
|  ttl   -    |   Default: 3600   |    TTL of the record in seconds.   |  
|  validate_certs   boolean    |   
  |    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_SECRETenvironment variables. ACLOUDSTACK_CONFIGenvironment variable pointing to an.inifile, Acloudstack.inifile in the current working directory. A.cloudstack.inifile in the users home directory. Optionally multiple credentials and endpoints can be specified using ini sections incloudstack.ini. Use the argumentapi_regionto select the section name, default section iscloudstack. - 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
  local_action:
    module: 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
  local_action:
    module: exo_dns_record
    name: web-vm-1
    domain: example.com
    content: 1.2.3.5
- name: Create another A record with same name
  local_action:
    module: exo_dns_record
    name: web-vm-1
    domain: example.com
    content: 1.2.3.6
    multiple: yes
- name: Create or update a CNAME record
  local_action:
    module: exo_dns_record
    name: www
    domain: example.com
    record_type: CNAME
    content: web-vm-1
- name: Create another MX record
  local_action:
    module: 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
  local_action:
    module: exo_dns_record
    domain: example.com
    record_type: MX
    content: mx1.example.com
    multiple: yes
    state: absent
- name: Remove a single A record
  local_action:
    module: 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   |  |
Status
- This module is not guaranteed to have a backwards compatible interface. [preview]
 - This module is maintained by the Ansible Community. [community]
 
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.8/modules/exo_dns_record_module.html