Puppet Function: getparam
- Defined in:
- vendor_modules/stdlib/lib/puppet/parser/functions/getparam.rb
- Function type:
- Ruby 3.x API
Summary
Returns the value of a resource's parameter.Overview
Takes a resource reference and name of the parameter and returns value of resource's parameter. Note that user defined resource types are evaluated lazily.
Would notice: 'the value we are getting in this example'
> *Note* that since Puppet 4.0.0 it is possible to get a parameter value by using its data type and the [ ] operator. The example below is equivalent to a call to getparam():
```Example_resource['example_resource_instance']['param']``
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 53 54 55 56 57 58 59 |
# File 'vendor_modules/stdlib/lib/puppet/parser/functions/getparam.rb', line 6 Puppet::Parser::Functions.newfunction(:getparam, type: :rvalue, doc: <<-'DOC' @summary Returns the value of a resource's parameter. @return value of a resource's parameter. Takes a resource reference and name of the parameter and returns value of resource's parameter. Note that user defined resource types are evaluated lazily. @example Example Usage: # define a resource type with a parameter define example_resource($param) { } # declare an instance of that type example_resource { "example_resource_instance": param => "'the value we are getting in this example''" } # Because of order of evaluation, a second definition is needed # that will be evaluated after the first resource has been declared # define example_get_param { # This will notice the value of the parameter notice(getparam(Example_resource["example_resource_instance"], "param")) } # Declare an instance of the second resource type - this will call notice example_get_param { 'show_notify': } Would notice: 'the value we are getting in this example' > **Note** that since Puppet 4.0.0 it is possible to get a parameter value by using its data type and the [ ] operator. The example below is equivalent to a call to getparam(): ```Example_resource['example_resource_instance']['param']`` DOC ) do |vals| reference, param = vals raise(ArgumentError, 'Must specify a reference') unless reference raise(ArgumentError, 'Must specify name of a parameter') unless param&.instance_of?(String) return '' if param.empty? resource = findresource(reference.to_s) if resource return resource[param] unless resource[param].nil? end return '' end |