Documentation
PLEASE NOTE: This document applies to latest version and not to the latest stable release v2.20
Documentation for other releases can be found by using the version selector in the top right of any doc page.nsupdate
Manage DNS records using dynamic DNS updates (RFC 2136).
Attributes
check_mode:
support: full
Parameters
| Parameter | Required | Type | Values | Description |
|---|---|---|---|---|
| key_algorithm | string | hmac-md5 hmac-sha1 hmac-sha224 hmac-sha256 hmac-sha384 hmac-sha512 |
TSIG key algorithm. | |
| key_name | string | TSIG key name for authentication. | ||
| key_secret | string | TSIG key secret (base64 encoded). | ||
| port | integer | DNS server port. | ||
| priority | integer | Priority for MX and SRV records. | ||
| record | string | The record name (e.g. www). Use “@” for the zone root. | ||
| server | true | string | The DNS server to send updates to. | |
| srv_port | integer | Port value for SRV records. | ||
| state | string | present absent |
The desired state of the record. | |
| ttl | integer | The TTL in seconds. | ||
| type | string | A AAAA CNAME MX TXT SRV NS PTR CAA SOA |
The DNS record type. | |
| value | string | The record value (required for state=present). | ||
| weight | integer | Weight for SRV records. | ||
| zone | true | string | The DNS zone to manage (e.g. example.com). |
Examples
```yaml
-
name: Add A record nsupdate: server: dns.example.com zone: example.com record: www type: A value: 192.168.1.1 ttl: 300 state: present
-
name: Add A record with TSIG authentication nsupdate: server: dns.example.com zone: example.com record: www type: A value: 192.168.1.1 ttl: 300 key_name: mykey key_secret: “{{ dns_key }” /// key_algorithm: hmac-sha256 /// state: present /// /// - name: Add AAAA record /// nsupdate: /// server: dns.example.com /// zone: example.com /// record: www /// type: AAAA /// value: “2001:db8::1” /// state: present /// /// - name: Add CNAME record /// nsupdate: /// server: dns.example.com /// zone: example.com /// record: blog /// type: CNAME /// value: www.example.com /// state: present /// /// - name: Add MX record /// nsupdate: /// server: dns.example.com /// zone: example.com /// record: “@” /// type: MX /// value: mail.example.com /// priority: 10 /// state: present /// /// - name: Add TXT record /// nsupdate: /// server: dns.example.com /// zone: example.com /// record: “@” /// type: TXT /// value: “v=spf1 include:_spf.example.com ~all” /// state: present /// /// - name: Add SRV record /// nsupdate: /// server: dns.example.com /// zone: example.com /// record: “_sip._tcp” /// type: SRV /// value: “sip.example.com” /// priority: 10 /// weight: 60 /// port: 5060 /// state: present /// /// - name: Delete a DNS record /// nsupdate: /// server: dns.example.com /// zone: example.com /// record: old /// type: A /// state: absent /// /// - name: Add record using custom port /// nsupdate: /// server: dns.example.com /// port: 5353 /// zone: example.com /// record: test /// type: A /// value: 10.0.0.1 /// state: present /// ```}