private ProgressEvent preExistenceCheckForDelete()

in aws-kendra-index/src/main/java/software/amazon/kendra/index/DeleteHandler.java [88:114]


    private ProgressEvent<ResourceModel, CallbackContext> preExistenceCheckForDelete(
        final AmazonWebServicesClientProxy proxy,
        final ProxyClient<KendraClient> proxyClient,
        final ProgressEvent<ResourceModel, CallbackContext> progressEvent,
        final ResourceHandlerRequest<ResourceModel> request
    ) {
        ResourceModel model = progressEvent.getResourceModel();
        CallbackContext callbackContext = progressEvent.getCallbackContext();

        logger.log(String.format("%s [%s] pre-existence check for deletion", ResourceModel.TYPE_NAME, model.getPrimaryIdentifier()));

        DescribeIndexRequest describeIndexRequest = DescribeIndexRequest.builder()
                .id(model.getId())
                .build();
        try {
            proxyClient.injectCredentialsAndInvokeV2(describeIndexRequest,
                    proxyClient.client()::describeIndex);
            return ProgressEvent.progress(model, callbackContext);
        } catch (ResourceNotFoundException e) {
            if (callbackContext.isDeleteWorkflow()) {
                logger.log(String.format("In a delete workflow. Allow ResourceNotFoundException to propagate."));
                return ProgressEvent.progress(model, callbackContext);
            }
            logger.log(String.format("%s [%s] does not pre-exist", ResourceModel.TYPE_NAME, model.getPrimaryIdentifier()));
            throw new CfnNotFoundException(ResourceModel.TYPE_NAME, describeIndexRequest.id(), e);
        }
    }