# profiles::dns::record # # Declares a DNS record for this host. The record is written to the local # dns-updater records file (profiles::dns::updater), which nsupdates it to the # authoritative DNS server. This replaces the old flow that exported a # @@concat::fragment to the puppet DNS master. define profiles::dns::record ( String $record, Enum[ 'PTR', 'A', 'CNAME', 'MX', 'NS', 'SRV', 'TXT' ] $type, String $value, String $zone, Integer $order, Integer $ttl = 300, ) { include profiles::dns::updater # zone|name|type|ttl|value (parsed by the dns-update script) concat::fragment { "dns-record-${name}": target => $profiles::dns::updater::records_file, content => "${zone}|${record}|${type}|${ttl}|${value}\n", order => sprintf('%03d', $order), } }