in aws-logs-querydefinition/src/main/java/software/amazon/logs/querydefinition/ListHandler.java [21:56]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final List<ResourceModel> models = new ArrayList<>();
DescribeQueryDefinitionsResponse describeQueryDefinitionsResponse;
String nextToken = null;
do {
try {
describeQueryDefinitionsResponse = proxy.injectCredentialsAndInvokeV2(Translator.translateToListRequest(nextToken),
ClientBuilder.getLogsClient()::describeQueryDefinitions);
nextToken = describeQueryDefinitionsResponse.nextToken();
models.addAll(describeQueryDefinitionsResponse.queryDefinitions().stream()
.map(qd -> ResourceModel.builder()
.queryDefinitionId(qd.queryDefinitionId())
.name(qd.name())
.queryString(qd.queryString())
.logGroupNames(qd.logGroupNames())
.build())
.collect(Collectors.toList()));
} catch (InvalidParameterException ex) {
throw new CfnInvalidRequestException(ResourceModel.TYPE_NAME, ex);
} catch (final ServiceUnavailableException ex) {
throw new CfnServiceInternalErrorException(ResourceModel.TYPE_NAME, ex);
}
} while (nextToken != null);
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(models)
.status(OperationStatus.SUCCESS)
.build();
}