exo_dns_domain – Manages domain records on Exoscale DNS API¶
New in version 2.2.
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.
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. |
name
-
/ required
|
Name of the record.
|
|
state
-
|
|
State of the resource.
|
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_SECRET
environment variables. ACLOUDSTACK_CONFIG
environment variable pointing to an.ini
file, Acloudstack.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 incloudstack.ini
. Use the argumentapi_region
to 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 a domain
local_action:
module: exo_dns_domain
name: example.com
- name: Remove a domain
local_action:
module: 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
|
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]