updateStateMachine method
- required String stateMachineArn,
- String? definition,
- LoggingConfiguration? loggingConfiguration,
- String? roleArn,
- TracingConfiguration? tracingConfiguration,
Updates an existing state machine by modifying its
definition
, roleArn
, or
loggingConfiguration
. Running executions will continue to use
the previous definition
and roleArn
. You must
include at least one of definition
or roleArn
or
you will receive a MissingRequiredParameter
error.
May throw InvalidArn. May throw InvalidDefinition. May throw InvalidLoggingConfiguration. May throw InvalidTracingConfiguration. May throw MissingRequiredParameter. May throw StateMachineDeleting. May throw StateMachineDoesNotExist.
Parameter stateMachineArn
:
The Amazon Resource Name (ARN) of the state machine.
Parameter definition
:
The Amazon States Language definition of the state machine. See Amazon
States Language.
Parameter loggingConfiguration
:
The LoggingConfiguration
data type is used to set CloudWatch
Logs options.
Parameter roleArn
:
The Amazon Resource Name (ARN) of the IAM role of the state machine.
Parameter tracingConfiguration
:
Selects whether AWS X-Ray tracing is enabled.
Implementation
Future<UpdateStateMachineOutput> updateStateMachine({
required String stateMachineArn,
String? definition,
LoggingConfiguration? loggingConfiguration,
String? roleArn,
TracingConfiguration? tracingConfiguration,
}) async {
ArgumentError.checkNotNull(stateMachineArn, 'stateMachineArn');
_s.validateStringLength(
'stateMachineArn',
stateMachineArn,
1,
256,
isRequired: true,
);
_s.validateStringLength(
'definition',
definition,
1,
1048576,
);
_s.validateStringLength(
'roleArn',
roleArn,
1,
256,
);
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.0',
'X-Amz-Target': 'AWSStepFunctions.UpdateStateMachine'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'stateMachineArn': stateMachineArn,
if (definition != null) 'definition': definition,
if (loggingConfiguration != null)
'loggingConfiguration': loggingConfiguration,
if (roleArn != null) 'roleArn': roleArn,
if (tracingConfiguration != null)
'tracingConfiguration': tracingConfiguration,
},
);
return UpdateStateMachineOutput.fromJson(jsonResponse.body);
}