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.

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

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 .