Sha256: 9739f0343d43ed3cff2bf87d7bed199522c42361aa33fa9fa8b40a251c10df07

Contents?: true

Size: 910 Bytes

Versions: 95

Compression:

Stored size: 910 Bytes

Contents

# Fact: rsc_<RACKSPACE INSTANCE DATA>
#
# Purpose: Determine information about Rackspace cloud instances.
#
# Resolution:
#   If this is a Rackspace Cloud instance, populates `rsc_` facts: `is_rsc`, `rsc_region`,
#   and `rsc_instance_id`.
#
# 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 2> /dev/null")
    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 2> /dev/null")
  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

95 entries across 95 versions & 2 rubygems

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