Class: AWS::EC2::Instance

Inherits:
Object
  • Object
show all
Defined in:
lib/AWS/EC2/instances.rb

Overview

A set of methods for querying amazon’s ec2 meta-data service. Note : This can ONLY be run on an actual running EC2 instance.

Example Class Method Usage : instance_id = AWS::EC2::Instance.local_instance_id

Constant Summary collapse

EC2_META_URL_BASE =
'http://169.254.169.254/latest/meta-data/'

Class Method Summary collapse

Class Method Details

.local_instance_idObject

Returns the current instance-id when called from a host within EC2.



275
276
277
# File 'lib/AWS/EC2/instances.rb', line 275

def self.local_instance_id
  Net::HTTP.get URI.parse(EC2_META_URL_BASE + 'instance-id')
end

.local_instance_meta_dataObject

Returns a hash of all available instance meta data.



282
283
284
285
286
287
288
289
290
# File 'lib/AWS/EC2/instances.rb', line 282

def self.
   = {}

  Net::HTTP.get(URI.parse(EC2_META_URL_BASE)).split("\n").each do |meta_type|
    .merge!({meta_type => Net::HTTP.get(URI.parse(EC2_META_URL_BASE + meta_type)) })
  end

  return 
end