On Sat, Jul 10, 2010 at 10:08 AM, Markus Roberts <[email protected]> wrote: > After mulling this a while, I think the real issue is that we're > treating ensure as an attribute-set rather than as an attribute. It's > a magic feature that semantically sets a whole slew of features. When > we say "ensure => present" we really mean "present => true" and so on: > > "ensure => absent" means "present => false" > "ensure => 3.2" means "present => true; version => 3.2" > "ensure => running" means "present => true; running => true" > "ensure => eatable" means "present => true; toxic => false; palatable => true" > > and so on. Then all the special casing is on the two-valued "present" > attribute instead of trying to figure out what "ensure => scrumulous" > means, we just say that any of the above which set "present => false" > also set all other state attributes to undef, while leaving identity > attributes (e.g. name, target, provider) unchanged. >
+1 ! -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
