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