community.general.dnsimple module – Interface with dnsimple.com (a DNS hosting service)
Note
This module is part of the community.general collection (version 10.7.5).
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 community.general.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: community.general.dnsimple.
Synopsis
- Manages domains and records using the DNSimple API, see the docs: http://developer.dnsimple.com/. 
Requirements
The below requirements are needed on the host that executes this module.
- dnsimple >= 2.0.0 
Parameters
| Parameter | Comments | 
|---|---|
| Account API token. See  | |
| Account email. If omitted, the environment variables  If those variables are not found, a  
 | |
| Domain to work with. Can be the domain name (for example  If omitted, a list of domains is returned. If domain is present but the domain does not exist, it is created. | |
| Record priority. | |
| Record to add, if blank a record for the domain is created, supports the wildcard (*). | |
| List of records to ensure they either exist or do not exist. | |
| Use the DNSimple sandbox environment. Requires a dedicated account in the dnsimple sandbox environment. Check https://developer.dnsimple.com/sandbox/ for more information. Choices: 
 | |
| Whether the record should be the only one for that record type and record name. Only use with  Choices: 
 | |
| Whether the record should exist or not. Choices: 
 | |
| The TTL to give the new record in seconds. Default:  | |
| The type of DNS record to create. Choices: 
 | |
| Record value. Must be specified when trying to ensure a record exists. | 
Attributes
| Attribute | Support | Description | 
|---|---|---|
| Support: full | Can run in  | |
| Support: none | Will return details on what has changed (or possibly needs changing in  | 
Examples
- name: Authenticate using email and API token and fetch all domains
  community.general.dnsimple:
    account_email: [email protected]
    account_api_token: dummyapitoken
  delegate_to: localhost
- name: Delete a domain
  community.general.dnsimple:
    domain: my.com
    state: absent
  delegate_to: localhost
- name: Create a test.my.com A record to point to 127.0.0.1
  community.general.dnsimple:
    domain: my.com
    record: test
    type: A
    value: 127.0.0.1
  delegate_to: localhost
  register: record
- name: Delete record using record_ids
  community.general.dnsimple:
    domain: my.com
    record_ids: '{{ record["id"] }}'
    state: absent
  delegate_to: localhost
- name: Create a my.com CNAME record to example.com
  community.general.dnsimple:
    domain: my.com
    record: ''
    type: CNAME
    value: example.com
    state: present
  delegate_to: localhost
- name: Change TTL value for a record
  community.general.dnsimple:
    domain: my.com
    record: ''
    type: CNAME
    value: example.com
    ttl: 600
    state: present
  delegate_to: localhost
- name: Delete the record
  community.general.dnsimple:
    domain: my.com
    record: ''
    type: CNAME
    value: example.com
    state: absent
  delegate_to: localhost
