in aws-kendra-datasource/src/main/java/software/amazon/kendra/datasource/ReadHandler.java [37:67]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<KendraClient> proxyClient,
final Logger logger) {
this.logger = logger;
final ResourceModel model = request.getDesiredResourceState();
final DescribeDataSourceRequest describeDataSourceRequest = Translator.translateToReadRequest(model);
DescribeDataSourceResponse describeDataSourceResponse;
try {
describeDataSourceResponse = proxyClient.injectCredentialsAndInvokeV2(
describeDataSourceRequest, proxyClient.client()::describeDataSource);
} catch (ResourceNotFoundException e) {
throw new CfnNotFoundException(ResourceModel.TYPE_NAME, describeDataSourceRequest.id(), e);
} catch (final AwsServiceException e) {
throw new CfnGeneralServiceException(DESCRIBE_DATASOURCE, e);
}
// STEP 4 [Add List Tags for DataSource]
String dataSourceArn = dataSourceArnBuilder.build(request);
final ListTagsForResourceRequest listTagsForResourceRequest = Translator.translateToListTagsRequest(dataSourceArn);
ListTagsForResourceResponse listTagsForResourceResponse;
try {
listTagsForResourceResponse = proxyClient.injectCredentialsAndInvokeV2(listTagsForResourceRequest,
proxyClient.client()::listTagsForResource);
} catch (ResourceInUseException e) {
throw new CfnGeneralServiceException(LIST_TAGS_FOR_RESOURCE, e);
}
return constructResourceModelFromResponse(describeDataSourceResponse, listTagsForResourceResponse, dataSourceArn);
}