public final class EC2MetadataUtils extends Object
Note: this is an internal API subject to change. Users of the SDK should not depend on this.
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.
If SdkSystemSetting.AWS_EC2_METADATA_DISABLED
is set to true, EC2 metadata usage
will be disabled and SdkClientException
will be thrown for any metadata retrieval attempt.
More information about Amazon EC2 Metadata
Modifier and Type | Class and Description |
---|---|
static class |
EC2MetadataUtils.InstanceInfo |
static class |
EC2MetadataUtils.NetworkInterface
All of the metada associated with a network interface on the instance.
|
Modifier and Type | Method and Description |
---|---|
static void |
clearCache() |
static String |
fetchData(String path,
boolean force,
int attempts)
Fetch data using the given path
|
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 String |
getEC2InstanceRegion()
Returns the current region of this running EC2 instance; or null if
it is unable to do so.
|
static String |
getInstanceAction()
Notifies the instance that it should reboot in preparation for bundling.
|
static String |
getInstanceId()
Get the ID of this instance.
|
static EC2MetadataUtils.InstanceInfo |
getInstanceInfo()
Retrieve some of the data from http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html as a typed
object.
|
static String |
getInstanceSignature()
Get the signature of the 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 |
getToken() |
static String |
getUserData()
Get the metadata sent to the instance
|
public static String getAmiId()
public static String getAmiLaunchIndex()
public static String getAmiManifestPath()
public static List<String> getAncestorAmiIds()
public static String getInstanceAction()
public static String getInstanceId()
public static String getInstanceType()
public static String getLocalHostName()
public static String getMacAddress()
public static String getPrivateIpAddress()
public static String getAvailabilityZone()
public static List<String> getProductCodes()
public static String getPublicKey()
public static String getRamdiskId()
public static String getReservationId()
public static List<String> getSecurityGroups()
public static String getInstanceSignature()
public static String getEC2InstanceRegion()
The instance info is only guaranteed to be a JSON document per http://docs .aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
public static Map<String,String> getBlockDeviceMapping()
public static List<EC2MetadataUtils.NetworkInterface> getNetworkInterfaces()
public static String getUserData()
public static EC2MetadataUtils.InstanceInfo getInstanceInfo()
public static void clearCache()
public static String getToken()
public static String fetchData(String path, boolean force, int attempts)
path
- the pathforce
- whether to force to override the value in the cacheattempts
- the number of attempts that should be executed.Copyright © 2022. All rights reserved.