Maybe easy_type <https://github.com/hajee/easy_type> can help you to make it easy to make a custom type. This takes some of the hard work in making a custom type away fro you, so you can focus on the content.
We have used easy_type to build custom types for Oracle <https://github.com/hajee/oracle> and webLogic <https://github.com/biemond/biemonds-orawls> Let me know how it goes. Regards, Bert Op vrijdag 27 juni 2014 13:14:37 UTC+2 schreef Gavin Williams: > > Morning All > > I'm starting to work on a new module[1] to support installation and > configuration of Apache Karaf. > > I've got most of the ground-work laid down, and I'm now starting to work > on types and providers to model the various Karaf resources that might need > to be managed... > > The first one on my list is 'feature', which is effectively the Karaf > equivalent of a package. I'm trying to write the providers using a > prefetch/flush style to make them as efficient as possible, as the > aspiration is for Karaf and the Puppet management agent to be run on > minuscule hardware, so reducing the processing required as much as possible > is essential... Anyhow, enough background, onto the issue... > > The initial version of my type, provider and provider parent look like > [2][3][4]. > The 'karaf_feature' provider is using a helper function in > 'Puppet::Provider::Karaf' called 'karaf_exec', which tries to use resource > param values from the type in it's arguments... > > What I was aiming to achieve is that the command is executed by Puppet as > a specified user, as defined on Line 24 of [4]. > However as '@resource' is nil at the point of prefetch call, it's not > working :( > A sample log of a run is [5]. > > Now as I'm typing this, I'm thinking that trying to use values from a > specific resource on a prefetch call possibly might not ever work... > But how else could I model this scenario? Or is prefetching doomed to > failure? > > Any help appreciated. > > Regards > Gavin > > [1] https://github.com/fatmcgav/fatmcgav-karaf > [2] > https://github.com/fatmcgav/fatmcgav-karaf/blob/feature/prefetch_flush_providers/lib/puppet/type/karaf_feature.rb > [3] > https://github.com/fatmcgav/fatmcgav-karaf/blob/feature/prefetch_flush_providers/lib/puppet/provider/karaf_feature/karaf_feature.rb > [4] > https://github.com/fatmcgav/fatmcgav-karaf/blob/feature/prefetch_flush_providers/lib/puppet/provider/karaf.rb > [5] https://gist.github.com/fatmcgav/ca147ef48ac726d1194f > -- 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/d052cabd-d875-4616-87a0-41e5af0417a5%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
