Hi Henrik,
On 26 Aug 2015, at 17:49, Henrik Lindberg <henrik.lindb...@cloudsmith.com> 
wrote:

> On 2015-24-08 14:38, Martin Alfke wrote:
>> Hi,
>> 
>> I am playing around with the Puppet 4 Type system and nested hashes.
>> Is it possible to use the Type system on a hash and check sub hashes as 
>> Struct?
>> 
> Yes, certainly.
> 
>> # nested hashes
>> $hash = {
>>   ‘ben’ => {
>>     uid => 2204,
>>     home => ‘/home/ben’,
>>   },
>>   ‘jones’ => {
>>     uid => 2205,
>>     home => ‘home/jones’,
>>   }
>> }
>> 
>> # class definition
>> class users (
>>   Hash[String, Struct[{ uid => Integer, home => Pattern[/^\/.*/]}]] $hash,
>> ){
>> …
>> }
> …

> That is because you cannot match integer values (such as 2204) with a Pattern 
> (it only matches strings).

??

Hash[String, Struct[{ uid => Integer, home => Pattern[/^\/.*/]}]] $hash

Am I missing something?
Within the Struct I provide the key name (uid) and Type (Integer) and the 
second key (home) with Type (Pattern).

> 
>> Within class users I could use the keys function and a define and check for 
>> the data types within the define.
>> But I thought that the mentioned approach is valid (at least I haven’t found 
>> a hint that my approach is not valid).
>> 
> 
> Your approach is valid, you just got tripped up by Integer values not 
> matching with a Pattern.

Good to know…

Many thanks,
Martin

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/A2EA5C24-EA56-4B60-BFD7-EAF440B2FC6A%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to