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));
}