Create resource_record type
Abstract out the nsupdate provider logic and implement a new resource_record type around it which applies no semantic value to its title. Also: support SPF and TXT records, include isrequired on required parameters (though it doesn't seem to work as advertised)
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
require 'puppet_bind/provider/nsupdate'
|
||||
|
||||
Puppet::Type.type(:resource_record).provide(:nsupdate) do
|
||||
|
||||
include PuppetBind::Provider::NsUpdate
|
||||
|
||||
commands :dig => 'dig', :nsupdate => 'nsupdate'
|
||||
|
||||
def initialize(value={})
|
||||
super(value)
|
||||
@properties = {}
|
||||
end
|
||||
|
||||
def data
|
||||
query.map { |record| record[:rrdata] }.sort
|
||||
end
|
||||
|
||||
def data=(data)
|
||||
@properties[:rrdata] = data
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def rrdata
|
||||
data
|
||||
end
|
||||
|
||||
def newdata
|
||||
resource[:data]
|
||||
end
|
||||
|
||||
def rrclass
|
||||
resource[:rrclass]
|
||||
end
|
||||
|
||||
def type
|
||||
resource[:type]
|
||||
end
|
||||
|
||||
def name
|
||||
resource[:record]
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user