diff options
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/provider/ini_setting/ruby.rb | 33 | ||||
-rw-r--r-- | lib/puppet/type/ini_setting.rb | 9 |
2 files changed, 34 insertions, 8 deletions
diff --git a/lib/puppet/provider/ini_setting/ruby.rb b/lib/puppet/provider/ini_setting/ruby.rb index ba8165c..946685e 100644 --- a/lib/puppet/provider/ini_setting/ruby.rb +++ b/lib/puppet/provider/ini_setting/ruby.rb @@ -1,20 +1,45 @@ require File.expand_path('../../../util/ini_file', __FILE__) Puppet::Type.type(:ini_setting).provide(:ruby) do + def exists? - ini_file.get_value(resource[:section], resource[:setting]) == resource[:value].to_s + ini_file.get_value(section, setting) end def create - ini_file.set_value(resource[:section], resource[:setting], resource[:value]) + ini_file.set_value(section, setting, resource[:value]) ini_file.save @ini_file = nil end + def value + ini_file.get_value(section, setting) + end + + def value=(value) + ini_file.set_value(section, setting, resource[:value]) + ini_file.save + end + + def section + resource[:section] + end + + def setting + resource[:setting] + end + + def file_path + resource[:path] + end + + def separator + resource[:key_val_separator] || '=' + end private def ini_file - @ini_file ||= Puppet::Util::IniFile.new(resource[:path], - resource[:key_val_separator]) + @ini_file ||= Puppet::Util::IniFile.new(file_path, separator) end + end diff --git a/lib/puppet/type/ini_setting.rb b/lib/puppet/type/ini_setting.rb index 50b6b38..4506231 100644 --- a/lib/puppet/type/ini_setting.rb +++ b/lib/puppet/type/ini_setting.rb @@ -17,10 +17,6 @@ Puppet::Type.newtype(:ini_setting) do desc 'The name of the setting to be defined.' end - newparam(:value) do - desc 'The value of the setting to be defined.' - end - newparam(:path) do desc 'The ini file Puppet will ensure contains the specified setting.' validate do |value| @@ -43,4 +39,9 @@ Puppet::Type.newtype(:ini_setting) do end end + newproperty(:value) do + desc 'The value of the setting to be defined.' + end + + end |