in statemachine/src/main/java/com/amazonaws/stepfunctions/cloudformation/statemachine/UpdateHandler.java [22:65]
public ProgressEvent<ResourceModel, CallbackContext> handleRequest(
final AmazonWebServicesClientProxy proxy,
final ResourceHandlerRequest<ResourceModel> request,
final CallbackContext callbackContext,
final Logger logger) {
logger.log("INFO StateMachine UpdateHandler with clientRequestToken: " + request.getClientRequestToken());
final ResourceModel model = request.getDesiredResourceState();
MetricsRecorder metricsRecorder = new MetricsRecorder(HandlerOperationType.UPDATE);
metricsRecorder.setMetricsFromResourceModel(model);
try {
verifyStateMachineArnIsPresent(model.getArn());
AWSStepFunctions sfnClient = AWSStepFunctionsClientBuilder.defaultClient();
validateDefinitionCount(model);
processDefinition(proxy, model, metricsRecorder);
UpdateStateMachineRequest updateStateMachineRequest = buildUpdateStateMachineRequestFromModel(model);
proxy.injectCredentialsAndInvoke(updateStateMachineRequest, sfnClient::updateStateMachine);
updateTags(request, proxy, sfnClient);
metricsRecorder.setOperationSuccessful(true);
ProgressEvent<ResourceModel, CallbackContext> progressEvent = ProgressEvent.<ResourceModel, CallbackContext>builder()
.resourceModel(model)
.status(OperationStatus.SUCCESS)
.build();
metricsRecorder.setOperationSuccessful(true);
return progressEvent;
} catch (Exception e) {
logger.log("ERROR Updating StateMachine, caused by " + e.toString());
return handleDefaultError(request, e, metricsRecorder);
} finally {
logger.log(metricsRecorder.generateMetricsString());
}
}