]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/concat/lib/puppet/parser/functions/concat_getparam.rb
try if downgrading to 1.2.2 solves my problem
[dsa-puppet.git] / 3rdparty / modules / concat / lib / puppet / parser / functions / concat_getparam.rb
1 # Test whether a given class or definition is defined
2 require 'puppet/parser/functions'
3
4 Puppet::Parser::Functions.newfunction(:concat_getparam,
5                                       :type => :rvalue,
6                                       :doc => <<-'ENDOFDOC'
7 Takes a resource reference and name of the parameter and
8 returns value of resource's parameter.
9
10 *Examples:*
11
12     define example_resource($param) {
13     }
14
15     example_resource { "example_resource_instance":
16         param => "param_value"
17     }
18
19     concat_getparam(Example_resource["example_resource_instance"], "param")
20
21 Would return: param_value
22 ENDOFDOC
23 ) do |vals|
24   reference, param = vals
25   raise(ArgumentError, 'Must specify a reference') unless reference
26   raise(ArgumentError, 'Must specify name of a parameter') unless param and param.instance_of? String
27
28   return '' if param.empty?
29
30   if resource = findresource(reference.to_s)
31     return resource[param] if resource[param]
32   end
33
34   return ''
35 end