Creates a flow.
Operation description
Description
-
The number of flows that each user can create is subject to resource limits. For more information, see Limits. If you have special requirements, submit a ticket to request a limit adjustment.
-
Flows are uniquely identified by name within an account. Therefore, you cannot create multiple flows with the same name under a single account.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
fnf:CreateFlow |
create |
*Flow
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| Name |
string |
Yes |
The name of the flow. The name must be unique within the same region and cannot be changed after the flow is created. The name must meet the following requirements:
|
my_flow_name |
| Definition |
string |
Yes |
The definition of the flow. It must comply with the Flow Definition Language (FDL) syntax. For forward compatibility, the system supports two versions of the flow definition specification. Note
In the example flow definitions, Name: my_flow_name refers to the flow name and must be the same as the Name input parameter. |
Legacy version: " type: flow version: v1 name: my_flow_name steps: - type: pass name: mypass " New version: " Type: StateMachine SpecVersion: v1 Name: my_flow_name StartAt: my_state States: - Type: Pass Name: my_state End: true " |
| Description |
string |
Yes |
The description of the flow. |
my test flow |
| Type |
string |
Yes |
The type of the flow. The value must be FDL. Valid values:
|
FDL |
| RoleArn |
string |
No |
The resource descriptor for the role that the flow relies on for execution. When the flow runs, Serverless Workflow assumes this role (AssumeRole) to operate on related flow resources. |
acs:ram:${region}:${accountID}:${role} |
| ExternalStorageLocation |
string |
No |
The external storage location. |
/path |
| ExecutionMode |
string |
No |
The execution mode. This is an enumeration type. Valid values are Express and Standard. For forward compatibility, an empty string is treated as the Standard execution mode. Valid values:
|
Standard |
| Environment |
object |
No |
The environment context that the flow can access during execution. |
|
| Variables |
array<object> |
No |
A list of environment variables that the flow can access during execution. |
|
|
object |
No |
A list of variables that the flow can access during execution. |
||
| Name |
string |
No |
The variable name. |
key |
| Value |
string |
No |
The variable value. |
value |
| Description |
string |
No |
The variable description. |
description |
| ResourceGroupId |
string |
No |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
The returned data. |
||
| Type |
string |
The type of the flow. Valid values:
|
FDL |
| Definition |
string |
The definition of the flow. For forward compatibility, the system supports two versions of the flow definition specification. |
Legacy version: "type: flow\nversion: v1\nname: my_flow_name\nsteps:\n - type: pass\n name: mypass" New version: "Type: StateMachine\nSpecVersion: v1\nName: my_flow_name\nStartAt: my_state\nStates:\n - Type: Pass\n Name: my_state\n End: true" |
| RoleArn |
string |
The resource descriptor for the role that the flow relies on for execution. When the flow runs, Serverless Workflow assumes this role (AssumeRole) to operate on related flow resources. |
acs:ram:${region}:${accountID}:${role} |
| RequestId |
string |
The request ID. Serverless Workflow returns a request ID for every request that receives an |
testRequestID |
| Description |
string |
The description of the flow. |
my test flow |
| Name |
string |
The name of the flow. |
my_flow_name |
| CreatedTime |
string |
The time when the flow was created. |
2019-01-01T01:01:01.001Z |
| LastModifiedTime |
string |
The time when the flow was last modified. |
2019-01-01T01:01:01.001Z |
| Id |
string |
The unique ID of the flow. |
e589e092-e2c0-4dee-b306-3574ddfdddf5**** |
| ExecutionMode |
string |
The execution mode. This is an enumeration type. Valid values are Express and Standard. For forward compatibility, this field can be an empty string, which is treated as the Standard mode. |
Standard |
| Environment |
object |
A list of variables that the flow can access during execution. |
|
| Variables |
array<object> |
A list of variables that the flow can access during execution. |
|
|
object |
A list of variables that the flow can access during execution. |
||
| Name |
string |
The variable name. |
key |
| Value |
string |
The variable value. |
value |
| Description |
string |
The variable description. |
description |
| ResourceGroupId |
string |
rg-xxx |
Examples
Success response
JSON format
{
"Type": "FDL",
"Definition": "Legacy version:\n\"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n - type: pass\\n name: mypass\"\n\nNew version:\n\"Type: StateMachine\\nSpecVersion: v1\\nName: my_flow_name\\nStartAt: my_state\\nStates:\\n - Type: Pass\\n Name: my_state\\n End: true\"",
"RoleArn": "acs:ram:${region}:${accountID}:${role}",
"RequestId": "testRequestID",
"Description": "my test flow",
"Name": "my_flow_name",
"CreatedTime": "2019-01-01T01:01:01.001Z",
"LastModifiedTime": "2019-01-01T01:01:01.001Z",
"Id": "e589e092-e2c0-4dee-b306-3574ddfdddf5****",
"ExecutionMode": "Standard",
"Environment": {
"Variables": [
{
"Name": "key",
"Value": "value",
"Description": "description"
}
]
},
"ResourceGroupId": "rg-xxx"
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | ActionNotSupported | The requested API operation '%s' is incorrect. Please check. | |
| 400 | APIVersionNotSupported | The requested API version '%s' is not supported yet. Please check. | |
| 400 | EntityTooLarge | The payload size exceeds maximum allowed size (%s bytes). | The payload size exceeds maximum allowed size (%s bytes). |
| 400 | InvalidArgument | Parameter error. | Parameter error. |
| 400 | MissingRequiredHeader | The HTTP header '%s' must be specified. | The HTTP header '%s' must be specified. |
| 400 | MissingRequiredParams | The HTTP query '%s' must be specified. | The HTTP query '%s' must be specified. |
| 500 | InternalServerError | An internal error has occurred. Please retry. | An internal error has occurred. Please retry. |
| 403 | AccessDenied | The resources doesn't belong to you. | |
| 403 | InvalidAccessKeyID | The AccessKey ID %s is invalid. | The AccessKey ID %s is invalid. |
| 403 | RequestTimeTooSkewed | The difference between the request time %s and the current time %s is too large. | The difference between the request time %s and the current time %s is too large. |
| 403 | SignatureNotMatch | The request signature we calculated does not match the signature you provided. Check your access key and signing method. | The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm. |
| 415 | UnsupportedMediaType | The content type must be "application/json". | The content type must be "application/json". |
| 429 | ResourceThrottled | The request is throttled. Please try again later. | The request is throttled. Please try again later. |
| 409 | FlowAlreadyExists | Flow %s already exists. | Flow %s already exists. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.