Puppet Function: dns_lookup
- Defined in:
- lib/puppet/parser/functions/dns_lookup.rb
- Function type:
- Ruby 3.x API
Overview
Does a DNS lookup and returns an array of addresses.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/puppet/parser/functions/dns_lookup.rb', line 5 newfunction(:dns_lookup, :type => :rvalue, :arity => 1, :doc => <<-EOS Does a DNS lookup and returns an array of addresses. EOS ) do |arguments| require 'resolv' res = Resolv::DNS.new arg = arguments[0] ret = if arg.is_a? Array arg.collect { |e| res.getaddresses(e).map(&:to_s) }.flatten else res.getaddresses(arg).collect { |r| r.to_s } end raise Resolv::ResolvError, "DNS result has no information for #{arg}" if ret.empty? ret end |