Class InstanceProfileCredentialsProvider

java.lang.Object
com.amazonaws.auth.InstanceProfileCredentialsProvider
All Implemented Interfaces:
AWSCredentialsProvider

public class InstanceProfileCredentialsProvider extends Object implements AWSCredentialsProvider
Credentials provider implementation that loads credentials from the Amazon EC2 Instance Metadata Service.
  • Field Details

    • credentials

      protected volatile AWSCredentials credentials
      The current instance profile credentials
    • credentialsExpiration

      protected volatile Date credentialsExpiration
      The expiration for the current instance profile credentials
    • lastInstanceProfileCheck

      protected volatile Date lastInstanceProfileCheck
      The time of the last attempt to check for new credentials
  • Constructor Details

    • InstanceProfileCredentialsProvider

      public InstanceProfileCredentialsProvider()
    • InstanceProfileCredentialsProvider

      public InstanceProfileCredentialsProvider(boolean refreshCredentialsAsync)
      Spins up a new thread to refresh the credentials asynchronously if refreshCredentialsAsync is set to true, otherwise the credentials will be refreshed from the instance metadata service synchronously,
      Parameters:
      refreshCredentialsAsync - true if credentials needs to be refreshed asynchronously else false.
  • Method Details

    • getCredentials

      public AWSCredentials getCredentials()
      Description copied from interface: AWSCredentialsProvider
      Returns AWSCredentials which the caller can use to authorize an AWS request. Each implementation of AWSCredentialsProvider can chose its own strategy for loading credentials. For example, an implementation might load credentials from an existing key management system, or load new credentials when credentials are rotated.
      Specified by:
      getCredentials in interface AWSCredentialsProvider
      Returns:
      AWSCredentials which the caller can use to authorize an AWS request.
    • refresh

      public void refresh()
      Description copied from interface: AWSCredentialsProvider
      Forces this credentials provider to refresh its credentials. For many implementations of credentials provider, this method may simply be a no-op, such as any credentials provider implementation that vends static/non-changing credentials. For other implementations that vend different credentials through out their lifetime, this method should force the credentials provider to refresh its credentials.
      Specified by:
      refresh in interface AWSCredentialsProvider
    • needsToLoadCredentials

      protected boolean needsToLoadCredentials()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable