in aws-sagemaker-domain/src/main/java/software/amazon/sagemaker/domain/CreateHandler.java [106:140]
private boolean stabilizedOnCreate(
final CreateDomainRequest awsRequest,
final CreateDomainResponse awsResponse,
final ProxyClient<SageMakerClient> proxyClient,
final ResourceModel model,
final CallbackContext callbackContext) {
if (model.getDomainId() == null) {
model.setDomainId(getDomainIdFromArn(awsResponse.domainArn()));
}
final DomainStatus DomainStatus;
try {
DomainStatus = proxyClient.injectCredentialsAndInvokeV2(
TranslatorForRequest.translateToReadRequest(model),
proxyClient.client()::describeDomain).status();
} catch (ResourceNotFoundException rnfe) {
logger.log(String.format("Resource not found for %s, stabilizing.", model.getPrimaryIdentifier()));
return false;
}
switch (DomainStatus) {
case IN_SERVICE:
logger.log(String.format("%s [%s] has been stabilized with status %s.", ResourceModel.TYPE_NAME,
model.getPrimaryIdentifier(), DomainStatus));
return true;
case PENDING:
logger.log(String.format("%s [%s] is stabilizing.", ResourceModel.TYPE_NAME,
model.getPrimaryIdentifier()));
return false;
default:
logger.log(String.format("%s [%s] failed to stabilize with status: %s.", ResourceModel.TYPE_NAME,
model.getPrimaryIdentifier(), DomainStatus));
throw new CfnNotStabilizedException(ResourceModel.TYPE_NAME, model.getDomainName());
}
}