in aws-timestream-database/src/main/java/software/amazon/timestream/database/ReadHandler.java [41:79]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
timestreamClient = TimestreamClientFactory.get(proxy, logger);
this.proxy = proxy;
ResourceModel result;
final ResourceModel model = request.getDesiredResourceState();
final DescribeDatabaseRequest describeDatabaseRequest =
new DescribeDatabaseRequest().withDatabaseName(model.getDatabaseName());
try {
final DescribeDatabaseResult describeDatabaseResult =
this.proxy.injectCredentialsAndInvoke(describeDatabaseRequest, timestreamClient::describeDatabase);
final Database databaseRecord = describeDatabaseResult.getDatabase();
final List<Tag> tags = getTags(databaseRecord.getArn());
model.setTags(tags == null || tags.isEmpty() ? null : tags);
model.setArn(databaseRecord.getArn());
result = model;
} catch (ResourceNotFoundException ex) {
throw new CfnNotFoundException(ResourceModel.TYPE_NAME, model.getDatabaseName(), ex);
} catch (ValidationException | InvalidEndpointException ex) {
throw new CfnInvalidRequestException(request.toString(), ex);
} catch (AccessDeniedException ex) {
throw new CfnAccessDeniedException(DESCRIBE_DATABASE, ex);
} catch (ThrottlingException ex) {
throw new CfnThrottlingException(DESCRIBE_DATABASE, ex);
} catch (InternalServerException ex) {
throw new CfnInternalFailureException(ex);
}
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(result)
.status(OperationStatus.SUCCESS)
.build();
}