community.general.dnsimple – Interface with dnsimple.com (a DNS hosting service)¶
Note
This plugin is part of the community.general collection (version 2.5.1).
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 | Choices/Defaults | Comments |
---|---|---|
account_api_token
string
|
Account API token. See account_email for more information.
|
|
account_email
string
|
Account email. If omitted, the environment variables
DNSIMPLE_EMAIL and DNSIMPLE_API_TOKEN will be looked for.If those aren't found, a
.dnsimple file will be looked for, see: https://github.com/mikemaccana/dnsimple-python#getting-started. |
|
domain
string
|
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.
|
|
priority
integer
|
Record priority.
|
|
record
string
|
Record to add, if blank a record for the domain will be created, supports the wildcard (*).
|
|
record_ids
list
/ elements=string
|
List of records to ensure they either exist or do not exist.
|
|
solo
boolean
|
|
Whether the record should be the only one for that record type and record name.
Only use with
state is set to present on a record. |
state
string
|
|
whether the record should exist or not.
|
ttl
integer
|
Default: 3600
|
The TTL to give the new record in seconds.
|
type
string
|
|
The type of DNS record to create.
|
value
string
|
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: Fetch my.com domain records
community.general.dnsimple:
domain: my.com
state: present
delegate_to: localhost
register: records
- 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)