On 31 Mar 2016, at 17:28, Jakov Sosic <[email protected]> wrote: > On 03/31/2016 05:10 PM, Martin Alfke wrote: > >> You are passing a Hash as an parameter to a define. >> Inside the define you expect the parameter to be of type String - according >> to what you do in the define. >> >> You need to take care of splitting data accordingly in your define: >> With Puppet 4 this is very easy to achieve: >> >> define basket ( >> Hash $arg, >> ){ >> $arg.each |String $key, Hash $value| { >> file { β/tmp/${key}β: >> ensure => file, >> content => $value[βargβ], >> } >> } >> } > > > Thanks for an idea. I didn't know something like that is possible... > > > > Why couldn't I just use create_resources? If I try with create_resources: > > create_resources(@basket, $foobar) > > > I get this: > > Error: Could not parse for environment production: Virtual (@) can only be > applied to a Resource Expression at /tmp/pero.pp:16:1 on node workstation
You need to fix the content of $foobar Generally it works: https://github.com/puppetlabs/puppet/blob/master/lib/puppet/parser/functions/create_resources.rb But no longer required since Puppet 4: https://docs.puppetlabs.com/puppet/latest/reference/lang_resources_advanced.html#implementing-the-createresources-function > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-users/56FD423A.2080203%40gmail.com. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/75C2B4D4-EB13-4536-A347-032A018AEAD0%40gmail.com. For more options, visit https://groups.google.com/d/optout.
