SFN / Client / validate_state_machine_definition
validate_state_machine_definition#
- SFN.Client.validate_state_machine_definition(**kwargs)#
Validates the syntax of a state machine definition.
You can validate that a state machine definition is correct without creating a state machine resource. Step Functions will implicitly perform the same syntax check when you invoke
CreateStateMachine
andUpdateStateMachine
. State machine definitions are specified using a JSON-based, structured language. For more information on Amazon States Language see Amazon States Language (ASL).Suggested uses for
ValidateStateMachineDefinition
:Integrate automated checks into your code review or Continuous Integration (CI) process to validate state machine definitions before starting deployments.
Run the validation from a Git pre-commit hook to check your state machine definitions before committing them to your source repository.
Note
Errors found in the state machine definition will be returned in the response as a list of diagnostic elements, rather than raise an exception.
See also: AWS API Documentation
Request Syntax
response = client.validate_state_machine_definition( definition='string', type='STANDARD'|'EXPRESS', severity='ERROR'|'WARNING', maxResults=123 )
- Parameters:
definition (string) –
[REQUIRED]
The Amazon States Language definition of the state machine. For more information, see Amazon States Language (ASL).
type (string) – The target type of state machine for this definition. The default is
STANDARD
.severity (string) – Minimum level of diagnostics to return.
ERROR
returns onlyERROR
diagnostics, whereasWARNING
returns bothWARNING
andERROR
diagnostics. The default isERROR
.maxResults (integer) –
The maximum number of diagnostics that are returned per call. The default and maximum value is 100. Setting the value to 0 will also use the default of 100.
If the number of diagnostics returned in the response exceeds
maxResults
, the value of thetruncated
field in the response will be set totrue
.
- Return type:
dict
- Returns:
Response Syntax
{ 'result': 'OK'|'FAIL', 'diagnostics': [ { 'severity': 'ERROR'|'WARNING', 'code': 'string', 'message': 'string', 'location': 'string' }, ], 'truncated': True|False }
Response Structure
(dict) –
result (string) –
The result value will be
OK
when no syntax errors are found, orFAIL
if the workflow definition does not pass verification.diagnostics (list) –
If the result is
OK
, this field will be empty. When there are errors, this field will contain an array of Diagnostic objects to help you troubleshoot.(dict) –
Describes an error found during validation. Validation errors found in the definition return in the response as diagnostic elements, rather than raise an exception.
severity (string) –
A value of
ERROR
means that you cannot create or update a state machine with this definition.code (string) –
Identifying code for the diagnostic.
message (string) –
Message describing the diagnostic condition.
location (string) –
Location of the issue in the state machine, if available.
For errors specific to a field, the location could be in the format:
/States/<StateName>/<FieldName>
, for example:/States/FailState/ErrorPath
.
truncated (boolean) –
The result value will be
true
if the number of diagnostics found in the workflow definition exceedsmaxResults
. When all diagnostics results are returned, the value will befalse
.
Exceptions
SFN.Client.exceptions.ValidationException