Support for RFC 2136 dynamic DNS updates.
dnspython Python module
If you want to use TSIG authentication for the server, there are a couple of optional configuration parameters made available to support this (the keyname is only needed if the keyring contains more than one key):
keyfile: keyring file (default=None) keyname: key name in file (default=None) keyalgorithm: algorithm used to create the key (default='HMAC-MD5.SIG-ALG.REG.INT'). Other possible values: hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384, hmac-sha512
The keyring file needs to be in json format and the key name needs to end with an extra period in the file, similar to this:
Add, replace, or update the A and PTR (reverse) records for a host.
salt ns1 ddns.add_host example.com host1 60 10.1.1.1
Delete a DNS record.
salt ns1 ddns.delete example.com host1 A
Delete the forward and reverse records for a host.
Returns true if any records are deleted.
salt ns1 ddns.delete_host example.com host1
Add, replace, or update a DNS record. nameserver must be an IP address and the minion running this module must have update privileges on that server. If replace is true, first deletes all records for this name and type.
salt ns1 ddns.update example.com host1 60 A 10.0.0.1