Sha256: 136b060aef916167937432c7a17be6f53c5b5d8a5bf3b166ccb092ecd5afd120

Contents?: true

Size: 1.13 KB

Versions: 91

Compression:

Stored size: 1.13 KB

Contents

# Fact: partitions
#
# Purpose:
#   Return the details of the disk partitions.
#
#   This fact is structured. Values are returned as a group of key-value pairs.
#
# Resolution:
#   Parse the contents of `/sys/block/<device>/size` to receive the size (multiplying by 512 to correct for blocks-to-bytes).
#
# Caveats:
#   For Linux, only 2.6+ is supported at this time due to the reliance on sysfs.
#

# Author: Chris Portman <chris@portman.net.au>

require 'facter'
require 'facter/util/partitions'

Facter.add(:partitions) do
  confine do
    Facter::Util::Partitions.available? ? true : nil
  end

  setcode do
    partitions = {}
    Facter::Util::Partitions.list.each do |part|
      details = {}
      details['uuid']       = Facter::Util::Partitions.uuid(part)
      details['size']       = Facter::Util::Partitions.size(part)
      details['mount']      = Facter::Util::Partitions.mount(part)
      details['label']      = Facter::Util::Partitions.label(part)
      details['filesystem'] = Facter::Util::Partitions.filesystem(part)
      details.reject! {|k,v| v.nil? || v.to_s.empty? }
      partitions[part] = details
    end
    partitions
  end
end

Version data entries

91 entries across 91 versions & 2 rubygems

Version Path
facter-2.5.7 lib/facter/partitions.rb
facter-2.5.7-x86-mingw32 lib/facter/partitions.rb
facter-2.5.7-x64-mingw32 lib/facter/partitions.rb
facter-2.5.7-universal-darwin lib/facter/partitions.rb
facter-2.5.6-x86-mingw32 lib/facter/partitions.rb
facter-2.5.6-x64-mingw32 lib/facter/partitions.rb
facter-2.5.6-universal-darwin lib/facter/partitions.rb
facter-2.5.6 lib/facter/partitions.rb
facter-2.5.5-x86-mingw32 lib/facter/partitions.rb
facter-2.5.5-x64-mingw32 lib/facter/partitions.rb
facter-2.5.5-universal-darwin lib/facter/partitions.rb
facter-2.5.5 lib/facter/partitions.rb
facter-2.5.4-x86-mingw32 lib/facter/partitions.rb
facter-2.5.4-x64-mingw32 lib/facter/partitions.rb
facter-2.5.4-universal-darwin lib/facter/partitions.rb
facter-2.5.4 lib/facter/partitions.rb
bolt-0.24.0 vendored/facter/lib/facter/partitions.rb
bolt-0.23.0 vendored/facter/lib/facter/partitions.rb
bolt-0.22.0 vendored/facter/lib/facter/partitions.rb
bolt-0.21.8 vendored/facter/lib/facter/partitions.rb