Package com.amazonaws.auth
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 Summary
Fields Modifier and Type Field Description protected AWSCredentials
credentials
The current instance profile credentialsprotected Date
credentialsExpiration
The expiration for the current instance profile credentialsprotected Date
lastInstanceProfileCheck
The time of the last attempt to check for new credentials
-
Constructor Summary
Constructors Constructor Description InstanceProfileCredentialsProvider()
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,
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
finalize()
AWSCredentials
getCredentials()
Returns AWSCredentials which the caller can use to authorize an AWS request.protected boolean
needsToLoadCredentials()
void
refresh()
Forces this credentials provider to refresh its credentials.String
toString()
-
-
-
Field Detail
-
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 Detail
-
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 Detail
-
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 interfaceAWSCredentialsProvider
- 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 interfaceAWSCredentialsProvider
-
needsToLoadCredentials
protected boolean needsToLoadCredentials()
-
-