4a576293c1
This change updates additional parser functions we have to use teh puppet 4.x function api. This includes some basic unit tests to ensure they continue to function as expected. Change-Id: Iebeb82b2890216bed139219441718fffc4004391 Related-Bug: #1799786
32 lines
838 B
Ruby
32 lines
838 B
Ruby
# 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.
|
|
#
|
|
|
|
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
|