/ansible-m-dnsupdate

Ansible module to perform RFC 2136 dynamic DNS updates

Primary LanguagePython

dnsupdate

New in version 0.9.

This module performs dynamic DNS updates as per RFC 2136.

parameter required default choices comments
a no
    The rdata for the A resource record type (i.e. an IPv4 address)
    domain yes
      domain name to update (e.g. www)
      zone yes
        name of the authoritative zone (e.g. example.com)
        keyalgo no hmac-md5
        • hmac-md5
        • hmac-sha1
        • hmac-sha224
        • hmac-sha256
        • hmac-sha384
        • hmac-sha512
        TSIG key algorithm
        mname yes
          address of the master server to which to send the update to. This module does not currently determine the mname from the zone's SOA record.
          aaaa no
            The rdata for the AAAA resource record type (i.e. an IPv6 address)
            secret yes
              secret TSIG key blob (base-64 encoded)
              keyname yes
                name of the TSIG key required to perform updates
                ttl yes 3600
                  Time to Live for the RR.
                  txt no
                    The rdata for the TXT resource record type. Space-separated strings are encoded as per DNS rules.
                    op no add
                    • add
                    • delete
                    • replace
                    Operation to perform. add adds the specified RR to the RRset, del deletes the specified RRset and replace replaces the RRset with the RRs. If the operation is delete, the value of the RR is not verified as the whole RRset is deleted from the DNS.
                    • Example from Ansible Playbooks
                    local_action: dnsupdate keyname="mykey1"
                               secret="xxxxxxxxxx=="
                               mname=192.168.1.10
                               zone=example.org
                               domain=www
                               a=${ec2_ip_address}
                               op=add
                    
                    

                    Notes

                    This module requires dnspython (http://www.dnspython.org/), and it will typically be run as a local_action so as to not push the secret TSIG key all over the show.