Puppet Function: scope_defaults

Defined in:
lib/puppet/parser/functions/scope_defaults.rb
Function type:
Ruby 3.x API

Overview

scope_defaults()Any

Determine if specified resource defaults have a attribute defined in current scope.

Returns:

  • (Any)


2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/puppet/parser/functions/scope_defaults.rb', line 2

newfunction(:scope_defaults, type: :rvalue, doc: <<-EOS
  Determine if specified resource defaults have a attribute defined in
  current scope.
EOS
           ) do |arguments|
  if arguments.size != 2
    raise(Puppet::ParseError, 'scope_defaults(): Wrong number of arguments ' \
      "given (#{arguments.size} for 2)")
  end

  # auto capitalize puppet resource for lookup:
  res_type = arguments[0].split('::').map(&:capitalize).join('::')
  res_attr = arguments[1]

  return lookupdefaults(res_type).key?(res_attr.to_sym)
end