Puppet Function: mesos_hash_parser
- Defined in:
- lib/puppet/parser/functions/mesos_hash_parser.rb
- Function type:
- Ruby 3.x API
Overview
This function converts simple key-value structure to a Hash that is required by create_resources function
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 |
# File 'lib/puppet/parser/functions/mesos_hash_parser.rb', line 6 newfunction(:mesos_hash_parser, type: :rvalue, doc: <<-EOS This function converts simple key-value structure to a Hash that is required by create_resources function EOS ) do |args| # Arguments: hash key_prefix [file_prefix] if args.empty? || args.size > 3 raise(Puppet::ParseError, "mesos_hash_parser(): Wrong number of args, given #{args.size}, accepts either 1, 2 or 3") end if args[0].class != Hash raise(Puppet::ParseError, 'mesos_hash_parser(): first argument must be a Hash, you passed a ' + args[0].class.to_s) end res = {} key_prefix = args[1] if args.size >= 2 file_prefix = args[2] if args.size == 3 args[0].each do |key, val| file = file_prefix ? "#{file_prefix}_#{key}" : key key = "#{key_prefix}_#{key}" if key_prefix res[key] = { 'value' => val, 'file' => file } end res end |