in alias/src/main/java/software/amazon/kms/alias/CreateHandler.java [23:47]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<KmsClient> proxyClient,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
return ProgressEvent.progress(model, callbackContext)
.then(
progress -> proxy.initiate("kms::create-alias", proxyClient, model, callbackContext)
.translateToServiceRequest(Translator::createAliasRequest)
.makeServiceCall(aliasApiHelper::createAlias)
.done(createAliasResponse -> {
logger.log(String
.format("%s [%s] has been successfully created",
ResourceModel.TYPE_NAME,
model.getAliasName()));
return progress;
}))
.then(eventualConsistencyHandlerHelper::waitForChangesToPropagate)
.then(progress -> ProgressEvent.defaultSuccessHandler(model));
}