in aws-amplify-domain/src/main/java/software/amazon/amplify/domain/CreateHandler.java [23:62]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<AmplifyClient> proxyClient,
final Logger logger) {
this.logger = logger;
final ResourceModel model = request.getDesiredResourceState();
logger.log("INFO: requesting with model: " + model);
// Make sure the user isn't trying to assign values to read-only properties
String disallowedVal = checkReadOnlyProperties(model);
if (disallowedVal != null) {
throw new CfnInvalidRequestException(String.format("Attempted to provide value to a read-only property: %s", disallowedVal));
}
return ProgressEvent.progress(model, callbackContext)
.then(progress ->
proxy.initiate("AWS-Amplify-Domain::Create", proxyClient,progress.getResourceModel(),
progress.getCallbackContext())
.translateToServiceRequest(Translator::translateToCreateRequest)
.makeServiceCall((createDomainAssociationRequest, proxyInvocation) -> {
checkIfResourceExists(model, proxyClient, logger);
CreateDomainAssociationResponse createDomainAssociationResponse = (CreateDomainAssociationResponse) ClientWrapper.execute(
proxy,
createDomainAssociationRequest,
proxyInvocation.client()::createDomainAssociation,
ResourceModel.TYPE_NAME,
model.getArn(),
logger
);
setResourceModelId(model, createDomainAssociationResponse.domainAssociation());
return createDomainAssociationResponse;
})
.stabilize((awsRequest, awsResponse, client, resourceModel, context) -> isStabilized(proxy, proxyClient,
model, logger))
.progress())
.then(progress -> new ReadHandler().handleRequest(proxy, request, callbackContext, proxyClient, logger));
}