in anomalymonitor/src/main/java/software/amazon/ce/anomalymonitor/ListHandler.java [18:48]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
GetAnomalyMonitorsResponse response = proxy.injectCredentialsAndInvokeV2(
RequestBuilder.buildGetAnomalyMonitorsRequest(null, request.getNextToken()),
costExplorerClient::getAnomalyMonitors
);
final List<ResourceModel> models = response.anomalyMonitors().stream()
.map(anomalyMonitor -> ResourceModel.builder()
.monitorArn(anomalyMonitor.monitorArn())
.monitorName(anomalyMonitor.monitorName())
.creationDate(anomalyMonitor.creationDate())
.lastUpdatedDate(anomalyMonitor.lastUpdatedDate())
.lastEvaluatedDate(anomalyMonitor.lastEvaluatedDate())
.monitorType(anomalyMonitor.monitorType().toString())
.monitorDimension(anomalyMonitor.monitorDimension() != null ? anomalyMonitor.monitorDimension().toString() : null)
.monitorSpecification(anomalyMonitor.monitorSpecification() != null ? Utils.toJson(anomalyMonitor.monitorSpecification()) : null)
.dimensionalValueCount(anomalyMonitor.dimensionalValueCount())
.build()
).collect(Collectors.toList());
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModels(models)
.nextToken(response.nextPageToken())
.status(OperationStatus.SUCCESS)
.build();
}