diff options
Diffstat (limited to 'lib/puppet/provider/zfs/solaris.rb')
-rw-r--r-- | lib/puppet/provider/zfs/solaris.rb | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/lib/puppet/provider/zfs/solaris.rb b/lib/puppet/provider/zfs/solaris.rb index 418c902bd..85d054f86 100644 --- a/lib/puppet/provider/zfs/solaris.rb +++ b/lib/puppet/provider/zfs/solaris.rb @@ -1,45 +1,45 @@ Puppet::Type.type(:zfs).provide(:solaris) do - desc "Provider for Solaris zfs." - - commands :zfs => "/usr/sbin/zfs" - defaultfor :operatingsystem => :solaris - - def add_properties - properties = [] - Puppet::Type.type(:zfs).validproperties.each do |property| - next if property == :ensure - if value = @resource[property] and value != "" - properties << "-o" << "#{property}=#{value}" - end - end - properties + desc "Provider for Solaris zfs." + + commands :zfs => "/usr/sbin/zfs" + defaultfor :operatingsystem => :solaris + + def add_properties + properties = [] + Puppet::Type.type(:zfs).validproperties.each do |property| + next if property == :ensure + if value = @resource[property] and value != "" + properties << "-o" << "#{property}=#{value}" + end end - - def create - zfs *([:create] + add_properties + [@resource[:name]]) - end - - def destroy - zfs(:destroy, @resource[:name]) + properties + end + + def create + zfs *([:create] + add_properties + [@resource[:name]]) + end + + def destroy + zfs(:destroy, @resource[:name]) + end + + def exists? + if zfs(:list).split("\n").detect { |line| line.split("\s")[0] == @resource[:name] } + true + else + false end + end - def exists? - if zfs(:list).split("\n").detect { |line| line.split("\s")[0] == @resource[:name] } - true - else - false - end + [:mountpoint, :compression, :copies, :quota, :reservation, :sharenfs, :snapdir].each do |field| + define_method(field) do + zfs(:get, "-H", "-o", "value", field, @resource[:name]).strip end - [:mountpoint, :compression, :copies, :quota, :reservation, :sharenfs, :snapdir].each do |field| - define_method(field) do - zfs(:get, "-H", "-o", "value", field, @resource[:name]).strip - end - - define_method(field.to_s + "=") do |should| - zfs(:set, "#{field}=#{should}", @resource[:name]) - end + define_method(field.to_s + "=") do |should| + zfs(:set, "#{field}=#{should}", @resource[:name]) end + end end |