package software.amazon.devopsguru.resourcecollection; import software.amazon.awssdk.services.devopsguru.DevOpsGuruClient; import software.amazon.cloudformation.proxy.AmazonWebServicesClientProxy; import software.amazon.cloudformation.proxy.Logger; import software.amazon.cloudformation.proxy.ProgressEvent; import software.amazon.cloudformation.proxy.ProxyClient; import software.amazon.cloudformation.proxy.ResourceHandlerRequest; public class UpdateHandler extends BaseHandlerStd { private Logger logger; protected ProgressEvent handleRequest( final AmazonWebServicesClientProxy proxy, final ResourceHandlerRequest request, final CallbackContext callbackContext, final ProxyClient proxyClient, final Logger logger) { this.logger = logger; final ResourceModel model = request.getDesiredResourceState(); return ProgressEvent.progress(model, callbackContext) .then(progress -> proxy.initiate("AWS-DevOpsGuru-ResourceCollection::Update", proxyClient, model, callbackContext) .translateToServiceRequest(Translator::translateToAddResourceCollectionRequest) .makeServiceCall((awsRequest, client) -> updateResourceCollection(awsRequest, client, model, logger, false)) .progress()) .then(progress -> ProgressEvent.defaultSuccessHandler(progress.getResourceModel())); } }