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).
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
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.
|
name
string
/ required
|
|
Name of the record.
|
state
string
|
Choices:
present ←
- absent
|
State of the resource.
|
validate_certs
boolean
|
|
Validate SSL certs of the Exoscale DNS API.
|
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.
- name: Create a domain
exo_dns_domain:
name: example.com
- name: Remove a domain
exo_dns_domain:
name: example.com
state: absent
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
|