public ProgressEvent handleRequest()

in aws-acmpca-permission/src/main/java/software/amazon/acmpca/permission/ReadHandler.java [21:50]


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

        this.acmPcaClient = new AcmPcaClient(proxy);
        this.log = logger;

        val model = request.getDesiredResourceState();

        log.log("Read handler being invoked for Certificate Authority Arn: " + model.getCertificateAuthorityArn() + " and for Principal: " + model.getPrincipal());

        try {
            val permission = acmPcaClient.getPermission(model);
            model.setActions(permission.getActions());
            model.setSourceAccount(permission.getSourceAccount());

            return ProgressEvent.defaultSuccessHandler(model);
        } catch (NoSuchElementException ex) {
            val emptyResponseException = AwsServiceException.builder()
                .awsErrorDetails(AwsErrorDetails.builder()
                        .errorCode("NotFound")
                        .errorMessage("Not Found")
                        .build())
                .build();

            return ProgressEvent.defaultFailureHandler(emptyResponseException, HandlerErrorCode.NotFound);
        }
    }