Merge branch 'master' of git+ssh://puppet.debian.org/srv/puppet.debian.org/git/dsa...
[mirror/dsa-puppet.git] / modules / puppetmaster / lib / puppet / parser / functions / nodeinfo.rb
1 module Puppet::Parser::Functions
2   newfunction(:nodeinfo, :type => :rvalue) do |args|
3
4     host = args[0]
5     yamlfile = args[1]
6
7     require '/var/lib/puppet/lib/puppet/parser/functions/ldapinfo.rb'
8
9     results         = function_yamlinfo(host, yamlfile)
10     results['ldap'] = function_ldapinfo(host, '*')
11
12     results['misc'] = {}
13     fqdn = lookupvar('fqdn')
14     if fqdn and fqdn == host
15       v4ips = lookupvar('v4ips')
16       if v4ips
17         # find out if we are behind nat
18         v4addrs = v4ips.split(',')
19         intersection = v4addrs & results['ldap']['ipHostNumber']
20         results['misc']['natted'] = intersection.empty?
21       end
22     end
23
24     return(results)
25   end
26 end
27
28 # vim: set fdm=marker ts=2 sw=2 et: