Class LazyAwsCredentialsProvider

java.lang.Object
software.amazon.awssdk.auth.credentials.internal.LazyAwsCredentialsProvider
All Implemented Interfaces:
AutoCloseable, AwsCredentialsProvider, IdentityProvider<AwsCredentialsIdentity>, SdkAutoCloseable

@SdkInternalApi public class LazyAwsCredentialsProvider extends Object implements AwsCredentialsProvider, SdkAutoCloseable
A wrapper for AwsCredentialsProvider that defers creation of the underlying provider until the first time the AwsCredentialsProvider.resolveCredentials() method is invoked.
  • Method Details

    • create

      public static LazyAwsCredentialsProvider create(Supplier<AwsCredentialsProvider> delegateConstructor)
    • resolveCredentials

      public AwsCredentials resolveCredentials()
      Description copied from interface: AwsCredentialsProvider
      Returns AwsCredentials that can be used to authorize an AWS request. Each implementation of AWSCredentialsProvider can choose 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.

      If an error occurs during the loading of credentials or credentials could not be found, a runtime exception will be raised.

      Specified by:
      resolveCredentials in interface AwsCredentialsProvider
      Returns:
      AwsCredentials which the caller can use to authorize an AWS request.
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface SdkAutoCloseable
    • toString

      public String toString()
      Overrides:
      toString in class Object