Introduction
Globus Flows provides users with the ability to easily define compositions of actions (henceforth referred to as flows) to perform a single, logical operation. The method for defining such flows must be easy to read, author, and potentially visualize. For this purpose, the Flows service starts from the core of the Amazon States Language. In particular, the general structure of a flow matches that of a States Language state machine in particular matching the requirements defined for Top-Level Fields including the properties:
-
States
-
StartAt
-
Comment
Additionally, general concepts from the States Language and its method of managing state for the state machine/flow are maintained.
Concepts such as Input and Output Processing are handled in the same manner (see note below for an important exception).
In particular, paths within the state of the flow are referenced with a $.
prefix just as defined in the States Language.
The following state types are supported in flows in nearly (see note below) the same manner as defined in the States Language:
The exception is the use of the OutputPath
property in the Pass
or Choice
states.
OutputPath
is not allowed in a flow definition.
Instead, the ResultPath
must always be used to specify where the result of a state execution will be stored into the state of the flow.
Other state types defined in the Amazon States Language are not supported and will be rejected on creation or update of a flow with the Globus Flows service.
The Flows service adds two new state types Action
and ExpressionEval
for invoking actions and updating the state of a running flow via an expression language.
These are defined below.