Class LazyTokenProvider
- java.lang.Object
-
- software.amazon.awssdk.auth.token.internal.LazyTokenProvider
-
- All Implemented Interfaces:
AutoCloseable
,SdkTokenProvider
,IdentityProvider<TokenIdentity>
,SdkAutoCloseable
public class LazyTokenProvider extends Object implements SdkTokenProvider, SdkAutoCloseable
A wrapper forSdkTokenProvider
that defers creation of the underlying provider until the first time theSdkTokenProvider.resolveToken()
method is invoked.
-
-
Constructor Summary
Constructors Constructor Description LazyTokenProvider(Supplier<SdkTokenProvider> delegateConstructor)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
static LazyTokenProvider
create(Supplier<SdkTokenProvider> delegateConstructor)
SdkToken
resolveToken()
Returns anSdkToken
that can be used to authorize a request.String
toString()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.identity.spi.IdentityProvider
resolveIdentity, resolveIdentity
-
Methods inherited from interface software.amazon.awssdk.auth.token.credentials.SdkTokenProvider
identityType, resolveIdentity
-
-
-
-
Constructor Detail
-
LazyTokenProvider
public LazyTokenProvider(Supplier<SdkTokenProvider> delegateConstructor)
-
-
Method Detail
-
create
public static LazyTokenProvider create(Supplier<SdkTokenProvider> delegateConstructor)
-
resolveToken
public SdkToken resolveToken()
Description copied from interface:SdkTokenProvider
Returns anSdkToken
that can be used to authorize a request. Each implementation of SdkTokenProvider can choose its own strategy for loading token. For example, an implementation might load token from an existing key management system, or load new token when token is refreshed.- Specified by:
resolveToken
in interfaceSdkTokenProvider
- Returns:
- AwsToken which the caller can use to authorize an AWS request using token authorization for a request.
-
close
public void close()
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceSdkAutoCloseable
-
-