Interface Ec2MetadataClient

All Superinterfaces:
AutoCloseable, SdkAutoCloseable
All Known Implementing Classes:
DefaultEc2MetadataClient

@ThreadSafe @Immutable public interface Ec2MetadataClient extends SdkAutoCloseable
Interface to represent the Ec2Metadata Client Class. Used to access instance metadata from a running EC2 instance.

Instantiate the Ec2MetadataClient

Default configuration

Ec2MetadataClient client = Ec2MetadataClient.create();

Custom configuration

Example of a client configured for using IPV6 and a fixed delay for retry attempts :
Ec2MetadataClient client = Ec2MetadataClient.builder()
    .retryPolicy(p -> p.backoffStrategy(FixedDelayBackoffStrategy.create(Duration.ofMillis(500))))
    .endpointMode(EndpointMode.IPV6)
    .build();

Use the client

To retrieve EC2 Instance Metadata, call the get method on the client with a path to an instance metadata:
Ec2MetadataClient client = Ec2MetadataClient.create();
Ec2MetadataResponse response = client.get("/latest/meta-data/");
System.out.println(response.asString());

Closing the client

Once all operations are done, you may close the client to free any resources used by it.
Ec2MetadataClient client = Ec2MetadataClient.create();
// ... do the things
client.close();

Note: A single client instance should be reused for multiple requests when possible.