On Sep 3, 2013, at 12:47 PM, Luke Kanies <[email protected]> wrote:
> It looks like we shouldn't need to touch the catalog stuff at all to make > this work, so I agree. Is there a ticket out there for the catalog format > refactoring? We have a Roadmap JIRA issue that I've just cloned into redmine. http://projects.puppetlabs.com/issues/22408 > >> [Andy] Here are the possibilities: >> * resource like syntax for classes expresses containment: >> class container { class { contained: parameter => value } } >> * a function declares the class *and* expresses containment >> class container { contain(contained, { parameter => value }) } >> * a function expresses containment, but does not declare the class >> class container { class { contained: parameter => value } >> contain(contained) } >> * a new "resource type" expresses containment >> class container { contain { contained: parameter => value } } >> >> I'm most in favour of number 3 here, a function to express the containment >> as a separate thing to declaring the class. > > Why? What are the benefits of this, and downsides of the other options? Nick Lewis, Erik and I talked through this at more length on IRC, starting about 15:26 here http://puppetlogs.com/puppetdev/%23puppet-dev-2013-09-03.log.html Seems to have the best intersection of no new syntax/Low surprise to users/no shift in behavior of existing code. > >> [Nick Lewis] A 'contain' function was the decision we came to last time I >> was involved in a conversation about this. That turned into ticket #13045, >> which was closed with the decision that it should be fixed in Puppet >> >> [Luke] I'm in favor of it as a simple, optional, backward-compatible fix. >> Basically, if you're using the anchor pattern now, you can use the contain >> function instead, and properly represents what's going on. >> >> +1 > > How is it that we're coming to the same decision as we did a year ago, > everyone seems to agree, most of the players are the same, yet we didn't just > fix this a year ago? > > Or, even, why didn't someone just write the 2 line function and start using > it? > Is this rhetorical? I honestly can't tell, but I don't think I can answer these questions. --eric0 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-dev. For more options, visit https://groups.google.com/groups/opt_out.
