class Tagenv::Ec2::Metadata
Constants
- TIME_OUT
Public Class Methods
ec2?()
click to toggle source
# File lib/tagenv/ec2/metadata.rb, line 11 def self.ec2? begin ::Timeout.timeout(TIME_OUT) { open('http://169.254.169.254/latest/meta-data/instance-id').read return true } rescue => e return false end end
get_document()
click to toggle source
# File lib/tagenv/ec2/metadata.rb, line 35 def self.get_document JSON.parse(get_metadata('/latest/dynamic/instance-identity/document/')) end
get_instance_id()
click to toggle source
# File lib/tagenv/ec2/metadata.rb, line 39 def self.get_instance_id get_metadata('/latest/meta-data/instance-id') end
get_metadata(path)
click to toggle source
# File lib/tagenv/ec2/metadata.rb, line 22 def self.get_metadata(path) begin result = {} ::Timeout.timeout(TIME_OUT) { body = open('http://169.254.169.254' + path).read return body } return result rescue ::Timeout::Error => e raise "not EC2 instance" end end