in aws-kendra-datasource/src/main/java/software/amazon/kendra/datasource/UpdateHandler.java [50:78]
protected ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final ProxyClient<KendraClient> proxyClient,
final Logger logger) {
this.logger = logger;
final ResourceModel model = request.getDesiredResourceState();
verifyNonUpdatableFields(model, request.getPreviousResourceState());
return ProgressEvent.progress(model, callbackContext)
.then(progress ->
proxy.initiate("AWS-Kendra-DataSource::ValidateResourceExists", proxyClient, model, callbackContext)
.translateToServiceRequest(Translator::translateToReadRequest)
.makeServiceCall(this::validateResourceExists)
.progress()
)
.then(progress ->
proxy.initiate("AWS-Kendra-DataSource::Update", proxyClient, model, callbackContext)
.translateToServiceRequest(Translator::translateToUpdateRequest)
.makeServiceCall(this::updateDataSource)
.stabilize(this::stabilize)
.progress())
.then(progress -> updateTags(proxyClient, progress, request))
.then(progress -> new ReadHandler(dataSourceArnBuilder).handleRequest(proxy, request, callbackContext, proxyClient, logger));
}