Puppet module objects should expose their metadata
|Assignee:||Kelsey Hightower||% Done:|
|Affected Puppet version:||Branch:|
Currently some of the metadata for puppet module objects is converted to methods, but not all. All the metadata should be exposed through a metadata method for easy access. This is necessary for a few other pieces of functionality, so I want to get this done and merged sooner rather than later so that different branches don’t implement this differently.
#1 Updated by Daniel Pittman almost 2 years ago
Matt Robinson wrote:
Currently some of the metadata for puppet module objects is converted to methods, but not all. All the metadata should be exposed through a metadata method for easy access.
Wouldn’t it be better to have individual methods for accessing the parts of the metadata – that way you avoid coupling other code on the data format, which is fairly invisible, rather than on the methods themselves. The latter is much easier to deal with over time.
(Ideally, of course, the object wouldn’t just be a bundle of data, but also the behaviour around the data, so that third parties didn’t need to peek into the data at all…)
#2 Updated by Matt Robinson almost 2 years ago
- Status changed from Accepted to Rejected
I was able to just expose the few extra pieces of metadata that I needed (forge name and dependencies), but we may want a way of accessing arbitrary metadata in the future. Until that need arises, I’m happy to reject this ticket.