1 module Puppet::Parser::Functions
2 newfunction(:has_static_component, :type => :rvalue) do |args|
3 static_component = args[0]
4 fqdn = lookupvar('fqdn')
6 cfg = YAML.load(File.open('/etc/puppet/modules/roles/misc/static-components.yaml').read)
8 if cfg.include?('mirrors')
9 if cfg['mirrors'].include?(fqdn)
10 if cfg['mirrors'][fqdn].include?('components-include')
11 if cfg['mirrors'][fqdn]['components-include'].include?(static_component)
20 if cfg.include?('components')
21 if cfg['components'].include?(static_component)
22 if cfg['components'][static_component].include?('exclude-mirrors')
23 if cfg['components'][static_component]['exclude-mirrors'].include?(fqdn)
34 err "Static component #{static_component} appears to be not defined"