Merge pull request #66 from inkblot/autorequire-local-service

When a record is local, require the service
This commit is contained in:
Nate Riffe 2015-12-27 09:41:26 -06:00
commit 7758226ed8

View File

@ -1,6 +1,20 @@
require 'socket'
require 'resolv'
Puppet::Type.newtype(:resource_record) do Puppet::Type.newtype(:resource_record) do
@doc = 'A Resource Record in the Domain Name System' @doc = 'A Resource Record in the Domain Name System'
autorequire(:service) do
reqs = []
# Depend on the bind service if the record is local
reqs << 'bind' if Socket.ip_address_list.any? do |intf|
Resolv.getaddresses(self[:server]).any? do |addr|
intf.ip_address === addr
end
end
reqs
end
ensurable ensurable
newparam(:title, :namevar => true) do newparam(:title, :namevar => true) do