retrieve method
Retrieves AWS credentials.
Implementation
@override
Future<AWSCredentials> retrieve() async {
final chain = List.of(this.chain);
for (final credentialsProvider in chain) {
final providerType = credentialsProvider.runtimeTypeName;
logger.verbose('Loading credentials from $providerType');
try {
final credentials = await credentialsProvider.retrieve();
logger.verbose('Successfully loaded credentials from $providerType');
return credentials;
} on Object {
logger.verbose('Failed to loaded credentials from $providerType');
continue;
}
}
throw InvalidCredentialsException.couldNotLoad(
'Could not load credentials using chain: '
'[${chain.map((p) => p.runtimeTypeName).join(', ')}]',
);
}