in aws-logs-querydefinition/src/main/java/software/amazon/logs/querydefinition/ReadHandler.java [21:53]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
DescribeQueryDefinitionsResponse describeQueryDefinitionsResponse;
String nextToken = null;
do {
try {
describeQueryDefinitionsResponse = proxy.injectCredentialsAndInvokeV2(Translator.translateToReadRequest(model, nextToken),
ClientBuilder.getLogsClient()::describeQueryDefinitions);
nextToken = describeQueryDefinitionsResponse.nextToken();
Optional<QueryDefinition> queryDefinition = describeQueryDefinitionsResponse.queryDefinitions().stream()
.filter(qd -> qd.queryDefinitionId().equals(model.getQueryDefinitionId()))
.findAny();
if (queryDefinition.isPresent()) {
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
}
} catch (InvalidParameterException ex) {
throw new CfnInvalidRequestException(ResourceModel.TYPE_NAME, ex);
} catch (ServiceUnavailableException ex) {
throw new CfnServiceInternalErrorException(ResourceModel.TYPE_NAME, ex);
}
} while (nextToken != null);
throw new CfnNotFoundException(ResourceModel.TYPE_NAME, model.getPrimaryIdentifier().toString());
}