Sha256: 252b0d583ff5679c7c298dd1f44a2e976a49c90fcd41c7737e324376d9af9891

Contents?: true

Size: 788 Bytes

Versions: 4

Compression:

Stored size: 788 Bytes

Contents

# Purpose: Determine information about Rackspace cloud instances
#
# Resolution:
#   If this is a Rackspace Cloud instance, populates rsc_ facts
#
# Caveats:
#   Depends on Xenstore
#

Facter.add(:is_rsc) do
  setcode do
    result = Facter::Util::Resolution.exec("/usr/bin/xenstore-read vm-data/provider_data/provider")
    if result == "Rackspace"
      "true"
    end
  end
end

Facter.add(:rsc_region) do
  confine :is_rsc => "true"
  setcode do
    Facter::Util::Resolution.exec("/usr/bin/xenstore-read vm-data/provider_data/region")
  end
end

Facter.add(:rsc_instance_id) do
  confine :is_rsc => "true"
  setcode do
    result = Facter::Util::Resolution.exec("/usr/bin/xenstore-read name")
    if result and (match = result.match(/instance-(.*)/))
      match[1]
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
facter-2.2.0 lib/facter/rackspace.rb
facter-2.2.0-x86-mingw32 lib/facter/rackspace.rb
facter-2.2.0-x64-mingw32 lib/facter/rackspace.rb
facter-2.2.0-universal-darwin lib/facter/rackspace.rb