class Cloudscopes::Ec2

Constants

DMI_PRODUCT_UUID_PATH
HYPERVISOR_UUID_PATH

Public Class Methods

runs_on_ec2?() click to toggle source

see docs.aws.amazon.com/AWSEC2/latest/UserGuide/identify_ec2_instances.html for details

# File lib/cloudscopes/ec2.rb, line 14
def self.runs_on_ec2?
  path =
      if File.exists?(HYPERVISOR_UUID_PATH)
        HYPERVISOR_UUID_PATH
      elsif File.exists?(DMI_PRODUCT_UUID_PATH)
        DMI_PRODUCT_UUID_PATH
      end
  !!path && File.read(path).downcase.start_with?('ec2')
end

Public Instance Methods

availability_zone() click to toggle source
# File lib/cloudscopes/ec2.rb, line 28
def availability_zone
  @@az ||= Net::HTTP.get(URI("#{@@baseurl}/placement/availability-zone"))
end
instance_id() click to toggle source
# File lib/cloudscopes/ec2.rb, line 24
def instance_id
  @@instanceid ||= Net::HTTP.get(URI("#{@@baseurl}/instance-id"))
end