class Puppet::Indirector::Corl

Public Class Methods

new(*args) click to toggle source
Calls superclass method
   # File lib/puppet/indirector/corl.rb
 6 def initialize(*args)
 7   node = CORL::Provisioner::Puppetnode.node
 8 
 9   unless node.config_initialized?
10     raise "CORL terminus not supported without the CORL library"
11   end
12   super
13 end

Public Instance Methods

find(request) click to toggle source
   # File lib/puppet/indirector/corl.rb
17 def find(request)
18   node         = CORL::Provisioner::Puppetnode.node
19 
20   puppet_scope = request.options[:variables]
21   module_name  = nil
22   module_name  = puppet_scope.source.module_name if puppet_scope.source
23   contexts     = [ :param, :data_binding, request.key ]
24 
25   default_options = {
26     :provisioner     => :puppetnode,
27     :hiera_scope     => puppet_scope,
28     :puppet_scope    => puppet_scope,
29     :search          => 'core::default',
30     :search_name     => false,
31     :force           => true,
32     :merge           => true,
33     :undefined_value => :undef
34   }
35 
36   if module_name
37     config = CORL::Config.init({}, contexts, module_name, default_options)
38   else
39     config = CORL::Config.init_flat({}, contexts, default_options)
40   end
41   node.lookup(request.key, nil, config)
42 end