protected ProgressEvent handleRequest()

in aws-cloudformation-moduleversion/src/main/java/software/amazon/cloudformation/moduleversion/CreateHandler.java [39:62]


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

        final ResourceModel model = request.getDesiredResourceState();
        validateModel(model);
        logger.log(String.format("Registering module version, module=%s arn=%s", model.getModuleName(), model.getArn()));
        return proxy.initiate("AWS-CloudFormation-ModuleVersion::Create", proxyClient, model, callbackContext)
                .translateToServiceRequest(resourceModel -> {
                    return Translator.translateToCreateRequest(resourceModel, getOrGenerateClientRequestToken(callbackContext));
                })
                .backoffDelay(BACKOFF_STRATEGY)
                .makeServiceCall((registerTypeRequest, client) -> {
                    final RegisterTypeResponse registerTypeResponse = registerModule(registerTypeRequest, client, model);
                    callbackContext.setRegistrationToken(registerTypeResponse.registrationToken());
                    return registerTypeResponse;
                })
                .stabilize(this::stabilize)
                .progress()
                .then(progress -> readHandler.handleRequest(proxy, request, callbackContext, proxyClient, logger));
    }