Puppet Function: list_to_hash
- Defined in:
- lib/puppet/functions/list_to_hash.rb
- Function type:
- Ruby 4.x API
Overview
This function is an hack because we are not enabling Puppet parser that would allow us to manipulate data iterations directly in manifests.
Example: keystone_vips = [‘192.168.0.1:5000’, ‘192.168.0.2:5000’] $keystone_bind_opts = [‘transparent’]
Using this function: $keystone_vips_hash = list_to_hash($keystone_vips, $keystone_bind_opts)
Would return: $keystone_vips_hash =
'192.168.0.1:5000' => ['transparent'],
'192.168.0.2:5000' => ['transparent'],
Disclaimer: this function is an hack and will disappear once TripleO enable Puppet parser.
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/puppet/functions/list_to_hash.rb', line 21 Puppet::Functions.create_function(:list_to_hash) do dispatch :list_to_hash do param 'Array', :arr1 param 'Array', :arr2 end def list_to_hash(arr1, arr2) hh = arr1.each_with_object({}) { |v,h| h[v] = arr2 } return hh end end |