Puppet Function: set_param
- Defined in:
- lib/puppet/functions/set_param.rb
- Function type:
- Ruby 4.x API
Overview
See the file “LICENSE” for the full license governing this code.
Returns the value for requested parameter. Currently supported parameters:
- 
instance_name 
- 
instance_number 
- 
thread_number 
rubocop: disable Metrics/AbcSize rubocop: disable Metrics/CyclomaticComplexity rubocop: disable Metrics/PerceivedComplexity rubocop: disable Metrics/MethodLength
| 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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | # File 'lib/puppet/functions/set_param.rb', line 15 Puppet::Functions.create_function(:set_param) do dispatch :set_string_param do param 'String', :param_name param 'String', :dbname optional_param 'Undef', :cluster_nodes return_type 'String' end dispatch :set_string_param_cluster do param 'String', :param_name param 'String', :dbname param 'Array', :cluster_nodes # return_type 'String' end def set_string_param(param_name, dbname, _cluster_nodes) case param_name when 'instance_name' return_value = dbname when 'instance_number', 'thread_number' return_value = '' else fail "Unknown param_name #{param_name}" end return_value end def set_string_param_cluster(param_name, dbname, cluster_nodes) scope = closure_scope hostname = scope['hostname'] case param_name # instance_name when 'instance_name' if cluster_nodes && dbname index = 0 instance_number = cluster_nodes.map do |node| index += 1 index if node == hostname end.flatten.join return_value = "#{dbname}#{instance_number}" elsif dbname return_value = dbname else fail "cluster_nodes and/or dbname needed to determine value for #{param_name}" end # instance_number and thread_number when 'instance_number', 'thread_number' if cluster_nodes && dbname index = 0 instance_number = cluster_nodes.map do |node| index += 1 index if node == hostname end.flatten.join return_value = instance_number elsif dbname return_value = '' else fail "cluster_nodes and dbname needed to determine value for #{param_name}" end else fail "Unknown param_name #{param_name}" end return_value end end |