Puppet Function: compliance_markup::enforcement

Defined in:
lib/puppet/functions/compliance_markup/enforcement.rb
Function type:
Ruby 4.x API

Overview

compliance_markup::enforcement(String $key, Hash $options, Puppet::LookupContext $context)Any

Parameters:

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

Returns:

  • (Any)


1
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
# File 'lib/puppet/functions/compliance_markup/enforcement.rb', line 1

Puppet::Functions.create_function(:compliance_markup::enforcement') do
  dispatch :hiera_enforcement do
    param "String", :key
    param "Hash", :options
    param "Puppet::LookupContext", :context
  end
  def initialize(closure_scope, loader)
    filename = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + "/puppetx/simp/compliance_mapper.rb"
    self.instance_eval(File.read(filename),filename)
    super(closure_scope, loader)
  end
  def hiera_enforcement(key, options, context)
    retval = nil
    @context = context
    begin
      retval = enforcement(key) do |k, default|
         call_function('lookup', k, { "default_value" => default})
      end
    rescue => e
      unless (e.class.to_s == "ArgumentError")
        debug("Threw error #{e.to_s}")
      end
      context.not_found
    end
    retval
  end
  def debug(message)
    @context.explain() { "debug: #{message}" }
  end
  def cache(key, value)
    @context.cache(key, value)
  end
  def cached_value(key)
    @context.cached_value(key)
  end
  def cache_has_key(key)
    @context.cache_has_key(key)
  end
end