Ok, so I'm not sure how this proposal will go over but I'm going to throw
it out there.
I recently encountered a situation where I was using the stdlib function
'file_line' to manage one line in a file but, through various means, ended
up managing the entire file when using the code base i a different way.
What I would like to propose is the addition of two metaparameters to
correlate with the code smell of defined().
I hate defined() because it's code order dependent. So, I would like to add
is_active and is_inactive as metaparameters that use the actual catalog
state to determine whether or not to run the resource.
Example:
file { '/tmp/foo': content => "foo\nbar" }
file_line { 'test':
path => '/tmp/foo',
line => 'foo'
}
As you can see from this contrived example, these two resources will
constantly fight.
However, if we do the following:
file { '/tmp/foo': content => "foo\nbar" }
file_line { 'test':
path => 'tmp/foo',
line => 'foo',
is_inactive => File['/tmp/foo']
}
Then, file_line will only execute if the File['/tmp/foo'] resource is not
in the catalog. Otherwise, it should just log a debug message that it is
not executing due to the is_inactive metaparameter.
Thanks,
Trevor
--
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699
[email protected]
-- This account not approved for unencrypted proprietary information --
--
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.