public ProgressEvent handleRequest()

in reportdefinition/src/main/java/software/amazon/cur/reportdefinition/DeleteHandler.java [15:41]


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

        final ResourceModel model = request.getDesiredResourceState();
        final CostAndUsageReportClient curClient = getClient(request);

        // This will throw the exception needed if the report doesn't exist - we don't need the ReportDefinition it returns
        getReport(model.getReportName(), proxy, logger, curClient);

        try {
            proxy.injectCredentialsAndInvokeV2(
                DeleteReportDefinitionRequest.builder()
                    .reportName(model.getReportName())
                    .build(),
                curClient::deleteReportDefinition
            );

            return ProgressEvent.<ResourceModel, CallbackContext>builder()
                .status(OperationStatus.SUCCESS)
                .build();
        } catch (CostAndUsageReportException e) {
            throw ExceptionTranslator.toCfnException(e, model.getReportName());
        }
    }