@@ -253,7 +253,13 @@ values are `IN`, `CH`, and `HS`.
253253
254254` data ` is required, and may be a scalar value or an array of scalar values
255255whose format conform to the type of DNS resource record being created. ` data `
256- is an ensurable property and changes will be reflected in DNS.
256+ is an ensurable property and changes will be reflected in DNS. ** Note** : for
257+ record types that have a DNS name as either the whole value or a component of
258+ the value (e.g. ` NS ` , 'MX', ` CNAME ` , ` PTR ` , ` NAPTR ` , or ` SRV ` ) you must specify
259+ the name as a fully-qualified name with a trailing dot in order to satisfy
260+ both BIND, which will otherwise consider it a name relative, and Puppet, which
261+ will not consider the dot-qualified output of dig equal to a non-dot-qualified
262+ value in the manifest.
257263
258264` ttl ` defaults to 43200 and need not be specified. ` ttl ` is an ensurable
259265property and changes will be reflected in DNS.
@@ -285,22 +291,35 @@ specified, then the update will not use TSIG authentication.
285291####resource_record examples
286292
287293Mail exchangers for a domain. Declares three mail exchangers for the domain
288- ` example.com ` , which are ` mx.example.com ` , ` mx2.example.com ` , and ` mx.mail-host.ex `
289- with priorities ` 10 ` , ` 20 ` , and ` 30 ` , respectively:
294+ ` example.com ` , which are ` mx.example.com ` , ` mx2.example.com ` , and
295+ ` mx.mail-host.ex ` with priorities ` 10 ` , ` 20 ` , and ` 30 ` , respectively (note the
296+ trailing dots in the values to denote fully-qualified names):
290297
291298 resource_record { 'example.com mail exchangers':
292299 record => 'example.com',
293300 type => 'MX',
294- data => [ '10 mx', '20 mx2', '20 mx.mail-host.ex.', ],
301+ data => [ '10 mx.example.com. ', '20 mx2.example.com. ', '20 mx.mail-host.ex.', ],
295302 }
296303
297304Nameserver records for a zone. Declares three nameserver records for the zone
298- ` example.com ` , which are ` ns1.example.com ` , ` ns2.example.com ` , and ` ns.dns-host.ex ` :
305+ ` example.com ` , which are ` ns1.example.com ` , ` ns2.example.com ` , and
306+ ` ns.dns-host.ex ` :
299307
300308 resource_record { 'example.com name servers':
301309 record => 'example.com',
302310 type => 'NS',
303- data => [ 'ns1', 'ns2', 'ns.dns-host.ex.' ],
311+ data => [ 'ns1.example.com.', 'ns2.example.com.', 'ns.dns-host.ex.' ],
312+ }
313+
314+ Delegating nameserver records in a parent zone. Declares a nameserver record in
315+ the parent zone in order to delegate authority for a subdomain:
316+
317+ resource_record { 'sub.example.com delegation':
318+ record => 'sub.example.com'
319+ type => 'NS',
320+ zone => 'example.com',
321+ query_section => 'authority',
322+ data => 'sub-ns.example.com.',
304323 }
305324
306325Service locators records for a domain. Declares a service locator for SIP over
0 commit comments