Sha256: 65dc1ed57a4de75c2a7ef9e63ad919c2dc4b8ec1c7417cffe04276cefeebb2d7

Contents?: true

Size: 919 Bytes

Versions: 1

Compression:

Stored size: 919 Bytes

Contents

# Fact: kernelrelease
#
# Purpose: Return the operating system's release number.
#
# Resolution:
#   On AIX returns the output from the "oslevel -s" system command.
#   On Windows based systems, uses the win32ole gem to query Windows Management
#   for the 'Win32_OperatingSystem' value.
#   Otherwise uses the output of "uname -r" system command.
#
# Caveats:
#

Facter.add(:kernelrelease) do
    setcode 'uname -r'
end

Facter.add(:kernelrelease) do
    confine :kernel => :aix
    setcode 'oslevel -s'
end

Facter.add(:kernelrelease) do
    confine :kernel => %{windows}
    setcode do
        require 'win32ole'
        version = ""
        connection_string = "winmgmts://./root/cimv2"
        wmi = WIN32OLE.connect(connection_string)
        wmi.ExecQuery("SELECT Version from Win32_OperatingSystem").each do |ole|
            version = "#{ole.Version}"
            break
        end
        version
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
facter-1.6.0 lib/facter/kernelrelease.rb