Puppet Function: simplib::mock_data

Defined in:
lib/puppet/functions/simplib/mock_data.rb
Function type:
Ruby 4.x API

Overview

A mock data function

Signatures:

  • simplib::mock_data(Hash $options, Puppet::LookupContext $context)Any

    Parameters:

    • options (Hash)
    • context (Puppet::LookupContext)

    Returns:

    • (Any)
  • simplib::mock_data(String $key, Hash $options, Puppet::LookupContext $context)Any

    Parameters:

    • key (String)
    • options (Hash)
    • context (Puppet::LookupContext)

    Returns:

    • (Any)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/puppet/functions/simplib/mock_data.rb', line 2

Puppet::Functions.create_function(:'simplib::mock_data') do
  # @param options
  # @param context
  #
  # @return [Any]
  dispatch :mock_data do
    param 'Hash', :options
    param 'Puppet::LookupContext', :context
  end

  # @param key
  # @param options
  # @param context
  #
  # @return [Any]
  dispatch :mock_data_lookup_key do
    param 'String', :key
    param 'Hash', :options
    param 'Puppet::LookupContext', :context
  end

  def mock_data(options, context)
    case options["path"]
    when "/path/1"
      {
        "profiles::test1::variable" => "goodvar",
        "profiles::test2::variable" => "badvar",
        "profiles::test::test1::variable" => "goodvar",
        "apache::sync" => "badvar",
        "user::root_password" => "badvar",
      }
    when "/path/2"
      {
        "profiles::test1::variable" => "goodvar",
        "profiles::test2::variable" => "badvar",
        "profiles::test::test1::variable" => "goodvar",
      }
    else
      {}
    end
  end

  def mock_data_lookup_key(key, options, context)
    data = mock_data(options, context)
    if (data.key?(key))
      data[key]
    else
      context.not_found
    end
  end
end