in aws-timestream-scheduledquery/src/main/java/software/amazon/timestream/scheduledquery/UpdateHandler.java [36:73]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
final ResourceModel model = request.getDesiredResourceState();
timestreamClient = TimestreamClientFactory.get(proxy, logger);
this.proxy = proxy;
final Map<String, String> desiredTags = TagHelper.getNewDesiredTags(model, request);
final Map<String, String> previousTags = TagHelper.getPreviouslyAttachedTags(request);
final Set<Tag> tagsToAdd = TagHelper.convertToSet(
TagHelper.generateTagsToAdd(previousTags, desiredTags));
final Set<String> tagsToRemove = TagHelper.generateTagsToRemove(previousTags, desiredTags);
try {
removeTags(model.getArn(), tagsToRemove);
addTags(model.getArn(), tagsToAdd);
} catch (InternalServerException ex) {
throw new CfnInternalFailureException(ex);
} catch (ThrottlingException ex) {
throw new CfnThrottlingException(UPDATE_SCHEDULED_QUERY, ex);
} catch (ValidationException | InvalidEndpointException ex) {
throw new CfnInvalidRequestException(request.toString(), ex);
} catch (ResourceNotFoundException ex) {
throw new CfnNotFoundException(ex);
} catch (AccessDeniedException ex) {
throw new CfnAccessDeniedException(UPDATE_SCHEDULED_QUERY, ex);
}
return ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
}