protected ProgressEvent handleRequest()

in aws-sns-topicpolicy/src/main/java/software/amazon/sns/topicpolicy/CreateHandler.java [21:42]


    protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
            final AmazonWebServicesClientProxy proxy,
            final ResourceHandlerRequest<ResourceModel> request,
            final CallbackContext callbackContext,
            final ProxyClient<SnsClient> proxyClient,
            final Logger logger) {

        final ResourceModel model = request.getDesiredResourceState();
        // Check if invalid request
        if (CollectionUtils.isNullOrEmpty(model.getPolicyDocument())
                || CollectionUtils.isNullOrEmpty(model.getTopics()))
        {
            throw new CfnInvalidRequestException(
                    String.format("Invalid create request, topics & policy document cannot be null or empty : %s)",
                            model.toString()));
        }
        return ProgressEvent.progress(model, callbackContext)
                .then(progress -> initCallbackContextAndPrimaryIdentifier(proxy, proxyClient, request, callbackContext,
                        progress))
                .then(progress -> doCreate(proxy, proxyClient, request, progress, ACTION_CREATED, CREATE_HANDLER, logger ))
                .then(progress -> ProgressEvent.success(model, callbackContext));
    }