Sha256: eb5b5515f9959156b836cbe692adb7f8a07dbd18247ce052e58f7d5813c221ed

Contents?: true

Size: 1.11 KB

Versions: 19

Compression:

Stored size: 1.11 KB

Contents

#
# global_hash.rb
#
# See: global_param.rb
#
module Puppet::Parser::Functions
  newfunction(:global_hash, :type => :rvalue, :doc => <<-EOS
This function performs a lookup for a variable value in various locations:
See: global_params()
If no value is found in the defined sources, it returns an empty hash ({})
    EOS
) do |args|
    
    value = nil
    CORL.run do
      raise(Puppet::ParseError, "global_hash(): Define at least the variable name " +
        "given (#{args.size} for 1)") if args.size < 1

      var_name = args[0]
      default  = ( args.size > 1 ? args[1] : {} )  
      options  = ( args.size > 2 ? args[2] : {} )
      node     = CORL::Provisioner::Puppetnode.node
    
      config = CORL::Config.init_flat(options, [ :param, :global_hash, var_name ], {
        :provisioner     => :puppetnode,
        :hiera_scope     => self,
        :puppet_scope    => self,
        :search          => 'core::default',
        :force           => true,
        :merge           => true,
        :undefined_value => :undef
      })
      value = node.lookup_hash(var_name, default, config)
    end
    return value
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
corl-0.5.18 lib/puppet/parser/functions/global_hash.rb
corl-0.5.17 lib/puppet/parser/functions/global_hash.rb
corl-0.5.16 lib/puppet/parser/functions/global_hash.rb
corl-0.5.15 lib/puppet/parser/functions/global_hash.rb
corl-0.5.14 lib/puppet/parser/functions/global_hash.rb
corl-0.5.13 lib/puppet/parser/functions/global_hash.rb
corl-0.5.12 lib/puppet/parser/functions/global_hash.rb
corl-0.5.11 lib/puppet/parser/functions/global_hash.rb
corl-0.5.10 lib/puppet/parser/functions/global_hash.rb
corl-0.5.9 lib/puppet/parser/functions/global_hash.rb
corl-0.5.8 lib/puppet/parser/functions/global_hash.rb
corl-0.5.7 lib/puppet/parser/functions/global_hash.rb
corl-0.5.6 lib/puppet/parser/functions/global_hash.rb
corl-0.5.5 lib/puppet/parser/functions/global_hash.rb
corl-0.5.4 lib/puppet/parser/functions/global_hash.rb
corl-0.5.3 lib/puppet/parser/functions/global_hash.rb
corl-0.5.2 lib/puppet/parser/functions/global_hash.rb
corl-0.5.1 lib/puppet/parser/functions/global_hash.rb
corl-0.5.0 lib/puppet/parser/functions/global_hash.rb