(#8575) Add loadyaml() function

This change adds a loadyaml() puppet function that takes a path to a
YAML data file and returns the contents as a Puppet variable.  There is
currently no validation of the contents of the file.

This commit is intentionally lacking unit tests because of time
constraints.

Reviewed-by: Dan Bode
This commit is contained in:
Jeff McCune 2011-07-25 10:42:27 -07:00
parent a6ed9fbca3
commit 8a46e201fe

View file

@ -0,0 +1,20 @@
module Puppet::Parser::Functions
newfunction(:loadyaml, :type => :rvalue, :doc => <<-'ENDHEREDOC') do |args|
Load a YAML file and return the data if it contains an Array, String, or Hash
as a Puppet variable.
For example:
$myhash = loadyaml('/etc/puppet/data/myhash.yaml')
ENDHEREDOC
unless args.length == 1
raise Puppet::ParseError, ("loadyaml(): wrong number of arguments (#{args.length}; must be 1)")
end
YAML.load_file(args[0])
end
end