Documentation
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 /// ```}