Module: MovableInk::AWS::Metadata
- Included in:
- MovableInk::AWS
- Defined in:
- lib/movable_ink/aws/metadata.rb
Instance Method Summary collapse
- #availability_zone ⇒ Object
- #http ⇒ Object
- #instance_id ⇒ Object
- #private_ipv4 ⇒ Object
- #retrieve_metadata(key) ⇒ Object
Instance Method Details
#availability_zone ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/movable_ink/aws/metadata.rb', line 24 def availability_zone @availability_zone ||= begin az = ('placement/availability-zone') raise(MovableInk::AWS::Errors::EC2Required) if az.empty? az end end |
#http ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/movable_ink/aws/metadata.rb', line 6 def http @http ||= begin http = Net::HTTP.new("169.254.169.254", 80) http.open_timeout = 1 http.read_timeout = 1 http end end |
#instance_id ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/movable_ink/aws/metadata.rb', line 32 def instance_id @instance_id ||= begin id = ('instance-id') raise(MovableInk::AWS::Errors::EC2Required) if id.empty? id end end |
#private_ipv4 ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/movable_ink/aws/metadata.rb', line 40 def private_ipv4 @ipv4 ||= begin ipv4 = ('local-ipv4') raise(MovableInk::AWS::Errors::EC2Required) if ipv4.empty? ipv4 end end |
#retrieve_metadata(key) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/movable_ink/aws/metadata.rb', line 15 def (key) request = Net::HTTP::Get.new("/latest/meta-data/#{key}") request['X-aws-ec2-metadata-token'] = imds_token response = http.request(request) response.body rescue "" end |