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.

Reply via email to