array variable to a parameterized class and have it stay as an array:
# cat modules/testmodule/manifests/init.pp
class testmodule($array1) {
file {'/tmp/testmodule' :
content => template('testmodule/testmodule.erb'),
}
}
# cat manifests/nodes/site.pp
node 'testclient' {
$myarray = ['aaa','bbb']
class { "testmodule":
array1 => [$myarray],
}
}
# cat modules/testmodule/templates/testmodule.erb
<% array1.each do |val| -%>
array1 val: <%= val %>
<% end -%>
<puppet run>
# cat /tmp/testmodule
array1 val: aaabbb
i.e. the class does not think $array1 is an array any more. However if I
change the node config to set the parameter as an array explicitly:
# cat manifests/nodes/site.pp
node 'testclient' {
class { "testmodule":
array1 => ['aaa','bbb'],
}
}
<puppet run>
# cat /tmp/testmodule
array1 val: aaa
array1 val: bbb
Its not unreasonable to try and pass an array as a variable is it?
Cheers,
Tom.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/TjLIZvQPSd8J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.