summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff McCune <jeff@puppetlabs.com>2012-05-10 21:36:46 -0700
committerJeff McCune <jeff@puppetlabs.com>2012-05-10 22:04:58 -0700
commit1373e70639e0105ec314c006bd82545573a389e6 (patch)
tree54de34b7a0a97d011287730927b465ed8bd85a37
parent20aacc5a29f767f09ecf5964068392cf3054bddc (diff)
Make file_line default to ensure => present
The examples in the file_line resource documentation state the following resource should work: file_line { 'sudo_rule': path => '/etc/sudoers', line => '%sudo ALL=(ALL) ALL', } Without this patch the example does not work because ensure is not set to present. This patch fixes the problem by setting the default value of ensure to present.
-rw-r--r--lib/puppet/type/file_line.rb10
-rw-r--r--spec/unit/puppet/type/file_line_spec.rb3
2 files changed, 9 insertions, 4 deletions
diff --git a/lib/puppet/type/file_line.rb b/lib/puppet/type/file_line.rb
index 9f03771..8559cfa 100644
--- a/lib/puppet/type/file_line.rb
+++ b/lib/puppet/type/file_line.rb
@@ -23,18 +23,20 @@ Puppet::Type.newtype(:file_line) do
EOT
- ensurable
+ ensurable do
+ defaultto :present
+ end
newparam(:name, :namevar => true) do
- desc 'arbitrary name used as identity'
+ desc 'An arbitrary name used as the identity of the resource.'
end
newparam(:line) do
- desc 'The line to be appended to the path.'
+ desc 'The line to be appended to the file located by the path parameter.'
end
newparam(:path) do
- desc 'File to possibly append a line to.'
+ desc 'The file Puppet will ensure contains the line specified by the line parameter.'
validate do |value|
unless (Puppet.features.posix? and value =~ /^\//) or (Puppet.features.microsoft_windows? and (value =~ /^.:\// or value =~ /^\/\/[^\/]+\/[^\/]+/))
raise(Puppet::Error, "File paths must be fully qualified, not '#{value}'")
diff --git a/spec/unit/puppet/type/file_line_spec.rb b/spec/unit/puppet/type/file_line_spec.rb
index a3e13ea..c86dbd2 100644
--- a/spec/unit/puppet/type/file_line_spec.rb
+++ b/spec/unit/puppet/type/file_line_spec.rb
@@ -21,4 +21,7 @@ describe Puppet::Type.type(:file_line) do
it 'should require that a file is specified' do
expect { Puppet::Type.type(:file_line).new(:name => 'foo', :line => 'path') }.should raise_error(Puppet::Error, /Both line and path are required attributes/)
end
+ it 'should default to ensure => present' do
+ file_line[:ensure].should eq :present
+ end
end