X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=files%2Fetc%2Fpuppet%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fnodeinfo.rb;fp=files%2Fetc%2Fpuppet%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fnodeinfo.rb;h=fae9d6dd7d11d5f497b745f6f24e29d28359437e;hb=1bd7a12545f37e9d075e6cad9503172f174fd91f;hp=e9b72fa9415401164b3e2e692d88b89adb50cffe;hpb=0c486ef5fc44fccfab7b3089bbf7dc6d1d710742;p=mirror%2Fdsa-puppet.git diff --git a/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb b/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb index e9b72fa94..fae9d6dd7 100644 --- a/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb +++ b/files/etc/puppet/lib/puppet/parser/functions/nodeinfo.rb @@ -3,47 +3,11 @@ module Puppet::Parser::Functions host = args[0] yamlfile = args[1] - parser.watch_file(yamlfile) - require 'yaml' require '/etc/puppet/lib/puppet/parser/functions/ldapinfo.rb' + require '/etc/puppet/lib/puppet/parser/functions/yamlinfo.rb' - $KCODE = 'utf-8' - - yaml = YAML.load_file(yamlfile) - results = {} - - ['nameinfo', 'footer'].each do |detail| - if yaml.has_key?(detail) - if yaml[detail].has_key?(host) - results[detail] = yaml[detail][host] - end - end - end - - if yaml.has_key?('services') - yaml['services'].each_pair do |service, hostlist| - hostlist=[hostlist] unless hostlist.kind_of?(Array) - results[service] = hostlist.include?(host) - end - end - - results['mail_port'] = '' - results['smarthost'] = '' - results['heavy_exim'] = '' - results['smarthost_port'] = 587 - results['reservedaddrs'] = '0.0.0.0/8 : 127.0.0.0/8 : 10.0.0.0/8 : 169.254.0.0/16 : 172.16.0.0/12 : 192.0.0.0/17 : 192.168.0.0/16 : 224.0.0.0/4 : 240.0.0.0/5 : 248.0.0.0/5' - - if yaml['host_settings'].kind_of?(Hash) - yaml['host_settings'].each_pair do |property, values| - if values.kind_of?(Hash) - results[property] = values[host] if values.has_key?(host) - elsif values.kind_of?(Array) - results[property] = "true" if values.include?(host) - end - end - end - + results = function_yamlinfo(host, yamlfile) results['ldap'] = function_ldapinfo(host, '*') return(results) end