I did try to do that for another type I wrote and it was a mess. I ended up having a single namevar that required a particular format that my type then processed to get the parameters I needed. I'll take a look at your example; I'm sure I'll learn something from it. Maybe it's worth another stab.
In the meantime, I based my new type on the regular augeas type and the exec type and will see if I hit a problem with duplicate namevars. On Thursday, February 12, 2015 at 8:15:56 AM UTC-5, Raphink wrote: > > If more than one parameter make sense for a namevar, then you can use > composite namevars, by using `isnamevar` for sevaral parameters and adding > a `self.title_patterns` method to define how to parse the title and feed > the namevar parameters. > > See > https://github.com/hercules-team/augeasproviders_postgresql/blob/master/lib/puppet/type/pg_hba.rb > > for an example. > > > > > On Wednesday, February 11, 2015 at 6:09:32 PM UTC+1, [email protected] > wrote: >> >> Hi all! >> >> I'm working on a custom type that applies xpaths to files. I expect the >> interface to look something like: >> >> xpath { "some update": >> xpath => "/some/xpath", >> command => "replace", >> value => "newvalue", >> file => "/path/to/file.xml" >> } >> >> I'm having a little trouble picking the namevar. It seems logical that >> the xpath attribute should be the namevar, but I'm a little hung up on the >> fact that it has to be unique among all xpath resources. In theory, I >> might want to apply the same xpath to many different files but with >> different values. I ran across a mention in the documentation that the >> exec type allows duplicate namevars, but going through the implementation, >> it isn't clear to me how that is done. Is it just a matter of each exec >> declaration having a unique title but the same command? >> >> Thanks for the help! >> > -- 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/5742b030-9988-4985-b8be-a65b370e2f46%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
