Documentation

nsupdate - Manage DNS records.

New in version 2.3.

Synopsis

Requirements

The below requirements are needed on the host that executes this module.

  • dnspython

Parameters

Parameter
Choices/Defaults
Comments
key_algorithm
    Choices:
  • HMAC-MD5.SIG-ALG.REG.INT
  • hmac-md5 ←
  • hmac-sha1
  • hmac-sha224
  • hmac-sha256
  • hamc-sha384
  • hmac-sha512
Specify key algorithm used by key_secret.
key_name
Use TSIG key name to authenticate against DNS server
key_secret
Use TSIG key secret, associated with key_name, to authenticate against server
port
(added in 2.5)
Default:
53
Use this TCP port when connecting to server.
record
required
Sets the DNS record to modify.
server
required
Apply DNS modification on this server.
state
    Choices:
  • present ←
  • absent
Manage DNS record.
ttl
Default:
3600
Sets the record TTL.
type
Default:
A
Sets the record type.
value
Sets the record value.
zone
required
DNS record will be modified on this zone.

Examples

- name: Add or modify ansible.example.org A to 192.168.1.1"
  nsupdate:
    key_name: "nsupdate"
    key_secret: "+bFQtBCta7j2vWkjPkAFtgA=="
    server: "10.1.1.1"
    zone: "example.org"
    record: "ansible"
    value: "192.168.1.1"

- name: Add or modify ansible.example.org A to 192.168.1.1, 192.168.1.2 and 192.168.1.3"
  nsupdate:
    key_name: "nsupdate"
    key_secret: "+bFQtBCta7j2vWkjPkAFtgA=="
    server: "10.1.1.1"
    zone: "example.org"
    record: "ansible"
    value: ["192.168.1.1", "192.168.1.2", "192.168.1.3"]

- name: Remove puppet.example.org CNAME
  nsupdate:
    key_name: "nsupdate"
    key_secret: "+bFQtBCta7j2vWkjPkAFtgA=="
    server: "10.1.1.1"
    zone: "example.org"
    record: "puppet"
    type: "CNAME"
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key
Returned
Description
changed
string
success
If module has modified record

dns_rc
int
always
dnspython return code

Sample:
4
dns_rc_str
string
always
dnspython return code (string representation)

Sample:
REFUSED
record
string
success
DNS record

Sample:
ansible
ttl
int
success
DNS record TTL

Sample:
86400
type
string
success
DNS record type

Sample:
CNAME
value
list
success
DNS record value(s)

Sample:
192.168.1.1
zone
string
success
DNS record zone

Sample:
example.org.


Status

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

Author

  • Loic Blot (@nerzhul)

Hint

If you notice any issues in this documentation you can edit this document to improve it.