dnsmadeeasy – Interface with dnsmadeeasy.com (a DNS hosting service).¶
New in version 1.3.
Synopsis¶
- Manages DNS records via the v2 REST API of the DNS Made Easy service. It handles records only; there is no manipulation of domains or monitor/account support yet. See: https://www.dnsmadeeasy.com/integration/restapi/
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
account_key
-
/ required
|
Account API Key.
|
|
account_secret
-
/ required
|
Account Secret Key.
|
|
autoFailover
boolean
added in 2.4 |
|
If true, fallback to the primary IP address is manual after a failover.
If false, fallback to the primary IP address is automatic after a failover.
|
contactList
-
/ required
added in 2.4 |
Default: ""
|
Name or id of the contact list that the monitor will notify.
The default
'' means the Account Owner. |
domain
-
/ required
|
Domain to work with. Can be the domain name (e.g. "mydomain.com") or the numeric ID of the domain in DNS Made Easy (e.g. "839989") for faster resolution
|
|
failover
boolean
added in 2.4 |
|
If
yes , add or change the failover. This is applicable only for A records. |
httpFile
-
added in 2.4 |
The file at the Fqdn that the monitor queries for HTTP or HTTPS.
|
|
httpFqdn
-
added in 2.4 |
The fully qualified domain name used by the monitor.
|
|
httpQueryString
-
added in 2.4 |
The string in the httpFile that the monitor queries for HTTP or HTTPS.
|
|
ip1
-
added in 2.4 |
Primary IP address for the failover.
Required if adding or changing the monitor or failover.
|
|
ip2
-
added in 2.4 |
Secondary IP address for the failover.
Required if adding or changing the failover.
|
|
ip3
-
added in 2.4 |
Tertiary IP address for the failover.
|
|
ip4
-
added in 2.4 |
Quaternary IP address for the failover.
|
|
ip5
-
added in 2.4 |
Quinary IP address for the failover.
|
|
maxEmails
-
/ required
added in 2.4 |
Default: 1
|
Number of emails sent to the contact list by the monitor.
|
monitor
boolean
added in 2.4 |
|
If
yes , add or change the monitor. This is applicable only for A records. |
port
-
/ required
added in 2.4 |
Default: 80
|
Port used by the monitor.
|
protocol
-
/ required
added in 2.4 |
|
Protocol used by the monitor.
|
record_name
-
|
Record name to get/create/delete/update. If record_name is not specified; all records for the domain will be returned in "result" regardless of the state argument.
|
|
record_ttl
-
|
Default: 1800
|
record's "Time to live". Number of seconds the record remains cached in DNS servers.
|
record_type
-
|
|
Record type.
|
record_value
-
|
Record value. HTTPRED: <redirection URL>, MX: <priority> <target name>, NS: <name server>, PTR: <target name>, SRV: <priority> <weight> <port> <target name>, TXT: <text value>"
If record_value is not specified; no changes will be made and the record will be returned in 'result' (in other words, this module can be used to fetch a record's current id, type, and ttl)
|
|
sandbox
boolean
added in 2.7 |
|
Decides if the sandbox API should be used. Otherwise (default) the production API of DNS Made Easy is used.
|
sensitivity
-
/ required
added in 2.4 |
|
Number of checks the monitor performs before a failover occurs where Low = 8, Medium = 5,and High = 3.
|
state
-
/ required
|
|
whether the record should exist or not
|
systemDescription
-
/ required
added in 2.4 |
Default: ""
|
Description used by the monitor.
|
validate_certs
boolean
added in 1.5.1 |
|
If
no , SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates. |
Notes¶
Note
- The DNS Made Easy service requires that machines interacting with the API have the proper time and timezone set. Be sure you are within a few seconds of actual time by using NTP.
- This module returns record(s) and monitor(s) in the “result” element when ‘state’ is set to ‘present’. These values can be be registered and used in your playbooks.
- Only A records can have a monitor or failover.
- To add failover, the ‘failover’, ‘autoFailover’, ‘port’, ‘protocol’, ‘ip1’, and ‘ip2’ options are required.
- To add monitor, the ‘monitor’, ‘port’, ‘protocol’, ‘maxEmails’, ‘systemDescription’, and ‘ip1’ options are required.
- The monitor and the failover will share ‘port’, ‘protocol’, and ‘ip1’ options.
Examples¶
# fetch my.com domain records
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
register: response
# create / ensure the presence of a record
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
# update the previously created record
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_value: 192.0.2.23
# fetch a specific record
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
register: response
# delete a record / ensure it is absent
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
record_type: A
state: absent
record_name: test
# Add a failover
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
failover: True
ip1: 127.0.0.2
ip2: 127.0.0.3
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
failover: True
ip1: 127.0.0.2
ip2: 127.0.0.3
ip3: 127.0.0.4
ip4: 127.0.0.5
ip5: 127.0.0.6
# Add a monitor
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
monitor: yes
ip1: 127.0.0.2
protocol: HTTP # default
port: 80 # default
maxEmails: 1
systemDescription: Monitor Test A record
contactList: my contact list
# Add a monitor with http options
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
monitor: yes
ip1: 127.0.0.2
protocol: HTTP # default
port: 80 # default
maxEmails: 1
systemDescription: Monitor Test A record
contactList: 1174 # contact list id
httpFqdn: http://my.com
httpFile: example
httpQueryString: some string
# Add a monitor and a failover
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
failover: True
ip1: 127.0.0.2
ip2: 127.0.0.3
monitor: yes
protocol: HTTPS
port: 443
maxEmails: 1
systemDescription: monitoring my.com status
contactList: emergencycontacts
# Remove a failover
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
failover: no
# Remove a monitor
- dnsmadeeasy:
account_key: key
account_secret: secret
domain: my.com
state: present
record_name: test
record_type: A
record_value: 127.0.0.1
monitor: no
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Brice Burgess (@briceburg)
Hint
If you notice any issues in this documentation you can edit this document to improve it.