On Sunday, April 27, 2014 8:25:18 AM UTC-5, John Morton wrote: > > I made a module called resource_factory: > > https://forge.puppetlabs.com/jaydub/resource_factory > > It has two parts. One is the resource_factory class, the other is the > defined_resource_factory resource type. They both do the same kind of thing > — wrap around create_resources with a hiera look up on some key. The > difference is that the class creates defined_resource_factory instances by > default, and those instances are where you put the resource types and hiera > keys for the stuff you really want to create. Everything's configured in > hiera without a lot of site specific classes. > > Question is: have I just reinvented the wheel on some existing best > practice, and if so, how are the grown ups creating resources out of Hiera? > >
I think you've reinvented MS Word. I mean, it looks slick and featureful, but the old DOS "edit" program was all I needed or wanted for many tasks. It's not as over-the-top as the Enterprise Rules Engine (but thanks, Felix, for that reference :-)), but create_resources() is not such a central feature of Puppet that dolling it up or wrapping it in additional layers of abstraction is a big benefit for most folks. The grown ups *avoid* modeling resources (as such) in their hiera data. Resources are best modeled in Puppet DSL -- that's what it's for. External data are better expressed in more raw form; that makes them easier to understand and use. At times, the natural form of the data lends itself to use with create_resources(), or can easily be made to do. Occasionally, intentionally structuring external data for use with create_resources() is the best way to approach a problem. At these times, create_resources() already provides a reasonable interface. If the module serves you well then great. Thanks for sharing it, and I hope others find it useful, too. Personally, though, I have no use whatever for such a thing. 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/13a75525-a310-46b3-9831-3f73c66bbcc2%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
