dnsimple - Interface with dnsimple.com (a DNS hosting service).

New in version 1.6.

Synopsis

Requirements (on host that executes module)

  • dnsimple

Options

parameter required default choices comments
account_api_token
no
Account API token. See account_email for info.
account_email
no
Account email. If omitted, the env 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
no
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
no
Record priority
record
no
Record to add, if blank a record for the domain will be created, supports the wildcard (*)
record_ids
no
List of records to ensure they either exist or don't exist
solo
no
Whether the record should be the only one for that record type and record name. Only use with state=present on a record
state
no
  • present
  • absent
whether the record should exist or not
ttl
no 3600 (one hour)
The TTL to give the new record
type
no
  • A
  • ALIAS
  • CNAME
  • MX
  • SPF
  • URL
  • TXT
  • NS
  • SRV
  • NAPTR
  • PTR
  • AAAA
  • SSHFP
  • HINFO
  • POOL
The type of DNS record to create
value
no
Record value
Must be specified when trying to ensure a record exists

Examples

# authenticate using email and API token and fetch all domains
- dnsimple:
    account_email: [email protected]
    account_api_token: dummyapitoken
  delegate_to: localhost

# fetch my.com domain records
- dnsimple:
    domain: my.com
    state: present
  delegate_to: localhost
  register: records

# delete a domain
- dnsimple:
    domain: my.com
    state: absent
  delegate_to: localhost

# create a test.my.com A record to point to 127.0.0.01
- dnsimple:
    domain: my.com
    record: test
    type: A
    value: 127.0.0.1
  delegate_to: localhost
  register: record

# and then delete it
- dnsimple:
    domain: my.com
    record_ids: '{{ record["id"] }}'
  delegate_to: localhost

# create a my.com CNAME record to example.com
- dnsimple:
    domain: my.com
    record: ''
    type: CNAME
    value: example.com
    state: present
  delegate_to: localhost

# change it's ttl
- dnsimple:
    domain: my.com
    record: ''
    type: CNAME
    value: example.com
    ttl: 600
    state: present
  delegate_to: localhost

# and delete the record
- dnsimple:
    domain: my.com
    record: ''
    type: CNAME
    value: example.com
    state: absent
  delegate_to: localhost

Status

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/dnsimple_module.html