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.

Reply via email to