From d5981ec98b2541c27a0eea3745661a829b7613da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Sat, 10 Jun 2023 19:13:16 +0200 Subject: Qualify CNAMEs. --- lib/puppet/provider/dns_record2/named.rb | 2 +- manifests/record.pp | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/puppet/provider/dns_record2/named.rb b/lib/puppet/provider/dns_record2/named.rb index 2060c62..570b6f1 100644 --- a/lib/puppet/provider/dns_record2/named.rb +++ b/lib/puppet/provider/dns_record2/named.rb @@ -4,7 +4,7 @@ Puppet::Type.type(:dns_record2).provide(:named) do end def exists? - record != nil + record != [] end def type diff --git a/manifests/record.pp b/manifests/record.pp index c8b0baa..d25bb85 100644 --- a/manifests/record.pp +++ b/manifests/record.pp @@ -33,7 +33,7 @@ define dns::record ( Dns::Zonename $zone, Dns::Rr $type, - String $value, + String[1] $value, Dns::Class $cls = 'IN', String $key = '@', Optional[Dns::Ttl] $ttl = undef, @@ -54,6 +54,15 @@ define dns::record ( 'TXT': { $value.slice(255).map |$x| { "\"${x.join()}\"" }.join(' ') } + 'CNAME': { + # Qualify CNAMEs. This is when checking if the record already + # exists. + if $value[-1] == '.' { + $value + } else { + "${value}.${zone}" + } + } default: { $value } -- cgit v1.2.3