class EC2::InstanceData
Constants
- META_DATA_URL
Attributes
instance_data_accessible[R]
Public Class Methods
new(meta_data_url = META_DATA_URL)
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 20 def initialize(meta_data_url = META_DATA_URL) @meta_data_url = meta_data_url # see if we can access the meta data. Be unforgiving - if anything goes wrong # just mark instance data as unaccessible. begin open(@meta_data_url) @instance_data_accessible = true rescue StandardError => e @instance_data_accessible = false end end
Public Instance Methods
ami_id()
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 40 def ami_id read_meta_data('ami-id') end
ancestor_ami_ids()
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 44 def ancestor_ami_ids read_meta_data_list('ancestor-ami-ids') end
availability_zone()
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 56 def availability_zone read_meta_data('placement/availability-zone') end
block_device_mapping()
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 52 def block_device_mapping read_meta_data_hash('block-device-mapping') end
kernel_id()
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 32 def kernel_id read_meta_data('kernel-id') end
product_codes()
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 48 def product_codes read_meta_data_list('product-codes') end
ramdisk_id()
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 36 def ramdisk_id read_meta_data('ramdisk-id') end
Private Instance Methods
list_meta_data_index(path)
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 78 def list_meta_data_index(path) read_meta_data_list(File.join(path, '')) end
read_meta_data(path)
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 83 def read_meta_data(path) nil if !@instance_data_accessible begin open(File.join(@meta_data_url, path)) do |cio| return cio.read.to_s.strip end rescue return nil end end
read_meta_data_hash(path)
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 60 def read_meta_data_hash(path) keys = list_meta_data_index(path) return nil if keys.nil? hash = {} keys.each do |key| value = read_meta_data(File.join(path, key)) hash[key] = value if value end hash end
read_meta_data_list(path)
click to toggle source
# File lib/ec2/amitools/instance-data.rb, line 72 def read_meta_data_list(path) list = read_meta_data(path) list.nil? ? nil : list.split("\n") end