protected ReportDefinition getReport()

in reportdefinition/src/main/java/software/amazon/cur/reportdefinition/CurBaseHandler.java [39:58]


    protected ReportDefinition getReport(String reportName, AmazonWebServicesClientProxy proxy, Logger logger, CostAndUsageReportClient curClient) {
        DescribeReportDefinitionsResponse describeReportDefinitionsResponse = proxy.injectCredentialsAndInvokeV2(
            DescribeReportDefinitionsRequest.builder().build(),
            curClient::describeReportDefinitions
        );

        List<ReportDefinition> reports = describeReportDefinitionsResponse.reportDefinitions().stream()
            .filter(reportDefinition -> reportDefinition.reportName().equals(reportName))
            .collect(Collectors.toList());

        if (reports.size() == 0) {
            throw new CfnNotFoundException(ResourceModel.TYPE_NAME, reportName);
        }

        if (reports.size() > 1) {
            logger.log(String.format("%d reports found with the same name", reports.size()));
        }

        return reports.get(0);
    }