AWS Step Functions

2024/04/25 - AWS Step Functions - 1 new api methods

Changes  Add new ValidateStateMachineDefinition operation, which performs syntax checking on the definition of a Amazon States Language (ASL) state machine.

ValidateStateMachineDefinition (new) Link ΒΆ

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.

See also: AWS API Documentation

Request Syntax

client.validate_state_machine_definition(
    definition='string',
    type='STANDARD'|'EXPRESS'
)
type definition:

string

param definition:

[REQUIRED]

The Amazon States Language definition of the state machine. For more information, see Amazon States Language (ASL).

type type:

string

param type:

The target type of state machine for this definition. The default is STANDARD.

rtype:

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.