Add support for a 'match' parameter to file_line
authorChris Price <chris@puppetlabs.com>
Thu, 7 Jun 2012 16:09:14 +0000 (09:09 -0700)
committerJeff McCune <jeff@puppetlabs.com>
Tue, 14 Aug 2012 16:55:30 +0000 (09:55 -0700)
commita06c0d8115892a74666676b50d4282df9850a119
tree0ded58647c134dafa32604725b010f32a465164f
parentf30885118843f2eef15c048fe2cb504d7eaf8f77
Add support for a 'match' parameter to file_line

This commit adds a new parameter called "match"
to the file_line resource type, and support for
this new parameter to the corresponding ruby
provider.

This parameter is optional; file_line should work
just as before if you do not specify this parameter...
so this change should be backwards-compatible.

If you do specify the parameter, it is treated
as a regular expression that should be used when
looking through the file for a line.  This allows
you to do things like find a line that begins with
a certain prefix (e.g., "foo=.*"), and *replace*
the existing line with the line you specify in your
"line" parameter.  Without this capability, if you
already had a line "foo=bar" in your file and your
"line" parameter was set to "foo=baz", you'd end up
with *both* lines in the final file.  In many cases
this is undesirable.
lib/puppet/provider/file_line/ruby.rb
lib/puppet/type/file_line.rb
spec/unit/puppet/provider/file_line/ruby_spec.rb
spec/unit/puppet/type/file_line_spec.rb