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 [email protected].
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