in src/main/java/com/awslabs/resultsiterator/implementations/BasicSdkErrorHandler.java [40:69]
public Void handleSdkError(SdkClientException e) {
String message = e.getMessage();
List<String> errors = List.empty();
if (message.contains(REGION_EXCEPTION_1) || message.contains(REGION_EXCEPTION_2)) {
errors = errors.append(REGION_ERROR);
errors = errors.append(GENERIC_CREDENTIALS_SOLUTION);
errors = errors.append(REGION_SOLUTION);
} else if (message.contains(MISSING_CREDENTIALS_EXCEPTION)) {
errors = errors.append(MISSING_CREDENTIALS_ERROR);
errors = errors.append(GENERIC_CREDENTIALS_SOLUTION);
errors = errors.append(MISSING_CREDENTIALS_SOLUTION);
} else if (message.contains(BAD_CREDENTIALS_EXCEPTION)) {
errors = errors.append(BAD_CREDENTIALS_ERROR);
errors = errors.append(BAD_CREDENTIALS_SOLUTION);
} else if (message.contains(BAD_PERMISSIONS_EXCEPTION)) {
errors = errors.append(message.substring(0, message.indexOf("(")));
errors = errors.append(BAD_PERMISSIONS_SOLUTION);
} else if (message.contains(HTTP_REQUEST_EXCEPTION)) {
errors = errors.append(message.substring(0, message.indexOf(":")));
errors = errors.append(HTTP_REQUEST_SOLUTION);
}
if (errors.size() != 0) {
errors.forEach(log::error);
log.error("Failed to obtain AWS credentials. See the above messages to determine the root cause");
}
throw e;
}