(#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:
parent
a6ed9fbca3
commit
8a46e201fe
1 changed files with 20 additions and 0 deletions
20
lib/puppet/parser/functions/loadyaml.rb
Normal file
20
lib/puppet/parser/functions/loadyaml.rb
Normal 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
|
Loading…
Reference in a new issue