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 and UpdateStateMachine. 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'
)
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.

Return type:

dict

Returns:

Response Syntax

{
    'result': 'OK'|'FAIL',
    'diagnostics': [
        {
            'severity': 'ERROR',
            'code': 'string',
            'message': 'string',
            'location': 'string'
        },
    ]
}

Response Structure

  • (dict) –

    • result (string) –

      The result value will be OK when no syntax errors are found, or FAIL 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.

Exceptions