in aws-route53recoveryreadiness-cell/src/main/java/software/amazon/route53recoveryreadiness/cell/CreateHandler.java [25:54]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<Route53RecoveryReadinessClient> proxyClient,
final Logger logger) {
this.logger = logger;
return ProgressEvent.progress(request.getDesiredResourceState(), callbackContext)
.then(progress ->
proxy.initiate("AWS-Route53RecoveryReadiness-Cell::Create::PreExistenceCheckCell", proxyClient,progress.getResourceModel(), progress.getCallbackContext())
.translateToServiceRequest(Translator::translateToReadRequest)
.makeServiceCall(this::preExistenceCheckCell)
.progress(0)
)
.then(progress ->
proxy.initiate("AWS-Route53RecoveryReadiness-Cell::Create::PreExistenceValidateCells", proxyClient,progress.getResourceModel(), progress.getCallbackContext())
.translateToServiceRequest(Translator::translateToCreateRequest)
.makeServiceCall(this::validateCells)
.progress(0)
)
.then(progress ->
proxy.initiate("AWS-Route53RecoveryReadiness-Cell::Create", proxyClient,progress.getResourceModel(), progress.getCallbackContext())
.translateToServiceRequest(Translator::translateToCreateRequest)
.makeServiceCall(this::createCell)
.progress(0)
)
.then(progress -> new ReadHandler().handleRequest(proxy, request, callbackContext, proxyClient, logger));
}