protected ProgressEvent putDestinationPolicy()

in aws-logs-destination/src/main/java/software/amazon/logs/destination/BaseHandlerStd.java [92:115]


    protected ProgressEvent<ResourceModel, CallbackContext> putDestinationPolicy(
            final AmazonWebServicesClientProxy proxy, final CallbackContext callbackContext,
            final ProxyClient<CloudWatchLogsClient> proxyClient, final ResourceModel model, final String callGraph,
            final Logger logger, Action handlerAction) {
        return proxy.initiate(callGraph, proxyClient, model, callbackContext)
                .translateToServiceRequest(Translator::translateToPutDestinationPolicyRequest)
                .makeServiceCall((awsRequest, sdkProxyClient) -> {
                    PutDestinationPolicyResponse response = null;
                    try {
                        response = sdkProxyClient.injectCredentialsAndInvokeV2(awsRequest,
                                sdkProxyClient.client()::putDestinationPolicy);
                        logger.log(String.format(
                                "Destination policy successfully updated for the resource with name %s has been " +
                                        "successfully %s", model.getDestinationName(), handlerAction.name()));
                    } catch (CloudWatchLogsException e) {
                        logger.log(String.format(
                                "Exception while invoking the putDestinationPolicy API for the destination ID %s. %s ",
                                model.getDestinationName(), e));
                        Translator.translateException(e);
                    }
                    return response;
                })
                .progress();
    }