Module: Puppet::DataProviders

Defined in:
lib/puppet/data_providers.rb,
lib/puppet/data_providers/function_env_data_provider.rb,
lib/puppet/data_providers/function_module_data_provider.rb

Defined Under Namespace

Modules: DataFunctionSupport Classes: DataAdapter, FunctionEnvDataProvider, FunctionModuleDataProvider

Constant Summary collapse

MODULE_NAME =
'module_name'.freeze

Class Method Summary collapse

Class Method Details

.assert_loadedObject



3
4
5
6
7
8
9
# File 'lib/puppet/data_providers.rb', line 3

def self.assert_loaded
  unless @loaded
    require 'puppet/pops'
    require 'puppet/data_providers/data_adapter'
  end
  @loaded = true
end

.lookup_in_environment(name, scope, merge) ⇒ Object



11
12
13
14
15
# File 'lib/puppet/data_providers.rb', line 11

def self.lookup_in_environment(name, scope, merge)
  assert_loaded()
  adapter = Puppet::DataProviders::DataAdapter.adapt(Puppet.lookup(:current_environment))
  adapter.env_provider.lookup(name, scope, merge)
end

.lookup_in_module(name, scope, merge) ⇒ Object



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

def self.lookup_in_module(name, scope, merge)
  # Do not attempt to do a lookup in a module unless the name is qualified.
  qual_index = name.index('::')
  throw :no_such_key if qual_index.nil?
  module_name = name[0..qual_index-1]

  assert_loaded()
  adapter = Puppet::DataProviders::DataAdapter.adapt(Puppet.lookup(:current_environment))
  data_provider = adapter.module_provider(module_name)
  throw :no_such_key if data_provider.nil?
  data_provider.lookup(name, scope, merge)
end