Module: Puppet::DataProviders::HieraSupport

Included in:
HieraEnvDataProvider, HieraModuleDataProvider
Defined in:
lib/puppet/data_providers/hiera_support.rb

Instance Method Summary collapse

Instance Method Details

#config_pathObject



4
5
6
# File 'lib/puppet/data_providers/hiera_support.rb', line 4

def config_path
  @hiera_config.nil? ? 'not yet configured' : @hiera_config.config_path
end

#nameObject



8
9
10
# File 'lib/puppet/data_providers/hiera_support.rb', line 8

def name
  'Hiera Data Provider' + (@hiera_config.nil? ? '' : ", version #{@hiera_config.version}")
end

#unchecked_lookup(key, lookup_invocation, merge) ⇒ Object

Performs a lookup by searching all given paths for the given key. A merge will be performed if the value is found in more than one location and merge is not nil.

Parameters:



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/puppet/data_providers/hiera_support.rb', line 20

def unchecked_lookup(key, lookup_invocation, merge)
  lookup_invocation.with(:data_provider, self) do
    merge_strategy = Puppet::Pops::MergeStrategy.strategy(merge)
    lookup_invocation.with(:merge, merge_strategy) do
      merged_result = merge_strategy.merge_lookup(data_providers(data_key(key, lookup_invocation), lookup_invocation)) do |data_provider|
        data_provider.unchecked_lookup(key, lookup_invocation, merge_strategy)
      end
      lookup_invocation.report_result(merged_result)
    end
  end
end