ngine_io.exoscale.exo_dns_domain – Manages domain records on Exoscale DNS API.

Note

This plugin is part of the ngine_io.exoscale collection (version 1.0.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 ngine_io.exoscale.

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

New in version 0.1.0: of ngine_io.exoscale

Synopsis

  • Create and remove domain 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.
name
string / required
Name of the record.
state
string
    Choices:
  • present
  • absent
State of the resource.
validate_certs
boolean
    Choices:
  • 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 a domain
  exo_dns_domain:
    name: example.com

- name: Remove a domain
  exo_dns_domain:
    name: 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_domain
complex
success
API domain results

account_id
integer
success
Your account ID

Sample:
34569
auto_renew
boolean
success
Whether domain is auto renewed or not

created_at
string
success
When the domain was created

Sample:
2016-08-12T15:24:23.989Z
expires_on
string
success
When the domain expires

Sample:
2016-08-12T15:24:23.989Z
id
integer
success
ID of the domain

Sample:
2016-08-12T15:24:23.989Z
lockable
boolean
success
Whether the domain is lockable or not

Sample:
True
name
string
success
Domain name

Sample:
example.com
record_count
integer
success
Number of records related to this domain

Sample:
5
registrant_id
integer
success
ID of the registrant

service_count
integer
success
Number of services

state
string
success
State of the domain

Sample:
hosted
token
string
success
Token

Sample:
r4NzTRp6opIeFKfaFYvOd6MlhGyD07jl
unicode_name
string
success
Domain name as unicode

Sample:
example.com
updated_at
string
success
When the domain was updated last.

Sample:
2016-08-12T15:24:23.989Z
user_id
integer
success
ID of the user

whois_protected
boolean
success
Whether the whois is protected or not



Authors

  • René Moser (@resmo)

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