diff options
Diffstat (limited to 'lib/puppet/type/dns_zone2.rb')
-rw-r--r-- | lib/puppet/type/dns_zone2.rb | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/lib/puppet/type/dns_zone2.rb b/lib/puppet/type/dns_zone2.rb index 6cee6f2..61fe8ce 100644 --- a/lib/puppet/type/dns_zone2.rb +++ b/lib/puppet/type/dns_zone2.rb @@ -1,10 +1,17 @@ -Puppet::Type.newtype(:dns_zone2, :self_refresh => true) do - @doc = %q{ - } +Puppet::Type.newtype(:dns_zone2, self_refresh: true) do + @doc = <<~EOF + A complete DNS zonefile. + + The SOA record comes backed in, this for two reasons: + 1. A SOA record is REQUIRED in all zonefiles, so it doesn't make + sense to allow it to be emitted. + 2. This is the only way to ensure that our serial is only updated + when something else has actually changed in the zone. + EOF newproperty(:ensure) do newvalue(:present) do - provider.write_zone (resource.should_content) + provider.write_zone(resource.should_content) end # This should ideally remove the zone. This is however managed @@ -32,7 +39,7 @@ Puppet::Type.newtype(:dns_zone2, :self_refresh => true) do provider.write_zone(should_content) end - newparam(:origin, :namevar => true) do + newparam(:origin, namevar: true) do munge do |value| if value[-1] == '.' value @@ -58,7 +65,6 @@ Puppet::Type.newtype(:dns_zone2, :self_refresh => true) do defaultto :master end - newparam(:default_ttl) do defaultto '300' end @@ -112,10 +118,11 @@ Puppet::Type.newtype(:dns_zone2, :self_refresh => true) do # This prevents the directory purge on /var/named/zones from deleting us. def generate - [Puppet::Type.type(:file).new({ + params = { ensure: :present, path: provider.filename, - })] + } + [Puppet::Type.type(:file).new(params)] end def should_content |