@@ -253,7 +253,13 @@ values are `IN`, `CH`, and `HS`.
253
253
254
254
` data ` is required, and may be a scalar value or an array of scalar values
255
255
whose 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.
257
263
258
264
` ttl ` defaults to 43200 and need not be specified. ` ttl ` is an ensurable
259
265
property and changes will be reflected in DNS.
@@ -285,22 +291,35 @@ specified, then the update will not use TSIG authentication.
285
291
####resource_record examples
286
292
287
293
Mail 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):
290
297
291
298
resource_record { 'example.com mail exchangers':
292
299
record => 'example.com',
293
300
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.', ],
295
302
}
296
303
297
304
Nameserver 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 ` :
299
307
300
308
resource_record { 'example.com name servers':
301
309
record => 'example.com',
302
310
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.',
304
323
}
305
324
306
325
Service locators records for a domain. Declares a service locator for SIP over
0 commit comments