I think I get it now.

The types module is actually a wrapper for tying hiera hash data to the 
three built in types, but this pattern could also be used with a defined 
type perhaps?

Thanks,

Alex

On Monday, April 28, 2014 1:05:55 PM UTC-7, Alex Scoble wrote:
>
> Hi Garrett,
>
> Thanks for the response. The module you posted does indeed help as it 
> shows how to deal with hashes of hiera data without using the 
> create_resources() function.
>
> Thanks,
>
> Alex
>
>
>>
>> Hi, 
>>
>> The create_resources() function allows you to have a data driven design. 
>> This gives you the ability to specify arbitrary data in Hiera and 
>> decouple data from modules. It means you can change the data without the 
>> code. I would argue that any define in your module should have a 
>> corresponding create_resources() function, so that it can be accessed 
>> through data in Hiera. 
>>
>> As for ordering, your defines should probably take care of that, though 
>> you can use collections with chaining to help, such as 
>>
>>   Virt::Foo <||> -> Virt::Bar <||> 
>>
>> When you are using create_resources(), I recommend also specifying an 
>> option to use hiera_hash() to collect your hashes. This does a deep hash 
>> merge and will return values from all levels of the hierarchy. My types 
>> module[1] is an example of this that lets you define file, mount, and 
>> cron resources as hashes. 
>>
>> [1] - https://github.com/ghoneycutt/puppet-module-types 
>>
>> Best regards, 
>> -g 
>>
>> -- 
>> Garrett Honeycutt 
>> @learnpuppet 
>> Puppet Training with LearnPuppet.com 
>> Mobile: +1.206.414.8658 
>>
>

-- 
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 puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/debd6399-3c00-423d-b57f-52c3d26a1d3b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to