in aws-memorydb-user/src/main/java/software/amazon/memorydb/user/BaseHandlerStd.java [46:79]
protected abstract ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<MemoryDbClient> proxyClient,
final Logger logger);
protected boolean isUserStabilized(
final ProxyClient<MemoryDbClient> proxyClient,
final ResourceModel model,
Logger logger) {
logger.log("isUserStabilized");
try {
final Optional<User> user =
proxyClient.injectCredentialsAndInvokeV2(
Translator.translateToReadRequest(model), proxyClient.client()::describeUsers
).users().stream().findFirst();
if (!user.isPresent()) {
throw UserNotFoundException.builder().build();
}
logger.log("Stable status: " + user.get().name() + " " + user.get().status());
return "ACTIVE".equalsIgnoreCase(user.get().status());
} catch (UserNotFoundException e) {
throw new CfnNotFoundException(ResourceModel.TYPE_NAME, e.getMessage());
} catch (Exception e) {
logger.log(
e.toString() + " " + e.getMessage() + " " + e.getCause() + "\n" + Throwables.getStackTraceAsString(e));
throw new CfnNotStabilizedException(MESSAGE_FORMAT_FAILED_TO_STABILIZE, model.getUserName(), e);
}
}