From 1373e70639e0105ec314c006bd82545573a389e6 Mon Sep 17 00:00:00 2001 From: Jeff McCune Date: Thu, 10 May 2012 21:36:46 -0700 Subject: [PATCH] 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. --- lib/puppet/type/file_line.rb | 10 ++++++---- spec/unit/puppet/type/file_line_spec.rb | 3 +++ 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 -- 2.39.5