public ProgressEvent handleRequest()

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();
    }