SFN / Client / update_state_machine
update_state_machine#
- SFN.Client.update_state_machine(**kwargs)#
- Updates an existing state machine by modifying its - definition,- roleArn, or- loggingConfiguration. Running executions will continue to use the previous- definitionand- roleArn. You must include at least one of- definitionor- roleArnor you will receive a- MissingRequiredParametererror.- A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN - arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabelrefers to a Distributed Map state with a label- mapStateLabelin the state machine named- stateMachineName.- A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN. - The following are some examples of qualified and unqualified state machine ARNs: - The following qualified state machine ARN refers to a Distributed Map state with a label - mapStateLabelin a state machine named- myStateMachine.- arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel
 - Note- If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with - ValidationException.- The following qualified state machine ARN refers to an alias named - PROD.- arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine:PROD>
 - Note- If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias. - The following unqualified state machine ARN refers to a state machine named - myStateMachine.- arn:<partition>:states:<region>:<account-id>:stateMachine:<myStateMachine>
 - After you update your state machine, you can set the - publishparameter to- truein the same action to publish a new version. This way, you can opt-in to strict versioning of your state machine.- Note- Step Functions assigns monotonically increasing integers for state machine versions, starting at version number 1. - Note- All - StartExecutioncalls within a few seconds use the updated- definitionand- roleArn. Executions started immediately after you call- UpdateStateMachinemay use the previous state machine- definitionand- roleArn.- See also: AWS API Documentation - Request Syntax- response = client.update_state_machine( stateMachineArn='string', definition='string', roleArn='string', loggingConfiguration={ 'level': 'ALL'|'ERROR'|'FATAL'|'OFF', 'includeExecutionData': True|False, 'destinations': [ { 'cloudWatchLogsLogGroup': { 'logGroupArn': 'string' } }, ] }, tracingConfiguration={ 'enabled': True|False }, publish=True|False, versionDescription='string' ) - Parameters:
- stateMachineArn (string) – - [REQUIRED] - The Amazon Resource Name (ARN) of the state machine. 
- definition (string) – The Amazon States Language definition of the state machine. See Amazon States Language. 
- roleArn (string) – The Amazon Resource Name (ARN) of the IAM role of the state machine. 
- loggingConfiguration (dict) – - Use the - LoggingConfigurationdata type to set CloudWatch Logs options.- level (string) – - Defines which category of execution history events are logged. 
- includeExecutionData (boolean) – - Determines whether execution data is included in your log. When set to - false, data is excluded.
- destinations (list) – - An array of objects that describes where your execution history events will be logged. Limited to size 1. Required, if your log level is not set to - OFF.- (dict) – - cloudWatchLogsLogGroup (dict) – - An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the CloudFormation User Guide. - logGroupArn (string) – - The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with - :*
 
 
 
 
- tracingConfiguration (dict) – - Selects whether X-Ray tracing is enabled. - enabled (boolean) – - When set to - true, X-Ray tracing is enabled.
 
- publish (boolean) – Specifies whether the state machine version is published. The default is - false. To publish a version after updating the state machine, set- publishto- true.
- versionDescription (string) – - An optional description of the state machine version to publish. - You can only specify the - versionDescriptionparameter if you’ve set- publishto- true.
 
- Return type:
- dict 
- Returns:
- Response Syntax- { 'updateDate': datetime(2015, 1, 1), 'revisionId': 'string', 'stateMachineVersionArn': 'string' } - Response Structure- (dict) – - updateDate (datetime) – - The date and time the state machine was updated. 
- revisionId (string) – - The revision identifier for the updated state machine. 
- stateMachineVersionArn (string) – - The Amazon Resource Name (ARN) of the published state machine version. - If the - publishparameter isn’t set to- true, this field returns null.
 
 
 - Exceptions- SFN.Client.exceptions.InvalidArn
- SFN.Client.exceptions.InvalidDefinition
- SFN.Client.exceptions.InvalidLoggingConfiguration
- SFN.Client.exceptions.InvalidTracingConfiguration
- SFN.Client.exceptions.MissingRequiredParameter
- SFN.Client.exceptions.StateMachineDeleting
- SFN.Client.exceptions.StateMachineDoesNotExist
- SFN.Client.exceptions.ServiceQuotaExceededException
- SFN.Client.exceptions.ConflictException
- SFN.Client.exceptions.ValidationException