in aws-timestream-database/src/main/java/software/amazon/timestream/database/ListHandler.java [38:75]
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;
ListDatabasesResult result;
final ListDatabasesRequest listDatabasesRequest =
new ListDatabasesRequest().withNextToken(request.getNextToken()).withMaxResults(MAX_ITEMS);
try {
result = this.proxy.injectCredentialsAndInvoke(listDatabasesRequest, timestreamClient::listDatabases);
} catch (InternalServerException ex) {
throw new CfnInternalFailureException(ex);
} catch (ThrottlingException ex) {
throw new CfnThrottlingException(LIST_DATABASES, ex);
} catch (ValidationException | InvalidEndpointException ex) {
throw new CfnInvalidRequestException(request.toString(), ex);
} catch (AccessDeniedException ex) {
throw new CfnAccessDeniedException(LIST_DATABASES, ex);
}
final List<ResourceModel> models =
result.getDatabases()
.stream()
.map(record -> ResourceModel.builder()
.databaseName(record.getDatabaseName())
.build())
.collect(Collectors.toList());
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(models)
.nextToken(result.getNextToken())
.status(OperationStatus.SUCCESS)
.build();
}