protected ProgressEvent handleRequest()

in aws-devopsguru-resourcecollection/src/main/java/software/amazon/devopsguru/resourcecollection/CreateHandler.java [16:36]


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

        this.logger = logger;

        final ResourceModel model = request.getDesiredResourceState();

        // TODO: Confirm with Uluru if the Create Handler could update the resources users created at console
        return ProgressEvent.progress(model, callbackContext)
                .then(progress ->
                        proxy.initiate("AWS-DevOpsGuru-ResourceCollection::Create", proxyClient, model, callbackContext)
                                .translateToServiceRequest(Translator::translateToAddResourceCollectionRequest)
                                .makeServiceCall((awsRequest, client) -> createResource(awsRequest, client, model, logger))
                                .progress())
                .then(progress -> ProgressEvent.defaultSuccessHandler(progress.getResourceModel()));

    }