puppetlabs-stdlib/lib/puppet/parser/functions/getvar.rb

24 lines
523 B
Ruby
Raw Normal View History

module Puppet::Parser::Functions
newfunction(:getvar, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
Lookup a variable in a remote namespace.
For example:
$foo = getvar('site::data::foo')
This is useful if the namespace itself is stored in a string:
$bar = getvar("${datalocation}::bar")
ENDHEREDOC
unless args.length == 1
raise Puppet::ParseError, ("getvar(): wrong number of arguments (#{args.length}; must be 1)")
end
self.lookupvar("#{args[0]}")
end
end