summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2022-02-16 15:07:59 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2022-02-16 16:38:22 +0100
commit096ff350b9068f4ea5a6d0e8ccac6ee45c2d10dd (patch)
tree862cf6a6fe9dfc4de0d807fbf856aa87b8285329
parentAdd value and ttl setting for dns_record. (diff)
downloaddns_record-096ff350b9068f4ea5a6d0e8ccac6ee45c2d10dd.tar.gz
dns_record-096ff350b9068f4ea5a6d0e8ccac6ee45c2d10dd.tar.xz
Disallow NS records.
-rw-r--r--lib/puppet/provider/dns_record/zonefile.rb14
-rw-r--r--lib/puppet/type/dns_record.rb2
2 files changed, 6 insertions, 10 deletions
diff --git a/lib/puppet/provider/dns_record/zonefile.rb b/lib/puppet/provider/dns_record/zonefile.rb
index df220b7..1efe003 100644
--- a/lib/puppet/provider/dns_record/zonefile.rb
+++ b/lib/puppet/provider/dns_record/zonefile.rb
@@ -38,7 +38,7 @@ Puppet::Type.type(:dns_record).provide(:zonefile) do
# :SOA
case type
- when :A, :MX, :NS, :CNAME, :A4, :AAAA, :PTR, :SRV
+ when :A, :MX, :CNAME, :A4, :AAAA, :PTR, :SRV
data[:host] = resource[:value]
when :TXT
data[:text] = resource[:value]
@@ -49,8 +49,6 @@ Puppet::Type.type(:dns_record).provide(:zonefile) do
case type
when :AAAA
zone.add_record(:a4, data)
- when :NS
- zone.add_record(:ns, data)
else
zone.add_record(type, data)
end
@@ -61,8 +59,6 @@ Puppet::Type.type(:dns_record).provide(:zonefile) do
case type
when :AAAA
zone.a4.reject! {|record| record[:name] == record_to_remove[:key] }
- when :NS
- zone.ns.reject! {|record| record[:name] == record_to_remove[:key] && record[:host] == record_to_remove[:value]}
when nil
Zonefile::RECORDS.map{|t| t.downcase.intern}.each do |t|
zone.records[t].reject! {|record| record[:name] == record_to_remove[:key] }
@@ -102,6 +98,10 @@ Puppet::Type.type(:dns_record).provide(:zonefile) do
resource[:type]
end
+ def key
+ resource[:key]
+ end
+
def value
record = find_self
record && record[:host]
@@ -114,10 +114,6 @@ Puppet::Type.type(:dns_record).provide(:zonefile) do
record[:host] = value
end
- def key
- resource[:key]
- end
-
def ttl
record = find_self
record && record[:ttl]
diff --git a/lib/puppet/type/dns_record.rb b/lib/puppet/type/dns_record.rb
index f8dc00e..0f2be90 100644
--- a/lib/puppet/type/dns_record.rb
+++ b/lib/puppet/type/dns_record.rb
@@ -20,7 +20,7 @@ Puppet::Type.newtype(:dns_record) do
newproperty(:type) do
desc "DNS Record type, such as A, or TXT"
- newvalues(:A, :AAAA, :CNAME, :NS, :PTR)
+ newvalues(:A, :AAAA, :CNAME, :PTR)
isrequired
end