protected ProgressEvent handleDelete()

in aws-sns-topicpolicy/src/main/java/software/amazon/sns/topicpolicy/BaseHandlerStd.java [123:148]


    protected ProgressEvent<ResourceModel, CallbackContext> handleDelete(
            final AmazonWebServicesClientProxy proxy,
            final ProxyClient<SnsClient> proxyClient,
            final ResourceHandlerRequest<ResourceModel> request,
            final ProgressEvent<ResourceModel, CallbackContext> progress,
            final List<String> topics,
            final String action,
            final String handler,
            final Logger logger) {

        final ResourceModel model = request.getDesiredResourceState();
        final CallbackContext callbackContext = progress.getCallbackContext();
        for (final String topicArn : topics) {
            final String defaultPolicy = Translator.getDefaultPolicy(request, topicArn);
            final ProgressEvent<ResourceModel, CallbackContext> progressEvent = proxy
                    .initiate(handler + topicArn.hashCode(), proxyClient, model, callbackContext)
                    .translateToServiceRequest((resouceModel) -> Translator.translateToRequest(topicArn, defaultPolicy))
                    .makeServiceCall(
                            (topicRequest, snsClient) -> invokeSetTopicAttributes(topicRequest, snsClient, action, logger))
                    .success();
            if (!progressEvent.isSuccess()) {
                return progressEvent;
            }
        }
        return ProgressEvent.progress(model, callbackContext);
    }