community.general.dnsimple – Interface with dnsimple.com (a DNS hosting service)
Note
This plugin is part of the community.general collection (version 3.8.3).
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
.
To use it in a playbook, specify: community.general.dnsimple
.
Synopsis
Manages domains and records via the DNSimple API, see the docs: http://developer.dnsimple.com/.
Requirements
The below requirements are needed on the host that executes this module.
dnsimple >= 1.0.0
Parameters
Parameter |
Comments |
---|---|
Account API token. See account_email for more information. |
|
Account email. If omitted, the environment variables If those aren’t found, a
|
|
Domain to work with. Can be the domain name (e.g. “mydomain.com”) or the numeric ID of the domain in DNSimple. If omitted, a list of domains will be returned. If domain is present but the domain doesn’t exist, it will be created. |
|
Record priority. |
|
Record to add, if blank a record for the domain will be 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: 3600 |
|
The type of DNS record to create. Choices:
|
|
Record value. Must be specified when trying to ensure a record exists. |
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
Authors
Alex Coomans (@drcapulet)