in aws-lightsail-database/src/main/java/software/amazon/lightsail/database/helpers/handler/DatabaseHandler.java [60:81]
protected ProgressEvent<ResourceModel, CallbackContext> preCreate(
final ProgressEvent<ResourceModel, CallbackContext> progress) {
val database = getDatabase(resourceModelRequest, proxyClient, logger);
if (callbackContext.getIsPreCheckDone(PRE_CHECK_CREATE)) {
return progress;
}
logger.log("Executing AWS-Lightsail-Database::Create::PreExistenceCheck...");
return proxy
.initiate("AWS-Lightsail-Database::Create::PreExistenceCheck", proxyClient, progress.getResourceModel(),
progress.getCallbackContext())
.translateToServiceRequest(Translator::translateToReadRequest).makeServiceCall((awsRequest, client) -> {
database.read(awsRequest);
logger.log(String.format("%s has successfully been read.", ResourceModel.TYPE_NAME));
throw new CfnAlreadyExistsException(ResourceType.RELATIONAL_DATABASE.toString(),
((GetRelationalDatabaseRequest) awsRequest).relationalDatabaseName());
}).handleError((awsRequest, exception, client, model, context) -> {
callbackContext.getIsPreCheckDone().put(PRE_CHECK_CREATE, true);
return handleError(exception, model, callbackContext,
ImmutableList.of(InvalidInputException, NotFoundException), logger,
this.getClass().getSimpleName());
}).progress();
}