in aws-cloudformation-stackset/src/main/java/software/amazon/cloudformation/stackset/UpdateHandler.java [95:119]
private ProgressEvent<ResourceModel, CallbackContext> updateManagedExecution(
final AmazonWebServicesClientProxy proxy,
final ProxyClient<CloudFormationClient> client,
final ProgressEvent<ResourceModel, CallbackContext> progress,
final ResourceModel previousModel) {
final ResourceModel desiredModel = progress.getResourceModel();
final CallbackContext callbackContext = progress.getCallbackContext();
if (isStackSetConfigEquals(previousModel.getManagedExecution(), desiredModel.getManagedExecution())) {
return ProgressEvent.progress(desiredModel, callbackContext);
}
return proxy.initiate("AWS-CloudFormation-StackSet::UpdateManagedExecution", client, desiredModel, callbackContext)
.translateToServiceRequest(modelRequest -> updateManagedExecutionRequest(modelRequest))
.backoffDelay(MULTIPLE_OF)
.makeServiceCall((modelRequest, proxyInvocation) -> {
logger.log(String.format("%s [%s] UpdateManagedExecution request: [%s]",
ResourceModel.TYPE_NAME, previousModel.getStackSetId(), modelRequest));
final UpdateStackSetResponse response = proxyInvocation.injectCredentialsAndInvokeV2(modelRequest, proxyInvocation.client()::updateStackSet);
logger.log(String.format("%s [%s] UpdateManagedExecution initiated", ResourceModel.TYPE_NAME, previousModel.getStackSetId()));
return response;
})
.stabilize((request, response, proxyInvocation, resourceModel, context) -> isOperationStabilized(proxyInvocation, resourceModel, response.operationId(), logger))
.retryErrorFilter(this::filterException)
.progress();
}