Sha256: fe75207e2d9a9717f86689a7c138c01c83d39ba034d830e83292ed46c8f76f8d

Contents?: true

Size: 1.5 KB

Versions: 40

Compression:

Stored size: 1.5 KB

Contents

#
# corl_include.rb
#
# This function includes classes based on dynamic configurations.
# following this order
# - Hiera backend, if present (no prefix)
# - ::data::default::varname
# - ::varname
# - {default parameter}
#
module Puppet::Parser::Functions
  newfunction(:corl_include, :doc => <<-EOS
This function performs a lookup for a variable value in various locations following this order:
- Hiera backend, if present (no prefix)
- ::data::default::varname
- ::varname
- {default parameter}
If no value is found in the defined sources, it does not include any classes.
    EOS
) do |args|
    
    CORL.run do
      raise(Puppet::ParseError, "corl_include(): Define at least the variable name " +
        "given (#{args.size} for 1)") if args.size < 1

      var_name    = args[0]
      parameters  = ( args.size > 1 ? args[1] : {} )
      options     = ( args.size > 2 ? args[2] : {} )
      
      module_name = parent_module_name
      contexts    = [ :include, var_name ]
      
      default_options = {
        :hiera_scope     => self,
        :puppet_scope    => self,
        :search          => 'core::default',
        :force           => true,
        :merge           => true,
        :undefined_value => :undef
      }
      
      if module_name
        config = CORL::Config.init(options, contexts, module_name, default_options)  
      else
        config = CORL::Config.init_flat(options, contexts, default_options)
      end
      
      CORL::Util::Puppet.include(var_name, parameters, config)
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
corl-0.5.13 lib/puppet/parser/functions/corl_include.rb
corl-0.5.12 lib/puppet/parser/functions/corl_include.rb
corl-0.5.11 lib/puppet/parser/functions/corl_include.rb
corl-0.5.10 lib/puppet/parser/functions/corl_include.rb
corl-0.5.9 lib/puppet/parser/functions/corl_include.rb
corl-0.5.8 lib/puppet/parser/functions/corl_include.rb
corl-0.5.7 lib/puppet/parser/functions/corl_include.rb
corl-0.5.6 lib/puppet/parser/functions/corl_include.rb
corl-0.5.5 lib/puppet/parser/functions/corl_include.rb
corl-0.5.4 lib/puppet/parser/functions/corl_include.rb
corl-0.5.3 lib/puppet/parser/functions/corl_include.rb
corl-0.5.2 lib/puppet/parser/functions/corl_include.rb
corl-0.5.1 lib/puppet/parser/functions/corl_include.rb
corl-0.5.0 lib/puppet/parser/functions/corl_include.rb
corl-0.4.29 lib/puppet/parser/functions/corl_include.rb
corl-0.4.28 lib/puppet/parser/functions/corl_include.rb
corl-0.4.27 lib/puppet/parser/functions/corl_include.rb
corl-0.4.26 lib/puppet/parser/functions/corl_include.rb
corl-0.4.25 lib/puppet/parser/functions/corl_include.rb
corl-0.4.24 lib/puppet/parser/functions/corl_include.rb