in aws-panorama-applicationinstance/src/main/java/software/amazon/panorama/applicationinstance/DeleteHandler.java [129:158]
private boolean stabilizedOnDelete(
final RemoveApplicationInstanceRequest removeApplicationInstanceRequest,
final RemoveApplicationInstanceResponse removeApplicationInstanceResponse,
final ProxyClient<PanoramaClient> proxyClient,
final ResourceModel model,
final CallbackContext callbackContext
) {
DescribeApplicationInstanceRequest describeApplicationInstanceRequest = DescribeApplicationInstanceRequest.builder()
.applicationInstanceId(model.getApplicationInstanceId())
.build();
boolean stabilized = false;
try {
DescribeApplicationInstanceResponse describeApplicationInstanceResponse = proxyClient.injectCredentialsAndInvokeV2(describeApplicationInstanceRequest, proxyClient.client()::describeApplicationInstance);
ApplicationInstanceStatus applicationInstanceStatus = describeApplicationInstanceResponse.status();
if (applicationInstanceStatus.equals(ApplicationInstanceStatus.REMOVAL_FAILED)) {
logger.error(String.format("ApplicationInstance removal failed with ApplicationInstanceId: %s", removeApplicationInstanceRequest.applicationInstanceId()));
throw new CfnNotStabilizedException(ResourceModel.TYPE_NAME, model.getApplicationInstanceId());
}
if (applicationInstanceStatus.equals(ApplicationInstanceStatus.REMOVAL_SUCCEEDED)) {
stabilized = true;
}
} catch (ResourceNotFoundException e) {
stabilized = true;
}
logger.info(String.format("%s deletion with ApplicationInstanceId %s has stabilized", ResourceModel.TYPE_NAME, model.getApplicationInstanceId()));
return stabilized;
}