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)
45 lines
593 B
Ruby
45 lines
593 B
Ruby
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
|