On this page
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
         | 
      
       
  | 
      
        
        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_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 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