On Thursday, September 28, 2017 at 5:49:12 AM UTC-5, Robert wrote:
>
> Eh, sorry.
>
> So why's this with the above code:
>
> Notice: /Stage[main]/Main/Notify[sdf]/message: defined 'message' as '1'
> and keys($hash) gives 'a'
>
> Why not arrays of the keys / values? Can't understand.
>

Although it is not explicitly spelled out in the docs, it should not be 
much of a surprise that the Notify type expects its 'message' parameter 
("The message to be sent to the log") to be a string.  When you provide an 
array instead, Notify must either reject it with an error, or convert the 
array to a string by some unspecified mechanism.  In the version of Puppet 
you are running, it opts in such cases to convert the array to a string by 
choosing its first element (not necessarily recursively).  I'm uncertain 
whether this is intentional behavior or simply what happens to fall out 
from the implementation in this particular variation on providing a value 
of the wrong type.

If you want to control how the arrays you're working with are converted to 
strings, then you ought to perform the conversion explicitly 
<https://docs.puppet.com/4.10/function.html#array--tuple-to-string>,  
Details vary to some extent based on what Puppet version you are using (the 
link goes to the docs for Puppet 4).


John

-- 
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/e08aedc0-f6f7-46de-b634-c2b2ceb76fbb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to