public ProgressEvent handleRequest()

in anomalysubscription/src/main/java/software/amazon/ce/anomalysubscription/ListHandler.java [18:46]


    public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
            final AmazonWebServicesClientProxy proxy,
            final ResourceHandlerRequest<ResourceModel> request,
            final CallbackContext callbackContext,
            final Logger logger) {

        GetAnomalySubscriptionsResponse response = proxy.injectCredentialsAndInvokeV2(
                RequestBuilder.buildGetAnomalySubscriptionsRequest(null, request.getNextToken()),
                costExplorerClient::getAnomalySubscriptions
        );

        final List<ResourceModel> models = response.anomalySubscriptions().stream()
                .map(anomalySubscription -> ResourceModel.builder()
                        .subscriptionArn(anomalySubscription.subscriptionArn())
                        .subscriptionName(anomalySubscription.subscriptionName())
                        .accountId(anomalySubscription.accountId())
                        .monitorArnList(anomalySubscription.monitorArnList())
                        .threshold(anomalySubscription.threshold())
                        .frequency(anomalySubscription.frequency().toString())
                        .subscribers(ResourceModelTranslator.toSubscribers(anomalySubscription.subscribers()))
                        .build()
                ).collect(Collectors.toList());

        return ProgressEvent.<ResourceModel, CallbackContext>builder()
                .resourceModels(models)
                .nextToken(response.nextPageToken())
                .status(OperationStatus.SUCCESS)
                .build();
    }