private boolean stabilizedOnDelete()

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;
    }