in alias/src/main/java/software/amazon/kms/alias/UpdateHandler.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::update-alias", proxyClient, model, callbackContext)
.translateToServiceRequest(Translator::updateAliasRequest)
.makeServiceCall(aliasApiHelper::updateAlias)
.done(updateAliasResponse -> {
logger.log(String
.format("%s [%s] has been successfully updated",
ResourceModel.TYPE_NAME,
model.getAliasName()));
return progress;
}))
.then(eventualConsistencyHandlerHelper::waitForChangesToPropagate)
.then(progress -> ProgressEvent.defaultSuccessHandler(model));
}