public ProgressEvent handleRequest()

in reportdefinition/src/main/java/software/amazon/cur/reportdefinition/ListHandler.java [19:45]


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

        final CostAndUsageReportClient curClient = getClient(request);

        try {
            DescribeReportDefinitionsResponse response = proxy.injectCredentialsAndInvokeV2(
                Translator.toDescribeReportDefinitionsRequest(request),
                curClient::describeReportDefinitions
            );

            final List<ResourceModel> models = response.reportDefinitions().stream()
                .map(Translator::toResourceModel)
                .collect(Collectors.toList());

            return ProgressEvent.<ResourceModel, CallbackContext>builder()
                .resourceModels(models)
                .status(OperationStatus.SUCCESS)
                .nextToken(response.nextToken())
                .build();
        } catch (CostAndUsageReportException e) {
            throw ExceptionTranslator.toCfnException(e, null);
        }
    }