Class LazyTokenProvider
- java.lang.Object
-
- software.amazon.awssdk.auth.token.internal.LazyTokenProvider
-
- All Implemented Interfaces:
AutoCloseable,SdkTokenProvider,IdentityProvider<TokenIdentity>,SdkAutoCloseable
@SdkInternalApi public class LazyTokenProvider extends Object implements SdkTokenProvider, SdkAutoCloseable
A wrapper forSdkTokenProviderthat 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 voidclose()static LazyTokenProvidercreate(Supplier<SdkTokenProvider> delegateConstructor)SdkTokenresolveToken()Returns anSdkTokenthat can be used to authorize a request.StringtoString()-
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:SdkTokenProviderReturns anSdkTokenthat 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:
resolveTokenin 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:
closein interfaceAutoCloseable- Specified by:
closein interfaceSdkAutoCloseable
-
-