diff options
author | Ken Barber <ken@bob.sh> | 2011-07-28 21:15:43 +0100 |
---|---|---|
committer | Ken Barber <ken@bob.sh> | 2011-07-28 21:15:43 +0100 |
commit | a47853502d7681edd8173e05249ce43d44bede7c (patch) | |
tree | a723449dd15b425c660dcff7018f9bdf08a57574 /lib | |
parent | 1a7bd1ae8321bfc3d2ae87f1d5184828abf56916 (diff) |
Removed load_variables. load_yaml is sufficient to solve this problem on its own.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/parser/functions/load_variables.rb | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/lib/puppet/parser/functions/load_variables.rb b/lib/puppet/parser/functions/load_variables.rb deleted file mode 100644 index a28c64b..0000000 --- a/lib/puppet/parser/functions/load_variables.rb +++ /dev/null @@ -1,77 +0,0 @@ -# -# load_variables.rb -# - -module Puppet::Parser::Functions - newfunction(:load_variables, :type => :statement, :doc => <<-EOS -This function will allow for loading variables from an external YAML -file and expose them for further use inside the Puppet manifest file ... - -For example: - -Given following content of the data.yaml file: - - --- - host1.example.com: - foo: bar - baz: quux - question: 42 - host2.example.com: - abc: def - this: that - darth: vader - -Then calling load_variables in Puppet manifest file as follows: - - load_variables("/etc/puppet/data.yaml", $fqdn) - -Will result in addition of variables $foo, $baz and $question -for matching host name as per the variable $fqdn ... - -Another example which uses per-host file: - -Given following content of the file data-host1.example.com.yaml: - - --- - foo: bar - -Then when we call load_variables like this: - - load_variables("/etc/puppet/data-${fqdn}.yaml") - -This will result in a variable $foo being added and ready for use. - EOS - ) do |arguments| - - raise(Puppet::ParseError, "load_variables(): Wrong number of " + - "arguments given (#{arguments.size} for 2)") if arguments.size < 2 - - data = {} - - file = arguments[0] - key = arguments[1] if arguments[1] - - if File.exists?(file) - - begin - data = YAML.load_file(file) - rescue => error - raise(Puppet::ParseError, "load_variables(): Unable to load data " + - "from the file `%s': %s" % file, error.to_s) - end - - raise(Puppet::ParseError, "load_variables(): Data in the file `%s' " + - "is not a hash" % file) unless data.is_a?(Hash) - - data = ((data[key] and data[key].is_a?(Hash)) ? data[key] : {}) if key - end - - data.each do |param, value| - value = strinterp(value) # Evaluate any interpolated variable names ... - - setvar(param, value) - end - end -end - -# vim: set ts=2 sw=2 et : |