private DescribeMetricFiltersResponse readResource()

in aws-logs-metricfilter/src/main/java/software/amazon/logs/metricfilter/ReadHandler.java [46:69]


    private DescribeMetricFiltersResponse readResource(
        final DescribeMetricFiltersRequest awsRequest,
        final ProxyClient<CloudWatchLogsClient> proxyClient,
        final ResourceModel model) {
        DescribeMetricFiltersResponse awsResponse;
        try {
            awsResponse = proxyClient.injectCredentialsAndInvokeV2(awsRequest, proxyClient.client()::describeMetricFilters);
        } catch (InvalidParameterException e) {
            throw new CfnInvalidRequestException(e);
        } catch (ResourceNotFoundException e) {
            throw new CfnNotFoundException(e);
        } catch (ServiceUnavailableException e) {
            throw new CfnServiceInternalErrorException(e);
        }

        if (awsResponse.metricFilters().isEmpty()) {
            logger.log("Resource does not exist.");
            throw new CfnNotFoundException(ResourceModel.TYPE_NAME,
                    Objects.toString(model.getPrimaryIdentifier()));
        }

        logger.log(String.format("%s has successfully been read." , ResourceModel.TYPE_NAME));
        return awsResponse;
    }