com.amazonaws.util
Class EC2MetadataUtils

java.lang.Object
  extended by com.amazonaws.util.EC2MetadataUtils

public class EC2MetadataUtils
extends Object

Utility class for retrieving Amazon EC2 instance metadata.
You can use the data to build more generic AMIs that can be modified by configuration files supplied at launch time. For example, if you run web servers for various small businesses, they can all use the same AMI and retrieve their content from the Amazon S3 bucket you specify at launch. To add a new customer at any time, simply create a bucket for the customer, add their content, and launch your AMI.
More information about Amazon EC2 Metadata

See Also:
Amazon EC2 User Guide >> Instance Metadata

Nested Class Summary
static class EC2MetadataUtils.IAMInfo
          Information about the last time the instance profile was updated, including the instance's LastUpdated date, InstanceProfileArn, and InstanceProfileId.
static class EC2MetadataUtils.IAMSecurityCredential
          The temporary security credentials (AccessKeyId, SecretAccessKey, SessionToken, and Expiration) associated with the IAM role.
static class EC2MetadataUtils.NetworkInterface
          All of the metada associated with a network interface on the instance.
 
Constructor Summary
EC2MetadataUtils()
           
 
Method Summary
static String getAmiId()
          Get the AMI ID used to launch the instance.
static String getAmiLaunchIndex()
          Get the index of this instance in the reservation.
static String getAmiManifestPath()
          Get the manifest path of the AMI with which the instance was launched.
static List<String> getAncestorAmiIds()
          Get the list of AMI IDs of any instances that were rebundled to created this AMI.
static String getAvailabilityZone()
          Get the Availability Zone in which the instance launched.
static Map<String,String> getBlockDeviceMapping()
          Get the virtual devices associated with the ami, root, ebs, and swap.
static String getData(String path)
           
static String getData(String path, int tries)
           
static EC2MetadataUtils.IAMInfo getIAMInstanceProfileInfo()
          Get information about the last time the instance profile was updated, including the instance's LastUpdated date, InstanceProfileArn, and InstanceProfileId.
static Map<String,EC2MetadataUtils.IAMSecurityCredential> getIAMSecurityCredentials()
          Returns the temporary security credentials (AccessKeyId, SecretAccessKey, SessionToken, and Expiration) associated with the IAM roles on the instance.
static String getInstanceAction()
          Notifies the instance that it should reboot in preparation for bundling.
static String getInstanceId()
          Get the ID of this instance.
static String getInstanceType()
          Get the type of the instance.
static List<String> getItems(String path)
           
static List<String> getItems(String path, int tries)
           
static String getLocalHostName()
          Get the local hostname of the instance.
static String getMacAddress()
          Get the MAC address of the instance.
static List<EC2MetadataUtils.NetworkInterface> getNetworkInterfaces()
          Get the list of network interfaces on the instance.
static String getPrivateIpAddress()
          Get the private IP address of the instance.
static List<String> getProductCodes()
          Get the list of product codes associated with the instance, if any.
static String getPublicKey()
          Get the public key.
static String getRamdiskId()
          Get the ID of the RAM disk specified at launch time, if applicable.
static String getReservationId()
          Get the ID of the reservation.
static List<String> getSecurityGroups()
          Get the list of names of the security groups applied to the instance.
static String getUserData()
          Get the metadata sent to the instance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EC2MetadataUtils

public EC2MetadataUtils()
Method Detail

getAmiId

public static String getAmiId()
Get the AMI ID used to launch the instance.


getAmiLaunchIndex

public static String getAmiLaunchIndex()
Get the index of this instance in the reservation.


getAmiManifestPath

public static String getAmiManifestPath()
Get the manifest path of the AMI with which the instance was launched.


getAncestorAmiIds

public static List<String> getAncestorAmiIds()
Get the list of AMI IDs of any instances that were rebundled to created this AMI. Will only exist if the AMI manifest file contained an ancestor-amis key.


getInstanceAction

public static String getInstanceAction()
Notifies the instance that it should reboot in preparation for bundling. Valid values: none | shutdown | bundle-pending.


getInstanceId

public static String getInstanceId()
Get the ID of this instance.


getInstanceType

public static String getInstanceType()
Get the type of the instance.


getLocalHostName

public static String getLocalHostName()
Get the local hostname of the instance. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which device-number is 0).


getMacAddress

public static String getMacAddress()
Get the MAC address of the instance. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which device-number is 0).


getPrivateIpAddress

public static String getPrivateIpAddress()
Get the private IP address of the instance. In cases where multiple network interfaces are present, this refers to the eth0 device (the device for which device-number is 0).


getAvailabilityZone

public static String getAvailabilityZone()
Get the Availability Zone in which the instance launched.


getProductCodes

public static List<String> getProductCodes()
Get the list of product codes associated with the instance, if any.


getPublicKey

public static String getPublicKey()
Get the public key. Only available if supplied at instance launch time.


getRamdiskId

public static String getRamdiskId()
Get the ID of the RAM disk specified at launch time, if applicable.


getReservationId

public static String getReservationId()
Get the ID of the reservation.


getSecurityGroups

public static List<String> getSecurityGroups()
Get the list of names of the security groups applied to the instance.


getIAMInstanceProfileInfo

public static EC2MetadataUtils.IAMInfo getIAMInstanceProfileInfo()
Get information about the last time the instance profile was updated, including the instance's LastUpdated date, InstanceProfileArn, and InstanceProfileId.


getIAMSecurityCredentials

public static Map<String,EC2MetadataUtils.IAMSecurityCredential> getIAMSecurityCredentials()
Returns the temporary security credentials (AccessKeyId, SecretAccessKey, SessionToken, and Expiration) associated with the IAM roles on the instance.


getBlockDeviceMapping

public static Map<String,String> getBlockDeviceMapping()
Get the virtual devices associated with the ami, root, ebs, and swap.


getNetworkInterfaces

public static List<EC2MetadataUtils.NetworkInterface> getNetworkInterfaces()
Get the list of network interfaces on the instance.


getUserData

public static String getUserData()
Get the metadata sent to the instance


getData

public static String getData(String path)

getData

public static String getData(String path,
                             int tries)

getItems

public static List<String> getItems(String path)

getItems

public static List<String> getItems(String path,
                                    int tries)


Copyright © 2016. All rights reserved.