in aws-sagemaker-project/src/main/java/software/amazon/sagemaker/project/DeleteHandler.java [110:142]
private boolean stabilizedOnDelete(
final DeleteProjectRequest deleteProjectRequest,
final DeleteProjectResponse deleteProjectResult,
final ProxyClient<SageMakerClient> proxyClient,
final ResourceModel model,
final CallbackContext callbackContext) {
try {
DescribeProjectResponse response = proxyClient.injectCredentialsAndInvokeV2(Translator.translateToReadRequest(model),
proxyClient.client()::describeProject);
final ProjectStatus projectStatus = response.projectStatus();
switch (projectStatus) {
case DELETE_IN_PROGRESS:
case PENDING:
logger.log(String.format("%s with name [%s] is stabilizing while delete.", ResourceModel.TYPE_NAME, model.getProjectName()));
return false;
//Delete failure case
case DELETE_FAILED:
case DELETE_COMPLETED:
logger.log(String.format("%s with name [%s] is stabilizing while delete.", ResourceModel.TYPE_NAME, model.getProjectName()));
return true;
default:
throw new CfnGeneralServiceException("Delete stabilizing of project: " + model.getProjectName());
}
} catch (final ResourceNotFoundException e) {
return true;
} catch (final SageMakerException e) {
if (isExceptionFromDeletedProject(e)) {
return true;
}
throw e;
}
}