class Inspec::Resources::ZfsDataset
def exec
def exec @params['exec'] end
def exists?
def exists? inspec.command("/sbin/zfs get -Hp all #{@zfs_dataset}").exit_status == 0 end
def gather
def gather cmd = inspec.command("/sbin/zfs get -Hp all #{@zfs_dataset}") return nil if cmd.exit_status.to_i != 0 # parse data cmd.stdout.chomp.split("\n").each_with_object(Hash.new(0)) do |line, h| t = line.split("\t") h[t[1].to_s] = t[2].to_s end end
def initialize(zfs_dataset)
def initialize(zfs_dataset) return skip_resource 'The `zfs_dataset` resource is not supported on your OS yet.' if !inspec.os.bsd? @zfs_dataset = zfs_dataset @params = gather end
def method_missing(name)
def method_missing(name) @params[name.to_s] end
def mounted?
def mounted? return false if !exists? inspec.mount(@params['mountpoint']).mounted? end
def to_s
def to_s "ZFS Dataset #{@zfs_dataset}" end