Module AWS::EC2::Instance
In: lib/AWS/EC2/instances.rb
Error InvalidClientTokenId InsufficientAddressCapacity InternalError InvalidVolumeIDDuplicate InvalidReservedInstancesOfferingId InvalidReservationIDNotFound InvalidParameterValue InvalidInstanceIDMalformed InvalidInstance SnapshotLimitExceeded InvalidReservationIDMalformed InvalidInstanceIDNotFound InvalidAttachmentNotFound ArgumentError SignatureDoesNotMatch InvalidPermissionMalformed InvalidGroupNotFound IncorrectState TooManyLoadBalancers LoadBalancerNotFound ReservedInstancesLimitExceeded InsufficientReservedInstancesCapacity InvalidAMIIDMalformed AuthFailure AttachmentLimitExceeded AddressLimitExceeded InvalidConfigurationRequest Unavailable InvalidGroupReserved InvalidGroupDuplicate InstanceLimitExceeded ValidationError InsufficientReservedInstanceCapacity InvalidVolumeIDMalformed InvalidVolumeIDNotFound InvalidPermissionDuplicate InvalidAMIIDNotFound PendingSnapshotLimitExceeded NonEBSInstance InvalidVolumeIDZoneMismatch InvalidReservedInstancesId InvalidManifest InvalidGroupInUse InvalidKeyPairNotFound InvalidAMIIDUnavailable DuplicateLoadBalancerName InsufficientInstanceCapacity VolumeLimitExceeded UnknownParameter InvalidZoneNotFound InvalidSnapshotIDNotFound InvalidSnapshotIDMalformed InvalidParameterCombination InvalidKeyPairDuplicate InvalidUserIDMalformed InvalidDeviceInUse InvalidAMIAttributeItemValue RuntimeError Base Base\n[lib/AWS/RDS.rb\nlib/AWS/RDS/rds.rb] Base\n[lib/AWS/Cloudwatch.rb\nlib/AWS/Cloudwatch/monitoring.rb] Base\n[lib/AWS/ELB.rb\nlib/AWS/ELB/load_balancers.rb] Base\n[lib/AWS/Autoscaling.rb\nlib/AWS/Autoscaling/autoscaling.rb] Base\n[lib/AWS/EC2.rb\nlib/AWS/EC2/availability_zones.rb\nlib/AWS/EC2/console.rb\nlib/AWS/EC2/devpay.rb\nlib/AWS/EC2/elastic_ips.rb\nlib/AWS/EC2/image_attributes.rb\nlib/AWS/EC2/images.rb\nlib/AWS/EC2/instances.rb\nlib/AWS/EC2/keypairs.rb\nlib/AWS/EC2/products.rb\nlib/AWS/EC2/security_groups.rb\nlib/AWS/EC2/snapshots.rb\nlib/AWS/EC2/spot_instance_requests.rb\nlib/AWS/EC2/spot_prices.rb\nlib/AWS/EC2/subnets.rb\nlib/AWS/EC2/volumes.rb] Response lib/AWS.rb lib/AWS/responses.rb lib/AWS/exceptions.rb lib/AWS/RDS/rds.rb RDS lib/AWS/Cloudwatch/monitoring.rb Cloudwatch lib/AWS/ELB/load_balancers.rb ELB lib/AWS/Autoscaling/autoscaling.rb Autoscaling lib/AWS/EC2/volumes.rb Instance EC2 AWS dot/m_26_0.png

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

Methods

Constants

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

Public Class methods

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

[Source]

     # File lib/AWS/EC2/instances.rb, line 248
248:       def self.local_instance_id
249:         Net::HTTP.get URI.parse(EC2_META_URL_BASE + 'instance-id')
250:       end

Returns a hash of all available instance meta data.

[Source]

     # File lib/AWS/EC2/instances.rb, line 255
255:       def self.local_instance_meta_data
256:         meta_data = {}
257: 
258:         Net::HTTP.get(URI.parse(EC2_META_URL_BASE)).split("\n").each do |meta_type|
259:           meta_data.merge!({meta_type => Net::HTTP.get(URI.parse(EC2_META_URL_BASE + meta_type)) })
260:         end
261: 
262:         return meta_data
263:       end

[Validate]