From 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Sun, 12 Jul 2026 17:11:17 +0800 Subject: update APIs 20260712 --- data/en_us/fnf/2019-03-15/api-docs.php | 6981 ++++++++++++-------------------- 1 file changed, 2630 insertions(+), 4351 deletions(-) (limited to 'data/en_us/fnf/2019-03-15/api-docs.php') diff --git a/data/en_us/fnf/2019-03-15/api-docs.php b/data/en_us/fnf/2019-03-15/api-docs.php index 2768903..9aff4db 100644 --- a/data/en_us/fnf/2019-03-15/api-docs.php +++ b/data/en_us/fnf/2019-03-15/api-docs.php @@ -1,219 +1,43 @@ '1.0', - 'info' => [ - 'style' => 'RPC', - 'product' => 'fnf', - 'version' => '2019-03-15', - ], + 'info' => ['style' => 'RPC', 'product' => 'fnf', 'version' => '2019-03-15'], 'directories' => [ [ - 'id' => 308092, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'DescribeRegions', - ], - ], - [ - 'id' => 308094, - 'title' => null, - 'type' => 'directory', 'children' => [ - 'CreateFlow', - 'DeleteFlow', - 'UpdateFlow', 'DescribeFlow', - 'ListFlows', - [ - 'id' => 308100, - 'title' => null, - 'type' => 'directory', - 'children' => [ - 'PublishFlowVersion', - 'ListFlowVersions', - 'DeleteFlowVersion', - ], - ], [ - 'id' => 308104, - 'title' => null, + 'children' => ['ListFlowAliases', 'CreateFlowAlias', 'DescribeFlowAlias', 'UpdateFlowAlias', 'DeleteFlowAlias'], 'type' => 'directory', - 'children' => [ - 'ListFlowAliases', - 'CreateFlowAlias', - 'DescribeFlowAlias', - 'UpdateFlowAlias', - 'DeleteFlowAlias', - ], + 'title' => 'Flow alias', ], ], + 'type' => 'directory', + 'title' => 'Flow', ], [ - 'id' => 308110, - 'title' => null, + 'children' => ['StartExecution', 'StopExecution', 'DescribeExecution', 'ListExecutions', 'StartSyncExecution', 'DescribeMapRun', 'UpdateMapRun'], 'type' => 'directory', - 'children' => [ - 'StartExecution', - 'StopExecution', - 'DescribeExecution', - 'ListExecutions', - 'GetExecutionHistory', - 'StartSyncExecution', - 'DescribeMapRun', - 'UpdateMapRun', - ], + 'title' => 'Execution', ], [ - 'id' => 308119, - 'title' => null, + 'children' => ['CreateSchedule'], 'type' => 'directory', - 'children' => [ - 'ReportTaskFailed', - 'ReportTaskSucceeded', - ], + 'title' => 'Timed scheduling', ], [ - 'id' => 308122, - 'title' => null, + 'children' => ['CreateFlow', 'DeleteFlow', 'DeleteFlowVersion', 'DeleteSchedule', 'DescribeRegions', 'DescribeSchedule', 'GetExecutionHistory', 'ListFlowVersions', 'ListFlows', 'ListSchedules', 'PublishFlowVersion', 'ReportTaskFailed', 'ReportTaskSucceeded', 'UpdateFlow', 'UpdateSchedule'], + 'title' => 'Others', 'type' => 'directory', - 'children' => [ - 'CreateSchedule', - 'DeleteSchedule', - 'UpdateSchedule', - 'DescribeSchedule', - 'ListSchedules', - ], ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'DescribeRegions' => [ - 'summary' => 'Queries the regions where CloudFlow is available.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '264118', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'AcceptLanguage', - 'in' => 'formData', - 'schema' => [ - 'title' => '根据汉语、英语筛选返回结果。更多详情,请参见RFC 7231。取值范围:'."\n" - ."\n" - .'zh-CN:简体中文。'."\n" - .'en-US:英文。'."\n" - .'默认值:zh-CN。', - 'type' => 'string', - 'required' => false, - 'example' => 'zh-CN', - 'default' => 'zh-CN', - 'enum' => [ - 'zh-CN', - 'en-US', - ], - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '', - 'type' => 'string', - 'example' => '0aa3f793-6e5f-8472-c7a2-70d2b84c04ac', - ], - 'Regions' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Region' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RegionId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-qingdao', - ], - 'RegionEndpoint' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cn-qingdao.fnf.aliyuncs.com', - ], - 'LocalName' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation %s is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version %s is not supported yet. Please check.', - ], - ], - 403 => [ - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], - ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0aa3f793-6e5f-8472-c7a2-70d2b84c04ac\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"RegionEndpoint\\": \\"cn-qingdao.fnf.aliyuncs.com\\",\\n \\"LocalName\\": \\"华北1(青岛)\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeRegions', - ], 'CreateFlow' => [ 'summary' => 'Creates a flow.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -226,97 +50,86 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '98854', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], ], 'parameters' => [ [ 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the flow. The name is unique within the same region and cannot be modified after the flow is created. Set this parameter based on the following rules:'."\n" - ."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* The name is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'flow', - ], + 'schema' => ['description' => '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:'."\n" + ."\n" + .'- It can contain letters (a to z and A to Z), digits (0 to 9), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'- It must start with a letter or an underscore (\\_).'."\n" + ."\n" + .'- It is case-sensitive.'."\n" + ."\n" + .'- It must be 1 to 128 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], ], [ 'name' => 'Definition', 'in' => 'formData', - 'schema' => [ - 'description' => 'The definition of the workflow. The definition must comply with the flow definition language (FDL) syntax. Considering compatibility, the system supports two flow definition specifications.'."\n" - ."\n" - .'> In the preceding flow definition example, Name:my_flow_name is the workflow name, which must be consistent with the input parameter Name'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'version: v1.0
type: flow
steps:
 - type: pass
 name: mypass', - ], + 'schema' => ['description' => '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.'."\n" + ."\n" + .'> In the example flow definitions, Name: my\\_flow\\_name refers to the flow name and must be the same as the Name input parameter.', 'type' => 'string', 'example' => 'Legacy version:'."\n" + .'"'."\n" + .'type: flow'."\n" + .'version: v1'."\n" + .'name: my_flow_name'."\n" + .'steps:'."\n" + .' - type: pass'."\n" + .' name: mypass'."\n" + .'"'."\n" + ."\n" + .'New version:'."\n" + .'"'."\n" + .'Type: StateMachine'."\n" + .'SpecVersion: v1'."\n" + .'Name: my_flow_name'."\n" + .'StartAt: my_state'."\n" + .'States:'."\n" + .' - Type: Pass'."\n" + .' Name: my_state'."\n" + .' End: true'."\n" + .'"', 'required' => true, 'docRequired' => true, 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the flow.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'test flow', - ], + 'schema' => ['description' => 'The description of the flow.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my test flow', 'title' => ''], ], [ 'name' => 'Type', 'in' => 'formData', 'schema' => [ - 'description' => 'The type of the flow. Set this parameter to **FDL**.'."\n", + 'description' => 'The type of the flow. The value must be **FDL**.', + 'enumValueTitles' => ['FDL' => 'Flow Definition Language'], 'type' => 'string', 'required' => true, 'docRequired' => true, - 'enumValueTitles' => [ - 'FDL' => '', - ], 'example' => 'FDL', + 'title' => '', ], ], [ 'name' => 'RoleArn', 'in' => 'formData', - 'schema' => [ - 'description' => 'The Alibaba Cloud resource name (ARN) of the authorized role on which the execution of the flow relies. During the execution of the flow, CloudFlow assumes the role to call API operations of relevant services.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram:${region}:${accountID}:${role}', - ], + 'schema' => ['description' => '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.', 'type' => 'string', 'required' => false, 'example' => 'acs:ram:${region}:${accountID}:${role}', 'title' => ''], ], [ 'name' => 'ExternalStorageLocation', 'in' => 'formData', - 'schema' => [ - 'description' => 'The path of the external storage.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/path', - ], + 'schema' => ['description' => 'The external storage location.', 'type' => 'string', 'required' => false, 'example' => '/path', 'title' => ''], ], [ 'name' => 'ExecutionMode', 'in' => 'formData', 'schema' => [ - 'title' => '执行模式,枚举类型,可以是Express和Standard,空串等价于Standard', - 'description' => 'The execution mode. Valid values: Express and Standard. Considering compatibility, an empty string is equivalent to the Standard execution mode.'."\n", + 'description' => '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.', + 'enumValueTitles' => ['Express' => 'The express execution mode', 'Standard' => 'The standard execution mode'], 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'Express' => '', - 'Standard' => '', - ], + 'title' => '', 'example' => 'Standard', ], ], @@ -325,1092 +138,531 @@ 'in' => 'formData', 'style' => 'json', 'schema' => [ - 'title' => '配置 Flow 执行期间可以访问的变量列表', 'type' => 'object', 'properties' => [ 'Variables' => [ - 'title' => '配置 Flow 执行期间可以访问的变量列表', 'type' => 'array', 'items' => [ - 'title' => '配置 Flow 执行期间可以访问的变量列表', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '变量名称', - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - 'example' => 'value', - ], - 'Description' => [ - 'title' => '变量描述', - 'type' => 'string', - 'example' => 'description', - ], + 'Name' => ['description' => 'The variable name.', 'type' => 'string', 'example' => 'key', 'title' => '', 'required' => false], + 'Value' => ['description' => 'The variable value.', 'type' => 'string', 'example' => 'value', 'title' => '', 'required' => false], + 'Description' => ['description' => 'The variable description.', 'type' => 'string', 'example' => 'description', 'title' => '', 'required' => false], ], + 'title' => '', + 'description' => 'A list of variables that the flow can access during execution.', + 'required' => false, + 'example' => '', ], + 'title' => '', + 'description' => 'A list of environment variables that the flow can access during execution.', + 'required' => false, + 'example' => '', ], ], + 'title' => '', + 'description' => 'The environment context that the flow can access during execution.', + 'required' => false, + 'example' => '', ], ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The schema of response.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ 'Type' => [ - 'description' => 'The type of the flow.'."\n" - ."\n" - .'Valid value:'."\n" - ."\n" - .'* FDL'."\n" - ."\n" - .' '."\n" - ."\n" - .' '."\n" - ."\n" - .' '."\n", + 'description' => 'The type of the flow.', + 'enumValueTitles' => ['FDL' => 'Flow Definition Language'], 'type' => 'string', - 'enumValueTitles' => [ - 'FDL' => '', - ], 'example' => 'FDL', - ], - 'Definition' => [ - 'description' => 'Considering compatibility, the system supports two flow definition specifications.'."\n", - 'type' => 'string', - 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', - ], - 'RoleArn' => [ - 'description' => 'The Alibaba Cloud resource name (ARN) of the authorized role on which the execution of the flow relies. During the execution of the flow, CloudFlow assumes the role to call API operations of relevant services.'."\n", - 'type' => 'string', - 'example' => 'acs:ram:${region}:${accountID}:${role}', - ], - 'RequestId' => [ - 'description' => 'The request ID. Each time an `HTTP status code` is returned, Serverless Workflow returns a value for the parameter.'."\n", - 'type' => 'string', - 'example' => 'testRequestID', - ], - 'Description' => [ - 'description' => 'The description of the flow.'."\n", - 'type' => 'string', - 'example' => 'test flow', - ], - 'Name' => [ - 'description' => 'The name of the flow.'."\n", - 'type' => 'string', - 'example' => 'flow', - ], - 'CreatedTime' => [ - 'description' => 'The time when the flow was created.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'LastModifiedTime' => [ - 'description' => 'The time when the flow was last modified.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'Id' => [ - 'description' => 'The unique ID of the flow.'."\n", - 'type' => 'string', - 'example' => 'e589e092-e2c0-4dee-b306-3574ddfdddf5****', - ], - 'ExecutionMode' => [ - 'title' => '执行模式,枚举类型,可以是Express和Standard,空串等价于Standard', - 'description' => 'The execution mode. Valid values: Express and Standard. Considering compatibility, an empty string is equivalent to the Standard execution mode.'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], + 'title' => '', + ], + 'Definition' => ['description' => 'The definition of the flow. For forward compatibility, the system supports two versions of the flow definition specification.', 'type' => 'string', 'example' => 'Legacy version:'."\n" + .'"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n - type: pass\\n name: mypass"'."\n" + ."\n" + .'New version:'."\n" + .'"Type: StateMachine\\nSpecVersion: v1\\nName: my_flow_name\\nStartAt: my_state\\nStates:\\n - Type: Pass\\n Name: my_state\\n End: true"', 'title' => ''], + 'RoleArn' => ['description' => '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.', 'type' => 'string', 'example' => 'acs:ram:${region}:${accountID}:${role}', 'title' => ''], + 'RequestId' => ['description' => 'The request ID. Serverless Workflow returns a request ID for every request that receives an `http status code`.', 'type' => 'string', 'example' => 'testRequestID', 'title' => ''], + 'Description' => ['description' => 'The description of the flow.', 'type' => 'string', 'example' => 'my test flow', 'title' => ''], + 'Name' => ['description' => 'The name of the flow.', 'type' => 'string', 'example' => 'my_flow_name', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the flow was created.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'LastModifiedTime' => ['description' => 'The time when the flow was last modified.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'Id' => ['description' => 'The unique ID of the flow.', 'type' => 'string', 'example' => 'e589e092-e2c0-4dee-b306-3574ddfdddf5****', 'title' => ''], + 'ExecutionMode' => ['description' => '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.', 'type' => 'string', 'title' => '', 'example' => 'Standard'], 'Environment' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', 'type' => 'object', 'properties' => [ 'Variables' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', 'type' => 'array', 'items' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '变量名称', - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - 'example' => 'value', - ], - 'Description' => [ - 'title' => '变量描述', - 'type' => 'string', - 'example' => 'description', - ], + 'Name' => ['description' => 'The variable name.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'The variable value.', 'type' => 'string', 'example' => 'value', 'title' => ''], + 'Description' => ['description' => 'The variable description.', 'type' => 'string', 'example' => 'description', 'title' => ''], ], + 'title' => '', + 'description' => 'A list of variables that the flow can access during execution.', + 'example' => '', ], + 'title' => '', + 'description' => 'A list of variables that the flow can access during execution.', + 'example' => '', ], ], + 'description' => 'A list of variables that the flow can access during execution.', + 'title' => '', + 'example' => '', ], + 'ResourceGroupId' => ['type' => 'string', 'example' => 'rg-xxx', 'description' => '', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], ], 409 => [ - [ - 'errorCode' => 'FlowAlreadyExists', - 'errorMessage' => 'Flow %s already exists.', - ], + ['errorCode' => 'FlowAlreadyExists', 'errorMessage' => 'Flow %s already exists.', 'description' => 'Flow %s already exists.'], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], ], 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Type\\": \\"FDL\\",\\n \\"Definition\\": \\"旧版:\\\\n\\\\\\"type: flow\\\\\\\\nversion: v1\\\\\\\\nname: my_flow_name\\\\\\\\nsteps:\\\\\\\\n - type: pass\\\\\\\\n name: mypass\\\\\\"\\\\n\\\\n新版:\\\\n\\\\\\"Type: StateMachine\\\\\\\\nSpecVersion: v1\\\\\\\\nName: my_flow_name\\\\\\\\nStartAt: my_state\\\\\\\\nStates:\\\\\\\\n - Type: Pass\\\\\\\\n Name: my_state\\\\\\\\n End: true\\\\\\"\\",\\n \\"RoleArn\\": \\"acs:ram:${region}:${accountID}:${role}\\",\\n \\"RequestId\\": \\"testRequestID\\",\\n \\"Description\\": \\"my test flow\\",\\n \\"Name\\": \\"my_flow_name\\",\\n \\"CreatedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Id\\": \\"e589e092-e2c0-4dee-b306-3574ddfdddf5****\\",\\n \\"ExecutionMode\\": \\"Standard\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\",\\n \\"Description\\": \\"description\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Type\\": \\"FDL\\",\\n \\"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\\\\\\"\\",\\n \\"RoleArn\\": \\"acs:ram:${region}:${accountID}:${role}\\",\\n \\"RequestId\\": \\"testRequestID\\",\\n \\"Description\\": \\"my test flow\\",\\n \\"Name\\": \\"my_flow_name\\",\\n \\"CreatedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Id\\": \\"e589e092-e2c0-4dee-b306-3574ddfdddf5****\\",\\n \\"ExecutionMode\\": \\"Standard\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\",\\n \\"Description\\": \\"description\\"\\n }\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-xxx\\"\\n}","type":"json"}]', 'title' => 'CreateFlow', - 'description' => '## [](#)Usage notes'."\n" + 'description' => '## Description'."\n" + ."\n" + .'- The number of flows that each user can create is subject to resource limits. For more information, see [Limits](~~122093~~). If you have special requirements, submit a ticket to request a limit adjustment.'."\n" ."\n" - .'* The number of flows that each user can create is restricted by resources. For more information, see [Limits](~~122093~~). If you want to create more flows, submit a ticket.'."\n" - .'* At the user level, flows are distinguished by name. The name of a flow within one account must be unique.'."\n", + .'- Flows are uniquely identified by name within an account. Therefore, you cannot create multiple flows with the same name under a single account.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteFlow' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'fnf:CreateFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'Flow', 'arn' => 'acs:fnf:{#regionId}:{#accountId}:flow/*'], + ], + ], + ], ], + 'translator' => 'machine', + ], + 'CreateFlowAlias' => [ + 'summary' => 'Creates an alias for a flow. You can then use the alias to start an execution.', + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '98856', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ + [ + 'name' => 'FlowName', + 'in' => 'formData', + 'schema' => ['type' => 'string', 'required' => true, 'title' => '', 'description' => 'The flow name.', 'example' => 'example-flow-name'], + ], [ 'name' => 'Name', 'in' => 'formData', + 'schema' => ['type' => 'string', 'required' => true, 'title' => '', 'description' => 'The alias name.', 'example' => 'example-alias-name'], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The alias description.', 'required' => false, 'example' => 'example description'], + ], + [ + 'name' => 'RoutingConfigurations', + 'in' => 'formData', + 'style' => 'json', 'schema' => [ - 'description' => 'The name of the workflow that you want to delete.'."\n", - 'type' => 'string', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Version' => ['type' => 'string', 'title' => '', 'description' => 'The flow version.', 'required' => true, 'example' => '1'], + 'Weight' => ['type' => 'integer', 'format' => 'int32', 'title' => '', 'description' => 'The weight.', 'required' => true, 'example' => '30'], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'description' => 'The traffic distribution configuration for one or two flow versions. When you start an execution using the alias, the system uses the specified weights to select a flow version to execute.', 'required' => true, - 'docRequired' => true, - 'example' => 'flow', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', + 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'Id of the request', 'example' => 'testRequestID'], + 'FlowName' => ['type' => 'string', 'title' => '', 'description' => 'The flow name.', 'example' => 'example-flow-name'], + 'Name' => ['type' => 'string', 'title' => '', 'description' => 'The alias name.', 'example' => 'exampe-alias-name'], + 'Description' => ['type' => 'string', 'title' => '', 'description' => 'The alias description.', 'example' => 'example description'], + 'RoutingConfigurations' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Version' => ['type' => 'string', 'title' => '', 'description' => 'The flow version.', 'example' => '1'], + 'Weight' => ['type' => 'integer', 'format' => 'int32', 'title' => '', 'description' => 'The weight.', 'example' => '30'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The traffic distribution configuration for one or two flow versions. When you start an execution using the alias, the system uses the specified weights to select a flow version to execute.', + 'title' => '', + 'example' => '', ], + 'CreatedTime' => ['type' => 'string', 'title' => '', 'description' => 'The time when the alias was created.', 'example' => '2020-01-01T01:01:01.001Z'], ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'CreateFlowAlias', + 'description' => '## API description'."\n" + ."\n" + .'- The number of flows that you can create is limited by resources. For more information, see [Limits](~~122093~~). If you have special requirements, you can submit a ticket to request an adjustment.'."\n" + ."\n" + .'- Each flow must have a unique name within your account.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"testRequestID\\",\\n \\"FlowName\\": \\"example-flow-name\\",\\n \\"Name\\": \\"exampe-alias-name\\",\\n \\"Description\\": \\"example description\\",\\n \\"RoutingConfigurations\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Weight\\": 30\\n }\\n ],\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\"\\n}","type":"json"}]', + ], + 'CreateSchedule' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '98855', + 'abilityTreeNodes' => ['FEATUREfnf06LH4G'], + ], + 'parameters' => [ + [ + 'name' => 'FlowName', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the workflow to which the timed schedule is attached.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], ], [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - ], - 409 => [ - [ - 'errorCode' => 'ConcurrentUpdateError', - 'errorMessage' => 'Update conflict, please retry.', - ], - ], - 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', - ], - ], - 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"testRequestId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'DeleteFlow', - 'summary' => 'Deletes an existing flow.', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'A delete operation is asynchronous. If this operation is successful, the system returns a successful response. If an existing flow is pending to be deleted, a new flow of the same name will not be affected by the existing one. After you delete a flow, you cannot query its historical executions. All executions in progress will stop after their most recent steps are complete.'."\n", - ], - 'UpdateFlow' => [ - 'summary' => 'Updates a flow.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '98869', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], - ], - 'parameters' => [ - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the workflow.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'flow', - ], - ], - [ - 'name' => 'Definition', + 'name' => 'ScheduleName', 'in' => 'formData', - 'schema' => [ - 'description' => 'The definition of the workflow. The definition must comply with the flow definition language (FDL) syntax. Considering compatibility, the system supports the two workflow definition specifications.'."\n" - ."\n" - .'> In the preceding workflow definition example, Name:my_flow_name is the workflow name, which must be consistent with the input parameter Name'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', - ], + 'schema' => ['description' => 'The name of the timed schedule. The name must meet the following requirements:'."\n" + ."\n" + .'- It can contain letters (a-z and A-Z), digits (0-9), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'- It must start with a letter or an underscore (\\_).'."\n" + ."\n" + .'- It is case-sensitive.'."\n" + ."\n" + .'- It must be 1 to 128 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_schedule_name', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the flow.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test definition', - ], + 'schema' => ['description' => 'The description of the timed schedule.', 'type' => 'string', 'required' => false, 'example' => 'my test schedule', 'title' => ''], ], [ - 'name' => 'Type', + 'name' => 'Payload', 'in' => 'formData', - 'schema' => [ - 'description' => 'The type of the flow. Valid value: **FDL**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'FDL', - ], + 'schema' => ['description' => 'The trigger message of the timed schedule. The message must be in the JSON format.', 'type' => 'string', 'required' => false, 'example' => '{"key": "value"}', 'title' => ''], ], [ - 'name' => 'RoleArn', + 'name' => 'CronExpression', 'in' => 'formData', - 'schema' => [ - 'description' => 'The Alibaba Cloud resource name (ARN) of the authorized role on which the execution of the flow relies. During the execution of the flow, the flow execution engine assumes the role to call API operations of relevant services.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::${accountID}:${role}', - ], + 'schema' => ['description' => 'The cron expression.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '0 * * * * *', 'title' => ''], ], [ - 'name' => 'Environment', + 'name' => 'Enable', 'in' => 'formData', - 'style' => 'json', - 'schema' => [ - 'title' => '配置 Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Variables' => [ - 'title' => '配置 Flow 执行期间可以访问的变量列表', - 'type' => 'array', - 'items' => [ - 'title' => '配置 Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '变量名称', - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - 'example' => 'value', - ], - 'Description' => [ - 'title' => '变量描述', - 'type' => 'string', - 'example' => 'description', - ], - ], - ], - ], - ], - ], + 'schema' => ['description' => 'Specifies whether to enable the timed schedule. Valid values:'."\n" + ."\n" + .'- **true**: Enables the timed schedule.'."\n" + ."\n" + .'- **false**: Disables the timed schedule.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The schema of response.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the flow.'."\n", - 'type' => 'string', - 'example' => 'FDL', - ], - 'Definition' => [ - 'description' => 'The flow definition, which follows the FDL syntax standard. Considering compatibility, the system supports the two flow definition specifications.'."\n", - 'type' => 'string', - 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', - ], - 'RoleArn' => [ - 'description' => 'The Alibaba Cloud resource name (ARN) of the authorized role on which the execution of the flow relies. During the execution of the flow, the flow execution engine assumes the role to call API operations of relevant services.'."\n", - 'type' => 'string', - 'example' => 'acs:ram::${accountID}:${role}', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestID', - ], - 'Description' => [ - 'description' => 'The description of the flow.'."\n", - 'type' => 'string', - 'example' => 'test definition', - ], - 'ExternalStorageLocation' => [ - 'description' => 'The path of the external storage.'."\n", - 'type' => 'string', - 'example' => '/path', - ], - 'Name' => [ - 'description' => 'The name of the flow.'."\n", - 'type' => 'string', - 'example' => 'flow', - ], - 'CreatedTime' => [ - 'description' => 'The time when the flow was created.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'LastModifiedTime' => [ - 'description' => 'The time when the flow was last modified.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'Id' => [ - 'description' => 'The unique ID of the flow.'."\n", - 'type' => 'string', - 'example' => 'e589e092-e2c0-4dee-b306-3574ddfdddf5****', - ], - 'Environment' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Variables' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'array', - 'items' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '变量名称', - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - 'example' => 'value', - ], - 'Description' => [ - 'title' => '变量描述', - 'type' => 'string', - 'example' => 'description', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'Description' => ['description' => 'The description of the timed schedule.', 'type' => 'string', 'example' => 'test description', 'title' => ''], + 'ScheduleId' => ['description' => 'The ID of the timed schedule.', 'type' => 'string', 'example' => 'testScheduleId', 'title' => ''], + 'Payload' => ['description' => 'The trigger message of the timed schedule.', 'type' => 'string', 'example' => '{"key": "value"}', 'title' => ''], + 'ScheduleName' => ['description' => 'The name of the timed schedule.', 'type' => 'string', 'example' => 'testScheduleName', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the timed schedule was created.', 'type' => 'string', 'example' => '2020-01-01T01:01:01.001Z', 'title' => ''], + 'LastModifiedTime' => ['description' => 'The time when the timed schedule was last modified.', 'type' => 'string', 'example' => '2020-01-01T01:01:01.001Z', 'title' => ''], + 'CronExpression' => ['description' => 'The cron expression.', 'type' => 'string', 'example' => '0 * * * * *', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether the timed schedule is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], ], [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], ], 409 => [ - [ - 'errorCode' => 'ConcurrentUpdateError', - 'errorMessage' => 'Update conflict, please retry.', - ], - ], - 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', - ], - ], - 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], - ], - 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ConcurrentUpdateError', 'errorMessage' => 'Update conflict, please retry.', 'description' => 'Update conflict, please retry.'], + ['errorCode' => 'ScheduleAlreadyExists', 'errorMessage' => 'The schedule %s already exists in flow %s.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Type\\": \\"FDL\\",\\n \\"Definition\\": \\"旧版:\\\\n\\\\\\"type: flow\\\\\\\\nversion: v1\\\\\\\\nname: my_flow_name\\\\\\\\nsteps:\\\\\\\\n - type: pass\\\\\\\\n name: mypass\\\\\\"\\\\n\\\\n新版:\\\\n\\\\\\"Type: StateMachine\\\\\\\\nSpecVersion: v1\\\\\\\\nName: my_flow_name\\\\\\\\nStartAt: my_state\\\\\\\\nStates:\\\\\\\\n - Type: Pass\\\\\\\\n Name: my_state\\\\\\\\n End: true\\\\\\"\\",\\n \\"RoleArn\\": \\"acs:ram:${region}:${accountID}:${role}\\",\\n \\"RequestId\\": \\"testRequestID\\",\\n \\"Description\\": \\"my test flow\\",\\n \\"ExternalStorageLocation\\": \\"/path\\",\\n \\"Name\\": \\"my_flow_name\\",\\n \\"CreatedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Id\\": \\"e589e092-e2c0-4dee-b306-3574ddfdddf5****\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\",\\n \\"Description\\": \\"description\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'UpdateFlow', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeFlow' => [ - 'summary' => 'Queries the information about a flow.', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Description\\": \\"test description\\",\\n \\"ScheduleId\\": \\"testScheduleId\\",\\n \\"Payload\\": \\"{\\\\\\"key\\\\\\": \\\\\\"value\\\\\\"}\\",\\n \\"ScheduleName\\": \\"testScheduleName\\",\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"CronExpression\\": \\"0 * * * * *\\",\\n \\"Enable\\": true\\n}","type":"json"}]', + 'title' => 'CreateSchedule', + 'summary' => 'Creates a timed schedule.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'fnf:CreateSchedule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + ], + 'DeleteFlow' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '98859', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '98856', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the flow.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'flow', - ], - ], - [ - 'name' => 'FlowVersion', - 'in' => 'query', - 'schema' => [ - 'title' => '版本', - 'type' => 'string', - 'example' => '1', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The name of the workflow that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'flow', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'Schema of response.'."\n", + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the workflow.'."\n", - 'type' => 'string', - 'example' => 'FDL', - ], - 'Definition' => [ - 'description' => 'The definition of the workflow. The definition must comply with the flow definition language (FDL) syntax. Considering compatibility, the system supports the flow definition specifications of the old version and new version.'."\n", - 'type' => 'string', - 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', - ], - 'RoleArn' => [ - 'description' => 'The Alibaba Cloud resource name (ARN) of the authorized role on which the execution of the flow relies. During the execution of the flow, CloudFlow assumes the role to call API operations of relevant services.'."\n", - 'type' => 'string', - 'example' => 'acs:ram::${accountID}:${role}', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'Description' => [ - 'description' => 'The description of the flow.'."\n", - 'type' => 'string', - 'example' => 'test flow', - ], - 'Name' => [ - 'description' => 'The name of the flow.'."\n", - 'type' => 'string', - 'example' => 'flow', - ], - 'CreatedTime' => [ - 'description' => 'The time when the flow was created.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'LastModifiedTime' => [ - 'description' => 'The time when the flow was last modified.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'Id' => [ - 'description' => 'The unique ID of the flow.'."\n", - 'type' => 'string', - 'example' => 'e589e092-e2c0-4dee-b306-3574ddfdddf5****', - ], - 'ExecutionMode' => [ - 'title' => '执行模式,枚举类型,可以是Express和Standard,空串等价于Standard', - 'description' => 'The execution mode or the enumeration type. Valid values: Express and Standard. A value of Standard indicates an empty string.'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - 'Environment' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Variables' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'array', - 'items' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '变量名称', - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - 'example' => 'value', - ], - 'Description' => [ - 'title' => '变量描述', - 'type' => 'string', - 'example' => 'description', - ], - ], - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], ], + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => ''], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => ''], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => ''], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => ''], ], [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => ''], + ], + 409 => [ + ['errorCode' => 'ConcurrentUpdateError', 'errorMessage' => 'Update conflict, please retry.', 'description' => ''], ], 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', - ], + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => ''], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], - ], - 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"testRequestId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'DeleteFlow', + 'summary' => 'Deletes an existing flow.', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'A delete operation is asynchronous. If this operation is successful, the system returns a successful response. If an existing flow is pending to be deleted, a new flow of the same name will not be affected by the existing one. After you delete a flow, you cannot query its historical executions. All executions in progress will stop after their most recent steps are complete.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'fnf:DeleteFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Type\\": \\"FDL\\",\\n \\"Definition\\": \\"旧版:\\\\n\\\\\\"\\\\ntype: flow\\\\nversion: v1\\\\nname: my_flow_name\\\\nsteps:\\\\n - type: pass\\\\n name: mypass\\\\n\\\\\\"\\\\n\\\\n新版:\\\\n\\\\\\"\\\\nType: StateMachine\\\\nSpecVersion: v1\\\\nName: my_flow_name\\\\nStartAt: my_state\\\\nStates:\\\\n - Type: Pass\\\\n Name: my_state\\\\n End: true\\\\n\\\\\\"\\",\\n \\"RoleArn\\": \\"acs:ram:${region}:${accountID}:${role}\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Description\\": \\"my test flow\\",\\n \\"Name\\": \\"my_flow_name\\",\\n \\"CreatedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Id\\": \\"e589e092-e2c0-4dee-b306-3574ddfdddf5****\\",\\n \\"ExecutionMode\\": \\"Standard\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\",\\n \\"Description\\": \\"description\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'DescribeFlow', ], - 'ListFlows' => [ - 'summary' => 'Queries a list of flows.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteFlowAlias' => [ + 'summary' => 'Deletes a flow alias.', + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', + 'operationType' => 'delete', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '98863', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token to start the query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'flow_nextxxx', - ], + 'name' => 'FlowName', + 'in' => 'formData', + 'schema' => ['type' => 'string', 'description' => 'The name of the flow.', 'required' => true, 'title' => '', 'example' => 'my_flow_name'], ], [ - 'name' => 'Limit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of workflows that you want to query. Valid values: 1 - 999. Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['type' => 'string', 'description' => 'The name of the alias.', 'required' => true, 'title' => '', 'example' => 'alias_name'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The details of flows.'."\n", 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The start key for the next query. This parameter is not returned if all results have been returned.'."\n", - 'type' => 'string', - 'example' => 'flow_nextxxx', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'Flows' => [ - 'description' => 'The details of flows.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the flow.'."\n", - 'type' => 'string', - 'example' => 'FDL', - ], - 'Definition' => [ - 'description' => 'The definition of the flow. The definition must comply with the Flow Definition Language (FDL) syntax.'."\n", - 'type' => 'string', - 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', - ], - 'RoleArn' => [ - 'description' => 'The Alibaba Cloud resource name (ARN) of the specified Resource Access Management (RAM) role that Serverless Workflow assumes to invoke resources when the flow is executed.'."\n", - 'type' => 'string', - 'example' => 'acs:ram::${accountID}:${role}', - ], - 'Description' => [ - 'description' => 'The description of the flow.'."\n", - 'type' => 'string', - 'example' => 'test flow', - ], - 'Name' => [ - 'description' => 'The name of the flow.'."\n", - 'type' => 'string', - 'example' => 'flow', - ], - 'CreatedTime' => [ - 'description' => 'The time when the flow was created.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'LastModifiedTime' => [ - 'description' => 'The time when the flow was last modified.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'Id' => [ - 'description' => 'The unique ID of the flow.'."\n", - 'type' => 'string', - 'example' => 'e589e092-e2c0-4dee-b306-3574ddf5****', - ], - 'ExecutionMode' => [ - 'title' => '执行模式,枚举类型,可以是Express和Standard,空串等价于Standard', - 'description' => 'The execution mode or the enumeration type. Valid values: Express and Standard. A value of Standard indicates an empty string.'."\n", - 'type' => 'string', - 'example' => 'Standard', - ], - 'Environment' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Variables' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'array', - 'items' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Description' => [ - 'title' => '变量描述', - 'type' => 'string', - 'example' => 'description', - ], - 'Name' => [ - 'title' => '变量名称', - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - 'example' => 'value', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The ID of the request.', 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164'], ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], - ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], - ], - 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], - ], - 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteFlowAlias', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"flow_nextxxx\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Flows\\": [\\n {\\n \\"Type\\": \\"FDL\\",\\n \\"Definition\\": \\"version: v1.0\\\\\\\\ntype: flow\\\\\\\\nname: test\\\\\\\\nsteps:\\\\\\\\n - type: pass\\\\\\\\n name: mypass\\",\\n \\"RoleArn\\": \\"acs:ram::${accountID}:${role}\\",\\n \\"Description\\": \\"my test flow\\",\\n \\"Name\\": \\"my_flow_name\\",\\n \\"CreatedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Id\\": \\"e589e092-e2c0-4dee-b306-3574ddf5****\\",\\n \\"ExecutionMode\\": \\"Standard\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Description\\": \\"description\\",\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ]\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'ListFlows', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\"\\n}","type":"json"}]', + 'translator' => 'machine', ], - 'PublishFlowVersion' => [ - 'summary' => '发布流程版本', + 'DeleteFlowVersion' => [ + 'summary' => 'Deletes a flow version.', 'path' => '', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -1419,12 +671,10 @@ 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', + 'operationType' => 'delete', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -1432,271 +682,124 @@ [ 'name' => 'FlowName', 'in' => 'formData', - 'schema' => [ - 'title' => '流程名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'example-flow-name', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The name of the flow.', 'required' => true, 'example' => 'example-flow'], ], [ - 'name' => 'Description', + 'name' => 'FlowVersion', 'in' => 'formData', - 'schema' => [ - 'title' => '版本描述', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'example flow description', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The version of the flow.', 'required' => true, 'example' => '1'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '294D68C1-5108-5971-853A-1A9CC87B4816', - ], - 'FlowName' => [ - 'title' => '流程名称', - 'description' => '', - 'type' => 'string', - 'example' => 'my-flow-name', - ], - 'Version' => [ - 'title' => '流程版本', - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'Description' => [ - 'title' => '流程版本描述', - 'description' => '', - 'type' => 'string', - 'example' => 'my flow description', - ], - 'CreatedTime' => [ - 'title' => '创建时间', - 'description' => '', - 'type' => 'string', - 'example' => '2025-10-24T14:11:26+08:00', - ], + 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The ID of the request.', 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164'], ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DeleteFlowVersion', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294D68C1-5108-5971-853A-1A9CC87B4816\\",\\n \\"FlowName\\": \\"my-flow-name\\",\\n \\"Version\\": \\"1\\",\\n \\"Description\\": \\"my flow description\\",\\n \\"CreatedTime\\": \\"2025-10-24T14:11:26+08:00\\"\\n}","type":"json"}]', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\"\\n}","type":"json"}]', ], - 'ListFlowVersions' => [ - 'summary' => '查询流程版本列表', - 'path' => '', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DeleteSchedule' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], - 'autoTest' => true, + 'operationType' => 'delete', + 'abilityTreeCode' => '98857', + 'abilityTreeNodes' => ['FEATUREfnf06LH4G'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'FlowName', - 'in' => 'query', - 'schema' => [ - 'title' => '流程名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'example-flow-name', - ], - ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'title' => 'list token', - 'description' => 'list token', - 'type' => 'string', - 'required' => false, - 'example' => 'token', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The name of the workflow with which the scheduling task that you want to delete is associated.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testFlowName', 'title' => ''], ], [ - 'name' => 'Limit', - 'in' => 'query', - 'schema' => [ - 'title' => '返回的最大结果数量', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'name' => 'ScheduleName', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the scheduling task that you want to delete.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testScheduleName', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '294D68C1-5108-5971-853A-1A9CC87B4816', - ], - 'NextToken' => [ - 'title' => 'list token', - 'description' => 'list token', - 'type' => 'string', - 'example' => 'token', - ], - 'FlowVersions' => [ - 'title' => '流程版本列表', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Version' => [ - 'title' => '版本名称', - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'Description' => [ - 'title' => '版本描述', - 'description' => '', - 'type' => 'string', - 'example' => 'version description', - ], - 'CreatedTime' => [ - 'title' => '创建时间', - 'description' => '', - 'type' => 'string', - 'example' => '2025-10-24T14:11:26+08:00', - ], - ], - ], - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], ], + 'title' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294D68C1-5108-5971-853A-1A9CC87B4816\\",\\n \\"NextToken\\": \\"token\\",\\n \\"FlowVersions\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Description\\": \\"version description\\",\\n \\"CreatedTime\\": \\"2025-10-24T14:11:26+08:00\\"\\n }\\n ]\\n}","type":"json"}]', - ], - 'DeleteFlowVersion' => [ - 'summary' => '删除流程版本', - 'path' => '', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => ''], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => ''], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => ''], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ [ - 'name' => 'FlowName', - 'in' => 'formData', - 'schema' => [ - 'title' => '流程名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'example-flow', - ], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => ''], + ['errorCode' => 'ScheduleNotExists', 'errorMessage' => 'The schedule %s for flow %s does not exist.', 'description' => ''], ], - [ - 'name' => 'FlowVersion', - 'in' => 'formData', - 'schema' => [ - 'title' => '流程版本', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], + 409 => [ + ['errorCode' => 'ConcurrentUpdateError', 'errorMessage' => 'Update conflict, please retry.', 'description' => ''], + ], + 412 => [ + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => ''], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"testRequestId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'DeleteSchedule', + 'summary' => 'Deletes a time-based scheduling task.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'fnf:DeleteSchedule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\"\\n}","type":"json"}]', ], - 'ListFlowAliases' => [ - 'summary' => '查询流程版本别名列表', - 'path' => '', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DescribeExecution' => [ + 'summary' => 'Queries the status of an execution. This operation supports long polling. The WaitTimeSeconds parameter specifies the maximum wait time.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -1705,301 +808,304 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], - 'autoTest' => true, + 'abilityTreeCode' => '98858', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'FlowName', 'in' => 'query', - 'schema' => [ - 'title' => '流程名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'example-flow-name', - ], + 'schema' => ['description' => 'The name of the flow.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'ExecutionName', 'in' => 'query', - 'schema' => [ - 'title' => 'list token', - 'description' => 'list token', - 'type' => 'string', - 'required' => false, - 'example' => 'token', - ], + 'schema' => ['description' => 'The name of the execution.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_exec_name', 'title' => ''], ], [ - 'name' => 'Limit', + 'name' => 'WaitTimeSeconds', 'in' => 'query', - 'schema' => [ - 'title' => '最大返回的结果数量', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The maximum wait time for a long polling request, in seconds. Valid values: 0 to 60.'."\n" + ."\n" + .'- 0: The request immediately returns the current status of the execution.'."\n" + ."\n" + .'- A value greater than 0: The request waits on the server for the execution to complete. The maximum wait time is the value that you specify.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', - ], - 'NextToken' => [ - 'title' => 'list token', - 'description' => 'list token', - 'type' => 'string', - 'example' => 'testNextToken', - ], - 'Aliases' => [ - 'title' => '别名列表', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '别名名称', - 'description' => '', - 'type' => 'string', - 'example' => 'my-alias-name', - ], - 'Description' => [ - 'title' => '别名描述', - 'description' => '', - 'type' => 'string', - 'example' => 'my alias description', - ], - 'RoutingConfigurations' => [ - 'title' => '权重配置', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Version' => [ - 'title' => '版本', - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'Weight' => [ - 'title' => '权重', - 'description' => '', - 'type' => 'string', - 'example' => '20', - ], - ], + 'Status' => ['description' => 'The status of the execution. Valid values:'."\n" + ."\n" + .'- **Starting**'."\n" + ."\n" + .'- **Running**'."\n" + ."\n" + .'- **Stopped**'."\n" + ."\n" + .'- **Succeeded**'."\n" + ."\n" + .'- **Failed**'."\n" + ."\n" + .'- **TimedOut**', 'type' => 'string', 'example' => 'Succeeded', 'title' => ''], + 'StoppedTime' => ['description' => 'The time when the execution stopped.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'StartedTime' => ['description' => 'The time when the execution started.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'FlowDefinition' => ['description' => 'The definition of the executed flow.', 'type' => 'string', 'example' => 'Legacy version:'."\n" + .'"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n - type: pass\\n name: mypass"'."\n" + ."\n" + .'New version:'."\n" + .'"Type: StateMachine\\nSpecVersion: v1\\nName: my_flow_name\\nStartAt: my_state\\nStates:\\n - Type: Pass\\n Name: my_state\\n End: true"', 'title' => ''], + 'Output' => ['description' => 'The output of the execution, in JSON format.', 'type' => 'string', 'example' => '{"key":"value"}', 'title' => ''], + 'FlowName' => ['description' => 'The name of the flow.', 'type' => 'string', 'example' => 'my_flow_name', 'title' => ''], + 'Name' => ['description' => 'The name of the execution.', 'type' => 'string', 'example' => 'my_exec_name', 'title' => ''], + 'Input' => ['description' => 'The input of the execution, in JSON format.', 'type' => 'string', 'example' => '{"key":"value"}', 'title' => ''], + 'Environment' => [ + 'type' => 'object', + 'properties' => [ + 'Variables' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the variable.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'The value of the variable.', 'type' => 'string', 'example' => 'value', 'title' => ''], ], + 'title' => '', + 'description' => 'The list of variables that can be accessed during the flow execution.', + 'example' => '', ], - 'CreatedTime' => [ - 'title' => '创建时间', - 'description' => '', - 'type' => 'string', - 'example' => '2025-10-24T14:11:26+08:00', - ], + 'title' => '', + 'description' => 'The list of environment variables used during the flow execution.', + 'example' => '', ], ], + 'description' => 'The list of environment variables used during the flow execution.', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\",\\n \\"NextToken\\": \\"testNextToken\\",\\n \\"Aliases\\": [\\n {\\n \\"Name\\": \\"my-alias-name\\",\\n \\"Description\\": \\"my alias description\\",\\n \\"RoutingConfigurations\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Weight\\": \\"20\\"\\n }\\n ],\\n \\"CreatedTime\\": \\"2025-10-24T14:11:26+08:00\\"\\n }\\n ]\\n}","type":"json"}]', - ], - 'CreateFlowAlias' => [ - 'summary' => '创建流程版本别名', - 'path' => '', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], + ], + 403 => [ + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ], + [ + ['errorCode' => 'ExecutionNotExists', 'errorMessage' => 'Execution %s for flow %s does not exist.', 'description' => 'Execution %s for flow %s does not exist.'], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], + ], + 412 => [ + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => 'The resource to be modified has been changed. Please try again later.'], + ], + 415 => [ + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], + ], + 429 => [ + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], + ], ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Succeeded\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"FlowDefinition\\": \\"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\\\\\\"\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name\\",\\n \\"Input\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeExecution', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:DescribeExecution', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'machine', + ], + 'DescribeFlow' => [ + 'summary' => 'Retrieves information about a flow.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], - 'autoTest' => true, + 'abilityTreeCode' => '98859', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ - [ - 'name' => 'FlowName', - 'in' => 'formData', - 'schema' => [ - 'title' => '流程名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'example-flow-name', - ], - ], [ 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'title' => '别名名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'example-alias-name', - ], - ], - [ - 'name' => 'Description', - 'in' => 'formData', - 'schema' => [ - 'title' => '别名描述', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'example description', - ], + 'in' => 'query', + 'schema' => ['description' => 'The name of the flow.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], ], [ - 'name' => 'RoutingConfigurations', - 'in' => 'formData', - 'style' => 'json', - 'schema' => [ - 'title' => '流量分发设置', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Version' => [ - 'title' => '流程版本', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], - 'Weight' => [ - 'title' => '权重', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '30', - ], - ], - 'required' => false, - ], - 'required' => true, - ], + 'name' => 'FlowVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the flow.', 'type' => 'string', 'example' => '1', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'testRequestID', - ], - 'FlowName' => [ - 'title' => '流程名称', - 'description' => '', - 'type' => 'string', - 'example' => 'example-flow-name', - ], - 'Name' => [ - 'title' => '别名名称', - 'description' => '', - 'type' => 'string', - 'example' => 'exampe-alias-name', - ], - 'Description' => [ - 'title' => '别名描述', - 'description' => '', - 'type' => 'string', - 'example' => 'example description', - ], - 'RoutingConfigurations' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Version' => [ - 'title' => '版本名称', - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'Weight' => [ - 'title' => '权重', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '30', + 'Type' => ['description' => 'The type of the flow.', 'type' => 'string', 'example' => 'FDL', 'title' => ''], + 'Definition' => ['description' => 'The definition of the flow. The definition must follow the syntax of Flow Definition Language (FDL). For forward compatibility, the system supports two versions of the flow definition specification.', 'type' => 'string', 'example' => 'Legacy version:'."\n" + .'"'."\n" + .'type: flow'."\n" + .'version: v1'."\n" + .'name: my_flow_name'."\n" + .'steps:'."\n" + .' - type: pass'."\n" + .' name: mypass'."\n" + .'"'."\n" + ."\n" + .'New version:'."\n" + .'"'."\n" + .'Type: StateMachine'."\n" + .'SpecVersion: v1'."\n" + .'Name: my_flow_name'."\n" + .'StartAt: my_state'."\n" + .'States:'."\n" + .' - Type: Pass'."\n" + .' Name: my_state'."\n" + .' End: true'."\n" + .'"', 'title' => ''], + 'RoleArn' => ['description' => 'The resource descriptor of the RAM role that the flow execution relies on. When a flow is executed, Serverless Workflow assumes this role to operate on related resources.', 'type' => 'string', 'example' => 'acs:ram:${region}:${accountID}:${role}', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'Description' => ['description' => 'The description of the flow.', 'type' => 'string', 'example' => 'my test flow', 'title' => ''], + 'Name' => ['description' => 'The name of the flow.', 'type' => 'string', 'example' => 'my_flow_name', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the flow was created.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'LastModifiedTime' => ['description' => 'The time when the flow was last modified.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'Id' => ['description' => 'The unique ID of the flow.', 'type' => 'string', 'example' => 'e589e092-e2c0-4dee-b306-3574ddfdddf5****', 'title' => ''], + 'ExecutionMode' => ['description' => 'The execution mode. This is an enumeration. Valid values: Express and Standard. An empty string is equivalent to Standard.', 'type' => 'string', 'title' => '', 'example' => 'Standard'], + 'Environment' => [ + 'type' => 'object', + 'properties' => [ + 'Variables' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the variable.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'The value of the variable.', 'type' => 'string', 'example' => 'value', 'title' => ''], + 'Description' => ['description' => 'The description of the variable.', 'type' => 'string', 'example' => 'description', 'title' => ''], + ], + 'title' => '', + 'description' => 'The list of variables that can be accessed during the flow execution.', + 'example' => '', ], + 'title' => '', + 'description' => 'The list of variables that can be accessed during the flow execution.', + 'example' => '', ], ], + 'description' => 'The list of variables that can be accessed during the flow execution.', + 'title' => '', + 'example' => '', ], - 'CreatedTime' => [ - 'title' => '创建时间', - 'description' => '', - 'type' => 'string', - 'example' => '2020-01-01T01:01:01.001Z', - ], + 'ResourceGroupId' => ['type' => 'string', 'example' => 'rg-xxx', 'description' => '', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], + ], + [ + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], + ], + 412 => [ + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => 'The resource to be modified has been changed. Please try again later.'], + ], + 415 => [ + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], + ], + 429 => [ + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Type\\": \\"FDL\\",\\n \\"Definition\\": \\"Legacy version:\\\\n\\\\\\"\\\\ntype: flow\\\\nversion: v1\\\\nname: my_flow_name\\\\nsteps:\\\\n - type: pass\\\\n name: mypass\\\\n\\\\\\"\\\\n\\\\nNew version:\\\\n\\\\\\"\\\\nType: StateMachine\\\\nSpecVersion: v1\\\\nName: my_flow_name\\\\nStartAt: my_state\\\\nStates:\\\\n - Type: Pass\\\\n Name: my_state\\\\n End: true\\\\n\\\\\\"\\",\\n \\"RoleArn\\": \\"acs:ram:${region}:${accountID}:${role}\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Description\\": \\"my test flow\\",\\n \\"Name\\": \\"my_flow_name\\",\\n \\"CreatedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Id\\": \\"e589e092-e2c0-4dee-b306-3574ddfdddf5****\\",\\n \\"ExecutionMode\\": \\"Standard\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\",\\n \\"Description\\": \\"description\\"\\n }\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-xxx\\"\\n}","type":"json"}]', + 'title' => 'DescribeFlow', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:DescribeFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"testRequestID\\",\\n \\"FlowName\\": \\"example-flow-name\\",\\n \\"Name\\": \\"exampe-alias-name\\",\\n \\"Description\\": \\"example description\\",\\n \\"RoutingConfigurations\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Weight\\": 30\\n }\\n ],\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\"\\n}","type":"json"}]', + 'translator' => 'machine', ], 'DescribeFlowAlias' => [ - 'summary' => '查询流程版本别名详情', + 'summary' => 'Queries the details of a flow alias.', 'path' => '', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2011,9 +1117,7 @@ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], @@ -2021,187 +1125,228 @@ [ 'name' => 'FlowName', 'in' => 'query', - 'schema' => [ - 'title' => '流程名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'example-flow-name', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The name of the flow.', 'required' => true, 'example' => 'example-flow-name'], ], [ 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'title' => '别名', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'example-alias-name', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The alias.', 'required' => true, 'example' => 'example-alias-name'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '294D68C1-5108-5971-853A-1A9CC87B4816', - ], + 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The ID of the request.', 'example' => '294D68C1-5108-5971-853A-1A9CC87B4816'], 'Alias' => [ - 'title' => '别名信息', - 'description' => '', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '别名名称', - 'description' => '', - 'type' => 'string', - 'example' => 'alias-name', - ], - 'Description' => [ - 'title' => '别名描述', - 'description' => '', - 'type' => 'string', - 'example' => 'alias description', - ], + 'Name' => ['type' => 'string', 'title' => '', 'description' => 'The name of the alias.', 'example' => 'alias-name'], + 'Description' => ['type' => 'string', 'title' => '', 'description' => 'The description of the alias.', 'example' => 'alias description'], 'RoutingConfigurations' => [ - 'title' => '权重配置', - 'description' => '', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'Version' => [ - 'title' => '版本', - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'Weight' => [ - 'title' => '权重', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'Version' => ['type' => 'string', 'title' => '', 'description' => 'The version.', 'example' => '1'], + 'Weight' => ['type' => 'integer', 'format' => 'int32', 'title' => '', 'description' => 'The weight.', 'example' => '10'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'description' => 'The weight configuration.', + 'example' => '', ], - 'CreatedTime' => [ - 'title' => '创建时间', - 'description' => '', - 'type' => 'string', - 'example' => '2024-04-22T06:09:39.907Z', - ], + 'CreatedTime' => ['type' => 'string', 'title' => '', 'description' => 'The time when the alias was created.', 'example' => '2024-04-22T06:09:39.907Z'], + ], + 'title' => '', + 'description' => 'The alias information.', + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeFlowAlias', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294D68C1-5108-5971-853A-1A9CC87B4816\\",\\n \\"Alias\\": {\\n \\"Name\\": \\"alias-name\\",\\n \\"Description\\": \\"alias description\\",\\n \\"RoutingConfigurations\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Weight\\": 10\\n }\\n ],\\n \\"CreatedTime\\": \\"2024-04-22T06:09:39.907Z\\"\\n }\\n}","type":"json"}]', + ], + 'DescribeMapRun' => [ + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '227531', + 'abilityTreeNodes' => ['FEATUREfnfR0JC2A'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RequestId', + 'in' => 'query', + 'schema' => ['description' => 'The request ID.', 'type' => 'string', 'required' => false, 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', 'title' => ''], + ], + [ + 'name' => 'FlowName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the flow.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], + ], + [ + 'name' => 'ExecutionName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the execution.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_exec_name', 'title' => ''], + ], + [ + 'name' => 'MapRunName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the MapRun. When an execution starts a MapRun, a MapRunStarted event is generated. The MapRunName can be obtained from the output of this event.', 'type' => 'string', 'required' => true, 'example' => 'c39142f1345b196d678333c41f113200', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the execution. Valid values:'."\n" + ."\n" + .'- **Pending**'."\n" + ."\n" + .'- **Running**'."\n" + ."\n" + .'- **Failed**'."\n" + ."\n" + .'- **Succeeded**'."\n" + ."\n" + .'- **Aborted**', 'type' => 'string', 'example' => 'Succeeded', 'title' => ''], + 'StoppedTime' => ['description' => 'The time when the execution stopped.', 'type' => 'string', 'example' => '2025-10-24T14:11:28+08:00', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', 'title' => ''], + 'StartedTime' => ['description' => 'The time when the execution started.', 'type' => 'string', 'example' => '2025-10-24T14:11:26+08:00', 'title' => ''], + 'Concurrency' => ['description' => 'The concurrency limit for the MapRun at runtime.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'ToleratedFailedCount' => ['description' => 'The maximum number of failed items that are allowed.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'ToleratedFailedPercentage' => ['description' => 'The maximum percentage of failed items that are allowed.', 'type' => 'number', 'format' => 'float', 'example' => '20', 'title' => ''], + 'ExecutionName' => ['description' => 'The name of the execution.', 'type' => 'string', 'example' => 'my_exec_name', 'title' => ''], + 'MapRunName' => ['description' => 'The name of the MapRun.', 'type' => 'string', 'example' => 'c39142f1345b196d678333c41f113000', 'title' => ''], + 'ItemCounts' => [ + 'type' => 'object', + 'properties' => [ + 'Pending' => ['description' => 'The number of pending items.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'Running' => ['description' => 'The number of running items.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'Succeed' => ['description' => 'The number of succeeded items.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'Failed' => ['description' => 'The number of failed items.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'Aborted' => ['description' => 'The number of aborted items.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'Total' => ['description' => 'The total number of items.', 'type' => 'integer', 'format' => 'int64', 'example' => '500', 'title' => ''], ], + 'description' => 'A summary of the number of items in different processing states in the MapRun task.', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294D68C1-5108-5971-853A-1A9CC87B4816\\",\\n \\"Alias\\": {\\n \\"Name\\": \\"alias-name\\",\\n \\"Description\\": \\"alias description\\",\\n \\"RoutingConfigurations\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Weight\\": 10\\n }\\n ],\\n \\"CreatedTime\\": \\"2024-04-22T06:09:39.907Z\\"\\n }\\n}","type":"json"}]', - ], - 'UpdateFlowAlias' => [ - 'summary' => '更新流程版本别名配置', - 'path' => '', - 'methods' => [ - 'post', - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], + ], + 403 => [ + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ], + [ + ['errorCode' => 'ExecutionNotExists', 'errorMessage' => 'Execution %s for flow %s does not exist.', 'description' => 'Execution %s for flow %s does not exist.'], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], + ], + 412 => [ + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => 'The resource to be modified has been changed. Please try again later.'], + ], + 415 => [ + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], + ], + 429 => [ + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], + ], ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'DescribeMapRun', + 'summary' => 'Retrieves the details of a MapRun.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Succeeded\\",\\n \\"StoppedTime\\": \\"2025-10-24T14:11:28+08:00\\",\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\",\\n \\"StartedTime\\": \\"2025-10-24T14:11:26+08:00\\",\\n \\"Concurrency\\": 1,\\n \\"ToleratedFailedCount\\": 100,\\n \\"ToleratedFailedPercentage\\": 20,\\n \\"ExecutionName\\": \\"my_exec_name\\",\\n \\"MapRunName\\": \\"c39142f1345b196d678333c41f113000\\",\\n \\"ItemCounts\\": {\\n \\"Pending\\": 100,\\n \\"Running\\": 100,\\n \\"Succeed\\": 100,\\n \\"Failed\\": 100,\\n \\"Aborted\\": 100,\\n \\"Total\\": 500\\n }\\n}","type":"json"}]', + ], + 'DescribeRegions' => [ + 'summary' => 'Queries the regions supported by CloudFlow.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'abilityTreeCode' => '264118', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'FlowName', - 'in' => 'formData', - 'schema' => [ - 'title' => '流程名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'example-flow-name', - ], - ], - [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'title' => '别名名称', - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'alias name', - ], - ], - [ - 'name' => 'Description', + 'name' => 'AcceptLanguage', 'in' => 'formData', 'schema' => [ - 'title' => '别名描述', - 'description' => '', + 'description' => 'The language of the response. You can specify this parameter to return information about regions in Chinese or English. For more information, see [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231). Valid values:'."\n" + ."\n" + .'- zh-CN: Chinese.'."\n" + ."\n" + .'- en-US: English.'."\n" + ."\n" + .'Default value: zh-CN.', 'type' => 'string', 'required' => false, - 'example' => 'example description', - ], - ], - [ - 'name' => 'RoutingConfigurations', - 'in' => 'formData', - 'style' => 'json', - 'schema' => [ - 'title' => '权重配置', - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Version' => [ - 'title' => '版本', - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - 'Weight' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - ], - 'required' => false, - ], - 'required' => false, + 'example' => 'zh-CN', + 'default' => 'zh-CN', + 'enum' => ['zh-CN', 'en-US'], + 'title' => '', ], ], ], @@ -2209,225 +1354,209 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'Schema of response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '294D68C1-5108-5971-853A-1A9CC87B4816', - ], - 'Alias' => [ - 'title' => '别名信息', - 'description' => '', + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '0aa3f793-6e5f-8472-c7a2-70d2b84c04ac'], + 'Regions' => [ + 'description' => 'The information about the regions.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '别名名称', - 'description' => '', - 'type' => 'string', - 'example' => 'my-alias-name', - ], - 'Description' => [ - 'title' => '别名描述', - 'description' => '', - 'type' => 'string', - 'example' => 'my alias description', - ], - 'RoutingConfigurations' => [ - 'title' => '权重配置', - 'description' => '', + 'Region' => [ + 'description' => 'A collection of region information.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'A region object.', 'type' => 'object', 'properties' => [ - 'Version' => [ - 'title' => '版本', - 'description' => '', - 'type' => 'string', - 'example' => '1', - ], - 'Weight' => [ - 'title' => '权重', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-qingdao', 'title' => ''], + 'RegionEndpoint' => ['description' => 'The public endpoint of the region.', 'type' => 'string', 'example' => 'cn-qingdao.fnf.aliyuncs.com', 'title' => ''], + 'LocalName' => ['description' => 'The name of the region.', 'type' => 'string', 'example' => 'China (Qingdao)', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'CreatedTime' => [ - 'title' => '创建时间', - 'description' => '', - 'type' => 'string', - 'example' => '2025-10-24T14:11:26+08:00', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'example' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation %s is incorrect. Please check.', 'description' => 'The requested API operation %s is incorrect. Please check.'], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version %s is not supported yet. Please check.', 'description' => 'The requested API version %s is not supported yet. Please check.'], + ], + 403 => [ + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294D68C1-5108-5971-853A-1A9CC87B4816\\",\\n \\"Alias\\": {\\n \\"Name\\": \\"my-alias-name\\",\\n \\"Description\\": \\"my alias description\\",\\n \\"RoutingConfigurations\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Weight\\": 20\\n }\\n ],\\n \\"CreatedTime\\": \\"2025-10-24T14:11:26+08:00\\"\\n }\\n}","type":"json"}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0aa3f793-6e5f-8472-c7a2-70d2b84c04ac\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"RegionId\\": \\"cn-qingdao\\",\\n \\"RegionEndpoint\\": \\"cn-qingdao.fnf.aliyuncs.com\\",\\n \\"LocalName\\": \\"China (Qingdao)\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeRegions', + 'responseParamsDescription' => 'Sample response in JSON format'."\n" + ."\n" + .'```json'."\n" + .'{'."\n" + .' "RequestId": "67623904-2da4-d950-c8c0-7c68573899ab",'."\n" + .' "Regions": {'."\n" + .' "Region": ['."\n" + .' {'."\n" + .' "RegionId": "cn-qingdao",'."\n" + .' "RegionEndpoint": "cn-qingdao.fnf.aliyuncs.com",'."\n" + .' "LocalName": "China (Qingdao)"'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}'."\n" + .'```', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'translator' => 'manual', ], - 'DeleteFlowAlias' => [ - 'summary' => '删除流程别名', - 'path' => '', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'https', - ], + 'DescribeSchedule' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], - 'autoTest' => true, + 'operationType' => 'get', + 'abilityTreeCode' => '98860', + 'abilityTreeNodes' => ['FEATUREfnf06LH4G'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'FlowName', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'my_flow_name', - ], + 'in' => 'query', + 'schema' => ['description' => 'The name of the flow that is associated with the time-based schedule. The name must be unique within the region and cannot be modified after the time-based schedule is created. The name must meet the following conventions:'."\n" + ."\n" + .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" + .'* The name must start with a letter or an underscore (\\_).'."\n" + .'* The name is case-sensitive.'."\n" + .'* The name must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testFlowName', 'title' => ''], ], [ - 'name' => 'Name', - 'in' => 'formData', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'alias_name', - ], + 'name' => 'ScheduleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the time-based schedule. The name must meet the following conventions:'."\n" + ."\n" + .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" + .'* The name must start with a letter or an underscore (\\_).'."\n" + .'* The name is case-sensitive.'."\n" + .'* The name must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testScheduleName', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'Schema of response.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'Description' => ['description' => 'The description of the time-based schedule.'."\n", 'type' => 'string', 'example' => 'test description', 'title' => ''], + 'ScheduleId' => ['description' => 'The ID of the time-based schedule.'."\n", 'type' => 'string', 'example' => 'testScheduleId', 'title' => ''], + 'Payload' => ['description' => 'The trigger message of the time-based schedule.'."\n", 'type' => 'string', 'example' => '{"key": "value"}', 'title' => ''], + 'ScheduleName' => ['description' => 'The name of the time-based schedule.'."\n", 'type' => 'string', 'example' => 'testScheduleName', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the time-based schedule was created.'."\n", 'type' => 'string', 'example' => '2020-01-01T01:01:01.001Z', 'title' => ''], + 'LastModifiedTime' => ['description' => 'The time when the time-based schedule was last modified.'."\n", 'type' => 'string', 'example' => '2020-01-01T01:01:01.001Z', 'title' => ''], + 'CronExpression' => ['description' => 'The CRON expression.'."\n", 'type' => 'string', 'example' => '0 * * * * *', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether the time-based schedule is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\"\\n}","type":"json"}]', - ], - 'StartExecution' => [ - 'summary' => 'Starts the execution of a workflow.', - 'methods' => [ - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => ''], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => ''], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ], + [ + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => ''], + ['errorCode' => 'ScheduleNotExists', 'errorMessage' => 'The schedule %s for flow %s does not exist.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Description\\": \\"test description\\",\\n \\"ScheduleId\\": \\"testScheduleId\\",\\n \\"Payload\\": \\"{\\\\\\"key\\\\\\": \\\\\\"value\\\\\\"}\\",\\n \\"ScheduleName\\": \\"testScheduleName\\",\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"CronExpression\\": \\"0 * * * * *\\",\\n \\"Enable\\": true\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'DescribeSchedule', + 'summary' => 'Queries the detailed information about a time-based schedule.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:DescribeSchedule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetExecutionHistory' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', - 'chargeType' => 'paid', - 'abilityTreeCode' => '98867', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '98861', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'FlowName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the workflow to be executed.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'flow', - ], + 'in' => 'query', + 'schema' => ['description' => 'The name of the workflow.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'flow', 'title' => ''], ], [ 'name' => 'ExecutionName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the execution. The execution name is unique within a workflow. Configure this parameter based on the following rules:'."\n" - ."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'exec', - ], - ], - [ - 'name' => 'Input', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The input of the execution, which is in the JSON format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key":"value"}', - ], + 'in' => 'query', + 'schema' => ['description' => 'The name of the execution.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'exec', 'title' => ''], ], [ - 'name' => 'CallbackFnFTaskToken', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Specifies that the **TaskToken**-related tasks are called back after the execution in the flow ends.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '12', - ], + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The name of the event to start the query. You can obtain the value from the response data.'."\n", 'type' => 'string', 'required' => false, 'example' => 'flow_xxx', 'title' => ''], ], [ - 'name' => 'Qualifier', - 'in' => 'formData', - 'schema' => [ - 'title' => '指定流程版本或别名', - 'type' => 'string', - 'example' => '1', - ], + 'name' => 'Limit', + 'in' => 'query', + 'schema' => ['description' => 'The number of workflows that you want to query. Valid values: 1-999. Default value: 60.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ @@ -2436,382 +1565,319 @@ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The execution status. Valid values:'."\n" - ."\n" - .'* **Starting**'."\n" - .'* **Running**'."\n" - .'* **Stopped**'."\n" - .'* **Succeeded**'."\n" - .'* **Failed**'."\n" - .'* **TimedOut**'."\n", - 'type' => 'string', - 'example' => 'Succeeded', - ], - 'StoppedTime' => [ - 'description' => 'The time when the execution stopped.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'StartedTime' => [ - 'description' => 'The time when the execution started.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'FlowDefinition' => [ - 'description' => 'The definition of the flow.'."\n", - 'type' => 'string', - 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', - ], - 'Output' => [ - 'description' => 'The execution result, which is in the JSON format.'."\n", - 'type' => 'string', - 'example' => '{"key":"value"}', - ], - 'FlowName' => [ - 'description' => 'The name of the workflow.'."\n", - 'type' => 'string', - 'example' => 'flow', - ], - 'Name' => [ - 'description' => 'The name of the execution.'."\n", - 'type' => 'string', - 'example' => 'exec1', - ], - 'Input' => [ - 'description' => 'The input of the execution, which is in the JSON format.'."\n", - 'type' => 'string', - 'example' => '{"key":"value"}', + 'NextToken' => ['description' => 'You do not need to specify this parameter for the first request. The returned value of **ScheduleEventId** is used as the token for the next query. No value is returned for the last query.'."\n", 'type' => 'string', 'example' => '3', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'Events' => [ + 'description' => 'The events.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the execution step. Valid values:'."\n" + ."\n" + .'* **StepEntered**'."\n" + .'* **StepStarted**'."\n" + .'* **StepSucceeded**'."\n" + .'* **StepFailed**'."\n" + .'* **StepExited**'."\n" + .'* **BranchEntered**'."\n" + .'* **BranchExited**'."\n" + .'* **IterationEntered**'."\n" + .'* **IterationExited**'."\n" + .'* **TaskScheduled**'."\n" + .'* **TaskStarted**'."\n" + .'* **TaskSubmitted**'."\n" + .'* **TaskSubmitFailed**'."\n" + .'* **TaskSucceeded**'."\n" + .'* **TaskFailed**'."\n" + .'* **TaskTimedOut**'."\n" + .'* **ExecutionStarted**'."\n" + .'* **ExecutionStopped**'."\n" + .'* **ExecutionSucceeded**'."\n" + .'* **ExecutionFailed**'."\n" + .'* **ExecutionTimedOut**'."\n", 'type' => 'string', 'example' => 'TaskSucceeded', 'title' => ''], + 'EventId' => ['description' => 'The ID of the execution step.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'Time' => ['description' => 'The time when the event was updated.'."\n", 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'ScheduleEventId' => ['description' => 'The ID of the scheduling step.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'EventDetail' => ['description' => 'The details about the execution step.'."\n", 'type' => 'string', 'example' => '{}', 'title' => ''], + 'StepName' => ['description' => 'The name of the execution step.'."\n", 'type' => 'string', 'example' => 'passStep', 'title' => ''], + ], + 'title' => '', + ], + 'title' => '', ], ], + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'ExecutionAlreadyExists', - 'errorMessage' => 'Execution %s for flow %s already exists.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => ''], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => ''], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => ''], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => ''], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => ''], ], [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - ], - 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], - ], - 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ExecutionNotExists', 'errorMessage' => 'Execution %s for flow %s does not exist.', 'description' => ''], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => ''], + ], + 415 => [ + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"3\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"TaskSucceeded\\",\\n \\"EventId\\": 2,\\n \\"Time\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"ScheduleEventId\\": 1,\\n \\"EventDetail\\": \\"{}\\",\\n \\"StepName\\": \\"passStep\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'GetExecutionHistory', + 'summary' => 'Queries the details about each step in an execution process.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'fnf:GetExecutionHistory', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Succeeded\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"FlowDefinition\\": \\"旧版:\\\\n\\\\\\"type: flow\\\\\\\\nversion: v1\\\\\\\\nname: my_flow_name\\\\\\\\nsteps:\\\\\\\\n - type: pass\\\\\\\\n name: mypass\\\\\\"\\\\n\\\\n新版:\\\\n\\\\\\"Type: StateMachine\\\\\\\\nSpecVersion: v1\\\\\\\\nName: my_flow_name\\\\\\\\nStartAt: my_state\\\\\\\\nStates:\\\\\\\\n - Type: Pass\\\\\\\\n Name: my_state\\\\\\\\n End: true\\\\\\"\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name\\",\\n \\"Input\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'StartExecution', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'* The flow is created. A flow only in standard mode is supported.'."\n" - .'* If you do not specify an execution, the system automatically generates an execution and starts the execution.'."\n" - .'* If an ongoing execution has the same name as that of the execution to be started, the system directly returns the ongoing execution.'."\n" - .'* If the ongoing execution with the same name has ended (succeeded or failed), `ExecutionAlreadyExists` is returned.'."\n" - .'* If no execution with the same name exists, the system starts a new execution.'."\n", ], - 'StopExecution' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListExecutions' => [ + 'summary' => 'Lists the execution history of a flow.', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '98868', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '98862', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'FlowName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the workflow to be stopped. You can call the **ListFlows** operation to obtain the value of this parameter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'flow', - ], + 'in' => 'query', + 'schema' => ['description' => '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:'."\n" + ."\n" + .'- Can contain letters (a-z and A-Z), digits (0-9), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'- Must start with a letter (a-z or A-Z) or an underscore (\\_).'."\n" + ."\n" + .'- Is case-sensitive.'."\n" + ."\n" + .'- Must be 1 to 128 characters in length.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], ], [ - 'name' => 'ExecutionName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the execution to be stopped. You can call the **ListExecutions** operation to obtain the value of this parameter.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'exec', - ], + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['description' => 'The token to start the query from. Obtain the token from the response of this operation. This parameter is not required for the first query.', 'type' => 'string', 'required' => false, 'example' => 'flow_xxx', 'title' => ''], ], [ - 'name' => 'Cause', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The reason for stopping the execution. The value must be 1 to 4,096 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'for test', - ], + 'name' => 'Limit', + 'in' => 'query', + 'schema' => ['description' => 'The number of executions to query. The value must be in the range of \\[1, 100]. The default value is 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Error', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The error code for stopping the execution. The error code must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nill', - ], + 'name' => 'Status', + 'in' => 'query', + 'schema' => ['description' => 'The status of the executions to filter. Valid values:'."\n" + ."\n" + .'- **Starting**'."\n" + ."\n" + .'- **Running**'."\n" + ."\n" + .'- **Stopped**'."\n" + ."\n" + .'- **Succeeded**'."\n" + ."\n" + .'- **Failed**'."\n" + ."\n" + .'- **TimedOut**', 'type' => 'string', 'required' => false, 'example' => 'Succeeded', 'title' => ''], + ], + [ + 'name' => 'StartedTimeBegin', + 'in' => 'query', + 'schema' => ['description' => 'Filters for executions that started after this time. The time must be in the UTC RFC3339 format.', 'type' => 'string', 'required' => false, 'example' => '2020-12-02T02:39:20.402Z', 'title' => ''], + ], + [ + 'name' => 'StartedTimeEnd', + 'in' => 'query', + 'schema' => ['description' => 'Filters for executions that started before this time. The time must be in the UTC RFC3339 format.', 'type' => 'string', 'required' => false, 'example' => '2020-12-02T02:23:54.817Z', 'title' => ''], + ], + [ + 'name' => 'ExecutionNamePrefix', + 'in' => 'query', + 'schema' => ['description' => 'The prefix of the execution name.', 'type' => 'string', 'required' => false, 'example' => 'run', 'title' => ''], + ], + [ + 'name' => 'MetadataOnly', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to return only the metadata of the executions. If you set this to true, the response does not include the flow definition, input, or output. If you set this to false, the response includes all data.', 'type' => 'boolean', 'title' => '', 'required' => false, 'example' => ''], + ], + [ + 'name' => 'Qualifier', + 'in' => 'query', + 'schema' => ['description' => 'The version or alias of the flow.', 'type' => 'string', 'example' => '1', 'title' => '', 'required' => false], + ], + [ + 'name' => 'MapRunName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the MapRun. When a MapRun is started in an execution, a MapRunStarted event is generated. You can get the MapRunName from the output of the MapRunStarted event.'."\n" + ."\n" + .'You can set MapRunName to filter child executions started by a specific MapRun in the current flow.', 'type' => 'string', 'title' => '', 'required' => false, 'example' => 'c39142f1345b196d678333c41f113100'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'Schema of response.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The execution status. Valid values:'."\n" - ."\n" - .'* **Starting**'."\n" - .'* **Running**'."\n" - .'* **Stopped**'."\n" - .'* **Succeeded**'."\n" - .'* **Failed**'."\n" - .'* **TimedOut**'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'StoppedTime' => [ - 'description' => 'The time when the execution stopped.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'StartedTime' => [ - 'description' => 'The time when the execution started.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'FlowDefinition' => [ - 'description' => 'The definition of the flow.'."\n", - 'type' => 'string', - 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', - ], - 'Output' => [ - 'description' => 'The execution result, which is in the JSON format.'."\n", - 'type' => 'string', - 'example' => '{"key":"value"}', - ], - 'FlowName' => [ - 'description' => 'The name of the flow.'."\n", - 'type' => 'string', - 'example' => 'flow', - ], - 'Name' => [ - 'description' => 'The name of the execution.'."\n", - 'type' => 'string', - 'example' => 'exec', - ], - 'Input' => [ - 'description' => 'The input of the execution, which is in the JSON format.'."\n", - 'type' => 'string', - 'example' => '{"key":"value"}', - ], - 'RoleArn' => [ - 'description' => 'The Alibaba Cloud resource name (ARN) of the role that executed the flow. If the RoleArn in the flow definition is changed during the execution of the flow, the system records and returns a snapshot of the original RoleArn.'."\n" - ."\n" - .'> If you do not specify the RoleArn parameter in the request parameters, the response parameters do not contain the RoleArn parameter.'."\n", - 'type' => 'string', - 'example' => 'acs:ram:${region}:${accountID}:${role}', + 'NextToken' => ['description' => 'The token to start the next query. This parameter is not returned if no more data is available.'."\n" + ."\n" + .'> This parameter might not appear in the response if there are no more results.', 'type' => 'string', 'example' => '397aba96-4d85-11ef-9c97-************', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '69AD2AA7-DB47-449B-941B-B14409DF****', 'title' => ''], + 'Executions' => [ + 'description' => 'The execution information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The execution information.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the execution.', 'type' => 'string', 'example' => 'Succeeded', 'title' => ''], + 'StoppedTime' => ['description' => 'The time when the execution stopped.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'StartedTime' => ['description' => 'The time when the execution started.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'FlowDefinition' => ['description' => 'The definition of the executed flow.', 'type' => 'string', 'example' => 'Legacy version:'."\n" + .'"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n - type: pass\\n name: mypass"'."\n" + ."\n" + .'New version:'."\n" + .'"Type: StateMachine\\nSpecVersion: v1\\nName: my_flow_name\\nStartAt: my_state\\nStates:\\n - Type: Pass\\n Name: my_state\\n End: true"', 'title' => ''], + 'Output' => ['description' => 'The output of the execution, in JSON object format.', 'type' => 'string', 'example' => '{"key":"value"}', 'title' => ''], + 'FlowName' => ['description' => 'The name of the flow.', 'type' => 'string', 'example' => 'my_flow_name', 'title' => ''], + 'Name' => ['description' => 'The name of the execution.', 'type' => 'string', 'example' => 'my_exec_name', 'title' => ''], + 'Input' => ['description' => 'The input of the execution, in JSON object format.', 'type' => 'string', 'example' => '{"key":"value"}', 'title' => ''], + 'Environment' => [ + 'type' => 'object', + 'properties' => [ + 'Variables' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the variable.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'The value of the variable.', 'type' => 'string', 'example' => 'value', 'title' => ''], + ], + 'title' => '', + 'description' => 'The list of variables that can be accessed during the flow execution.', + 'example' => '', + ], + 'title' => '', + 'description' => 'The list of environment variables used during the flow execution.', + 'example' => '', + ], + ], + 'description' => 'The list of environment variables used during the flow execution.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'ExecutionAlreadyCompleted', - 'errorMessage' => 'Execution \'%s\' for flow \'%s\' has already completed.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], ], [ - [ - 'errorCode' => 'ExecutionNotExists', - 'errorMessage' => 'Execution %s for flow %s does not exist.', - ], - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], ], - 409 => [ - [ - 'errorCode' => 'ConcurrentUpdateError', - 'errorMessage' => 'Update conflict, please retry.', - ], + 412 => [ + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => 'The resource to be modified has been changed. Please try again later.'], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], ], 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Running\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"FlowDefinition\\": \\"旧版:\\\\n\\\\\\"type: flow\\\\\\\\nversion: v1\\\\\\\\nname: my_flow_name\\\\\\\\nsteps:\\\\\\\\n - type: pass\\\\\\\\n name: mypass\\\\\\"\\\\n\\\\n新版:\\\\n\\\\\\"Type: StateMachine\\\\\\\\nSpecVersion: v1\\\\\\\\nName: my_flow_name\\\\\\\\nStartAt: my_state\\\\\\\\nStates:\\\\\\\\n - Type: Pass\\\\\\\\n Name: my_state\\\\\\\\n End: true\\\\\\"\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name\\",\\n \\"Input\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"RoleArn\\": \\"acs:ram:${region}:${accountID}:${role}\\"\\n}","errorExample":""},{"type":"xml","example":"\\n Running\\n 2019-01-01T01:01:01.001Z\\n testRequestId\\n 2019-01-01T01:01:01.001Z\\n version: v1.0\\\\ntype: flow\\\\nname: test\\\\nsteps:\\\\n - type: pass\\\\n name: mypass\\n {\\"key\\":\\"value\\"}\\n flow\\n exec\\n {\\"key\\":\\"value\\"}\\n","errorExample":""}]', - 'title' => 'StopExecution', - 'summary' => 'Stops an execution that is in progress in a flow.', - 'description' => '## [](#)Usage notes'."\n" + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"397aba96-4d85-11ef-9c97-************\\",\\n \\"RequestId\\": \\"69AD2AA7-DB47-449B-941B-B14409DF****\\",\\n \\"Executions\\": [\\n {\\n \\"Status\\": \\"Succeeded\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"FlowDefinition\\": \\"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\\\\\\"\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name\\",\\n \\"Input\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ]\\n }\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListExecutions', + 'description' => '## Description'."\n" ."\n" - .'The flow must be in progress.'."\n", - ], - 'DescribeExecution' => [ - 'summary' => 'Queries an execution in a flow. The long polling mode is supported. The maximum waiting period for long polling depends on the value of the WaitTimeSeconds parameter.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + .'You cannot query the execution history of a flow after it is deleted, even if you create a new flow with the same name.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:ListExecutions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'machine', + ], + 'ListFlowAliases' => [ + 'summary' => 'Lists the aliases for a flow.', + 'path' => '', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -2820,233 +1886,91 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '98858', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'FlowName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the workflow.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'flow', - ], + 'schema' => ['type' => 'string', 'required' => true, 'title' => '', 'description' => 'The name of the flow.', 'example' => 'example-flow-name'], ], [ - 'name' => 'ExecutionName', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the execution.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'exec', - ], + 'schema' => ['type' => 'string', 'required' => false, 'title' => '', 'description' => 'The token that is used to retrieve the next page of results.', 'example' => 'token'], ], [ - 'name' => 'WaitTimeSeconds', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The maximum period of time for long polling waits. Valid values: 0 to 60. Unit: seconds. Configure this parameter based on the following rules:'."\n" - ."\n" - .'* If the value is 0, the system immediately returns the current execution status.'."\n" - .'* If the value is greater than 0, the long polling request waits until the execution ends or the specified period elapses.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['type' => 'integer', 'format' => 'int32', 'title' => '', 'description' => 'The maximum number of results to return.', 'required' => false, 'example' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The execution status. Valid values:'."\n" - ."\n" - .'* **Starting**'."\n" - .'* **Running**'."\n" - .'* **Stopped**'."\n" - .'* **Succeeded**'."\n" - .'* **Failed**'."\n" - .'* **TimedOut**'."\n", - 'type' => 'string', - 'example' => 'Succeeded', - ], - 'StoppedTime' => [ - 'description' => 'The time when the execution stopped.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'StartedTime' => [ - 'description' => 'The time when the execution started.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'FlowDefinition' => [ - 'description' => 'The definition of the flow.'."\n", - 'type' => 'string', - 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', - ], - 'Output' => [ - 'description' => 'The execution result, which is in the JSON format.'."\n", - 'type' => 'string', - 'example' => '{"key":"value"}', - ], - 'FlowName' => [ - 'description' => 'The name of the flow.'."\n", - 'type' => 'string', - 'example' => 'flow', - ], - 'Name' => [ - 'description' => 'The name of the execution.'."\n", - 'type' => 'string', - 'example' => 'exec', - ], - 'Input' => [ - 'description' => 'The input of the execution, which is in the JSON format.'."\n", - 'type' => 'string', - 'example' => '{"key":"value"}', - ], - 'Environment' => [ - 'title' => 'Flow 执行时使用的环境变量列表', - 'type' => 'object', - 'properties' => [ - 'Variables' => [ - 'title' => 'Flow 执行时使用的环境变量列表', - 'type' => 'array', - 'items' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '变量名称', - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - 'example' => 'value', + 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The ID of the request.', 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164'], + 'NextToken' => ['type' => 'string', 'title' => '', 'description' => 'The token that is used to retrieve the next page of results.', 'example' => 'testNextToken'], + 'Aliases' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['type' => 'string', 'title' => '', 'description' => 'The name of the alias.', 'example' => 'my-alias-name'], + 'Description' => ['type' => 'string', 'title' => '', 'description' => 'The description of the alias.', 'example' => 'my alias description'], + 'RoutingConfigurations' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Version' => ['type' => 'string', 'title' => '', 'description' => 'The version of the flow.', 'example' => '1'], + 'Weight' => ['type' => 'string', 'title' => '', 'description' => 'The weight.', 'example' => '20'], ], + 'description' => 'The traffic distribution configuration. You can specify one or two flow versions. When an execution is started using the alias, the system selects a flow version based on its weight.', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'description' => 'The traffic distribution configuration. You can specify one or two flow versions. When an execution is started using the alias, the system selects a flow version based on its weight.', + 'example' => '', ], + 'CreatedTime' => ['type' => 'string', 'title' => '', 'description' => 'The time when the alias was created.', 'example' => '2025-10-24T14:11:26+08:00'], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'description' => 'A list of aliases.', + 'example' => '', ], ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - ], - 403 => [ - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - ], - [ - [ - 'errorCode' => 'ExecutionNotExists', - 'errorMessage' => 'Execution %s for flow %s does not exist.', - ], - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - ], - 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', - ], - ], - 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], - ], - 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListFlowAliases', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Succeeded\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"FlowDefinition\\": \\"旧版:\\\\n\\\\\\"type: flow\\\\\\\\nversion: v1\\\\\\\\nname: my_flow_name\\\\\\\\nsteps:\\\\\\\\n - type: pass\\\\\\\\n name: mypass\\\\\\"\\\\n\\\\n新版:\\\\n\\\\\\"Type: StateMachine\\\\\\\\nSpecVersion: v1\\\\\\\\nName: my_flow_name\\\\\\\\nStartAt: my_state\\\\\\\\nStates:\\\\\\\\n - Type: Pass\\\\\\\\n Name: my_state\\\\\\\\n End: true\\\\\\"\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name\\",\\n \\"Input\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'DescribeExecution', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\",\\n \\"NextToken\\": \\"testNextToken\\",\\n \\"Aliases\\": [\\n {\\n \\"Name\\": \\"my-alias-name\\",\\n \\"Description\\": \\"my alias description\\",\\n \\"RoutingConfigurations\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Weight\\": \\"20\\"\\n }\\n ],\\n \\"CreatedTime\\": \\"2025-10-24T14:11:26+08:00\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'ListExecutions' => [ - 'summary' => 'Queries all historical executions of a flow.', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListFlowVersions' => [ + 'summary' => 'Lists the versions of a flow.', + 'path' => '', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -3055,317 +1979,216 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '98862', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'FlowName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the flow. The name must be unique within the region and cannot be modified after the flow is created. The name must meet the following conventions:'."\n" - ."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* The name is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'flow', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The name of the flow.', 'required' => true, 'example' => 'example-flow-name'], ], [ 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the execution to start the query. You can obtain the value from the response data. You do not need to specify this parameter for the first request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'flow_xxx', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The token for the next page of results.', 'required' => false, 'example' => 'token'], ], [ 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of executions that you want to query. Valid values: 1-99. Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'Status', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the execution that you want to filter. Valid values:'."\n" - ."\n" - .'* **Starting**'."\n" - .'* **Running**'."\n" - .'* **Stopped**'."\n" - .'* **Succeeded**'."\n" - .'* **Failed**'."\n" - .'* **TimedOut**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Succeeded', - ], - ], - [ - 'name' => 'StartedTimeBegin', - 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query executions. Specify the value in the UTC RFC3339 format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-12-02T02:39:20.402Z', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The maximum number of results to return.', 'required' => false, 'example' => '10'], ], - [ - 'name' => 'StartedTimeEnd', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The end of the time range to query executions. Specify the value in the UTC RFC3339 format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2020-12-02T02:23:54.817Z', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The request ID.', 'example' => '294D68C1-5108-5971-853A-1A9CC87B4816'], + 'NextToken' => ['type' => 'string', 'title' => '', 'description' => 'The token for the next page of results.', 'example' => 'token'], + 'FlowVersions' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Version' => ['type' => 'string', 'title' => '', 'description' => 'The version name.', 'example' => '1'], + 'Description' => ['type' => 'string', 'title' => '', 'description' => 'The version description.', 'example' => 'version description'], + 'CreatedTime' => ['type' => 'string', 'title' => '', 'description' => 'The time when the version was created.', 'example' => '2025-10-24T14:11:26+08:00'], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'description' => 'The list of flow versions.', + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'ListFlowVersions', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294D68C1-5108-5971-853A-1A9CC87B4816\\",\\n \\"NextToken\\": \\"token\\",\\n \\"FlowVersions\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Description\\": \\"version description\\",\\n \\"CreatedTime\\": \\"2025-10-24T14:11:26+08:00\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListFlows' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ExecutionNamePrefix', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name prefix of the execution.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'run', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '98863', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'MetadataOnly', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'title' => '是否只返回执行的元数据。为true时,返回值中不包括Flow定义、Input和Output,为false时会返回全部数据', - 'type' => 'boolean', - ], + 'schema' => ['description' => 'Starting name for flow query.', 'type' => 'string', 'required' => false, 'example' => 'flow_nextxxx', 'title' => ''], ], [ - 'name' => 'Qualifier', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'title' => '指定流程的版本或别名', - 'type' => 'string', - 'example' => '1', - ], + 'schema' => ['description' => 'Query quantity. The value range is \\[1, 1000), and the default value is 60.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'MapRunName', + 'name' => 'ResourceGroupId', 'in' => 'query', - 'schema' => [ - 'title' => 'MapRun 名称', - 'type' => 'string', - ], + 'schema' => ['type' => 'string', 'example' => 'rg-xxx', 'description' => '', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'Flow list.', 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'The start key for the next query. This parameter is not returned if this is the last query.'."\n" - ."\n" - .'> This parameter may not be displayed in the response because no next page exists.'."\n", - 'type' => 'string', - 'example' => 'exec2', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'Executions' => [ - 'description' => 'The information about executions.'."\n", + 'NextToken' => ['description' => 'Next query starting key. Not returned if no other data exists.', 'type' => 'string', 'example' => 'flow_nextxxx', 'title' => ''], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'Flows' => [ + 'description' => 'Flow list.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'Flow list.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'The status of the execution.'."\n", - 'type' => 'string', - 'example' => 'Succeeded', - ], - 'StoppedTime' => [ - 'description' => 'The time when the execution stopped.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'StartedTime' => [ - 'description' => 'The time when the execution started.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'FlowDefinition' => [ - 'description' => 'The definition of the flow.'."\n", - 'type' => 'string', - 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', - ], - 'Output' => [ - 'description' => 'The output of the execution, which is in the JSON format'."\n", - 'type' => 'string', - 'example' => '{"key":"value"}', - ], - 'FlowName' => [ - 'description' => 'The name of the flow.'."\n", - 'type' => 'string', - 'example' => 'flow', - ], - 'Name' => [ - 'description' => 'The name of the execution.'."\n", - 'type' => 'string', - 'example' => 'exec', - ], - 'Input' => [ - 'description' => 'The input of the execution, which is in the JSON format.'."\n", - 'type' => 'string', - 'example' => '{"key":"value"}', - ], + 'Type' => ['description' => 'Flow type.', 'type' => 'string', 'example' => 'FDL', 'title' => ''], + 'Definition' => ['description' => 'Flow definition, follows FDL syntax standard.', 'type' => 'string', 'example' => 'version: v1.0\\ntype: flow\\nname: test\\nsteps:\\n - type: pass\\n name: mypass', 'title' => ''], + 'RoleArn' => ['description' => 'Resource descriptor information required for flow execution.', 'type' => 'string', 'example' => 'acs:ram::${accountID}:${role}', 'title' => ''], + 'Description' => ['description' => 'Flow description.', 'type' => 'string', 'example' => 'my test flow', 'title' => ''], + 'Name' => ['description' => 'Flow name.', 'type' => 'string', 'example' => 'my_flow_name', 'title' => ''], + 'CreatedTime' => ['description' => 'Flow creation time.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'LastModifiedTime' => ['description' => 'Last modified time of the flow.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'Id' => ['description' => 'Unique ID of the flow.', 'type' => 'string', 'example' => 'e589e092-e2c0-4dee-b306-3574ddf5****', 'title' => ''], + 'ExecutionMode' => ['description' => 'Execution mode, enumeration type. Can be Express or Standard. An empty string is equivalent to Standard.', 'type' => 'string', 'title' => '', 'example' => 'Standard'], 'Environment' => [ - 'title' => 'Flow 执行时使用的环境变量列表', 'type' => 'object', 'properties' => [ 'Variables' => [ - 'title' => 'Flow 执行时使用的环境变量列表', 'type' => 'array', 'items' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '变量名称', - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - 'example' => 'value', - ], + 'Description' => ['description' => 'Variable description.', 'type' => 'string', 'example' => 'description', 'title' => ''], + 'Name' => ['description' => 'Variable name.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'Variable value.', 'type' => 'string', 'example' => 'value', 'title' => ''], ], + 'title' => '', + 'description' => 'List of variables accessible during flow execution.', + 'example' => '', ], + 'title' => '', + 'description' => 'List of variables accessible during flow execution.', + 'example' => '', ], ], + 'description' => 'List of variables accessible during flow execution.', + 'title' => '', + 'example' => '', ], + 'ResourceGroupId' => ['type' => 'string', 'example' => 'rg-xxx', 'description' => '', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], - ], - [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - ], - 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], ], 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], + ], + ], + 'title' => 'ListFlows', + 'summary' => 'Retrieves information about multiple flows.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:ListFlows', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'Flow', 'arn' => 'acs:fnf:{#regionId}:{#accountId}:flow/*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"397aba96-4d85-11ef-9c97-************\\",\\n \\"RequestId\\": \\"69AD2AA7-DB47-449B-941B-B14409DF****\\",\\n \\"Executions\\": [\\n {\\n \\"Status\\": \\"Succeeded\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"FlowDefinition\\": \\"旧版:\\\\n\\\\\\"type: flow\\\\\\\\nversion: v1\\\\\\\\nname: my_flow_name\\\\\\\\nsteps:\\\\\\\\n - type: pass\\\\\\\\n name: mypass\\\\\\"\\\\n\\\\n新版:\\\\n\\\\\\"Type: StateMachine\\\\\\\\nSpecVersion: v1\\\\\\\\nName: my_flow_name\\\\\\\\nStartAt: my_state\\\\\\\\nStates:\\\\\\\\n - Type: Pass\\\\\\\\n Name: my_state\\\\\\\\n End: true\\\\\\"\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name\\",\\n \\"Input\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ]\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'ListExecutions', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'After you delete a flow, you cannot query its historical executions, even if you create a flow of the same name.'."\n", - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"flow_nextxxx\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Flows\\": [\\n {\\n \\"Type\\": \\"FDL\\",\\n \\"Definition\\": \\"version: v1.0\\\\\\\\ntype: flow\\\\\\\\nname: test\\\\\\\\nsteps:\\\\\\\\n - type: pass\\\\\\\\n name: mypass\\",\\n \\"RoleArn\\": \\"acs:ram::${accountID}:${role}\\",\\n \\"Description\\": \\"my test flow\\",\\n \\"Name\\": \\"my_flow_name\\",\\n \\"CreatedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Id\\": \\"e589e092-e2c0-4dee-b306-3574ddf5****\\",\\n \\"ExecutionMode\\": \\"Standard\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Description\\": \\"description\\",\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-xxx\\"\\n }\\n ]\\n}","type":"json"}]', ], - 'GetExecutionHistory' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListSchedules' => [ + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -3374,1595 +2197,1235 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '98861', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '98864', + 'abilityTreeNodes' => ['FEATUREfnf06LH4G'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'FlowName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the workflow.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'flow', - ], + 'schema' => ['description' => 'The name of the flow that is associated with the time-based schedules. The name is unique within the region and cannot be modified after the flow is created. The name must meet the following conventions:'."\n" + ."\n" + .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" + .'* The name must start with a letter or an underscore (\\_).'."\n" + .'* The name is case-sensitive.'."\n" + .'* The name must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testFlowName', 'title' => ''], ], [ - 'name' => 'ExecutionName', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the execution.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'exec', - ], + 'schema' => ['description' => 'For the first query, you do not need to specify this parameter. The system uses the value of the **FlowName** parameter as the value of the **NextToken** parameter. When the query ends, no value is returned for this parameter.'."\n", 'type' => 'string', 'required' => false, 'example' => 'testNextToken', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'Limit', 'in' => 'query', + 'schema' => ['description' => 'The number of schedules that you want to query. Valid values: 1 to 1000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'docRequired' => false, 'maximum' => '1000', 'minimum' => '1', 'example' => '1', 'default' => '60', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the event to start the query. You can obtain the value from the response data.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'flow_xxx', + 'description' => 'The schema of response.'."\n", + 'type' => 'object', + 'properties' => [ + 'NextToken' => ['description' => 'The token for the next query.'."\n", 'type' => 'string', 'example' => 'testNextToken', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'Schedules' => [ + 'description' => 'The time-based schedules that are queried.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Description' => ['description' => 'The description of the time-based schedule.'."\n", 'type' => 'string', 'example' => 'test description', 'title' => ''], + 'ScheduleId' => ['description' => 'The ID of the time-based schedule.'."\n", 'type' => 'string', 'example' => 'testScheduleId', 'title' => ''], + 'Payload' => ['description' => 'The trigger message of the time-based schedule.'."\n", 'type' => 'string', 'example' => '{"key": "value"}', 'title' => ''], + 'ScheduleName' => ['description' => 'The name of the time-based schedule.'."\n", 'type' => 'string', 'example' => 'testScheduleName', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the time-based schedule was created.'."\n", 'type' => 'string', 'example' => '2020-01-01T01:01:01.001Z', 'title' => ''], + 'LastModifiedTime' => ['description' => 'The time when the time-based schedule was last modified.'."\n", 'type' => 'string', 'example' => '2020-01-01T01:01:01.001Z', 'title' => ''], + 'CronExpression' => ['description' => 'The cron expression of the scheduled task.'."\n", 'type' => 'string', 'example' => '0 * * * * *', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether the time-based schedule is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + ], + 'title' => '', + ], + ], + 'title' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => ''], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => ''], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ], [ - 'name' => 'Limit', - 'in' => 'query', + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => ''], + ], + 412 => [ + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"testNextToken\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Schedules\\": [\\n {\\n \\"Description\\": \\"test description\\",\\n \\"ScheduleId\\": \\"testScheduleId\\",\\n \\"Payload\\": \\"{\\\\\\"key\\\\\\": \\\\\\"value\\\\\\"}\\",\\n \\"ScheduleName\\": \\"testScheduleName\\",\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"CronExpression\\": \\"0 * * * * *\\",\\n \\"Enable\\": true\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'ListSchedules', + 'summary' => 'Queries time-based schedules in a flow.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:ListSchedules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'PublishFlowVersion' => [ + 'summary' => 'Publishes a new version of a flow based on its current definition. A flow version includes the flow\'s definition, description, environment variable settings, and execution role. The version number starts at 1 and increments with each new version.', + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'FlowName', + 'in' => 'formData', + 'schema' => ['type' => 'string', 'required' => true, 'title' => '', 'description' => 'The name of the flow.', 'example' => 'example-flow-name'], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The description of the version.', 'required' => false, 'example' => 'example flow description'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The number of workflows that you want to query. Valid values: 1-999. Default value: 60.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'The ID of the request.', 'example' => '294D68C1-5108-5971-853A-1A9CC87B4816'], + 'FlowName' => ['type' => 'string', 'title' => '', 'description' => 'The name of the flow.', 'example' => 'my-flow-name'], + 'Version' => ['type' => 'string', 'title' => '', 'description' => 'The version of the flow.', 'example' => '1'], + 'Description' => ['type' => 'string', 'title' => '', 'description' => 'The description of the flow version.', 'example' => 'my flow description'], + 'CreatedTime' => ['type' => 'string', 'title' => '', 'description' => 'The time when the flow version was created.', 'example' => '2025-10-24T14:11:26+08:00'], + ], + 'title' => '', + 'description' => 'The schema of the response.', + 'example' => '', ], ], ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'PublishFlowVersion', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294D68C1-5108-5971-853A-1A9CC87B4816\\",\\n \\"FlowName\\": \\"my-flow-name\\",\\n \\"Version\\": \\"1\\",\\n \\"Description\\": \\"my flow description\\",\\n \\"CreatedTime\\": \\"2025-10-24T14:11:26+08:00\\"\\n}","type":"json"}]', + ], + 'ReportTaskFailed' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '98865', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TaskToken', + 'in' => 'query', + 'schema' => ['description' => 'The token of the task whose execution you want to report. The task token is passed to the called service, such as Message Service (MNS) or Function Compute. For MNS, the value of this parameter can be obtained from a message. For Function Compute, the value of this parameter can be obtained from an event. For more information, see [Service integration modes](~~2592915~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'emptyString', 'title' => ''], + ], + [ + 'name' => 'Error', + 'in' => 'formData', + 'schema' => ['description' => 'The error code for the failed task. The error code must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'nill', 'title' => ''], + ], + [ + 'name' => 'Cause', + 'in' => 'formData', + 'schema' => ['description' => 'The cause of the failure. The value must be 1 to 4,096 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'emptyString', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'You do not need to specify this parameter for the first request. The returned value of **ScheduleEventId** is used as the token for the next query. No value is returned for the last query.'."\n", - 'type' => 'string', - 'example' => '3', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'Events' => [ - 'description' => 'The events.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the execution step. Valid values:'."\n" - ."\n" - .'* **StepEntered**'."\n" - .'* **StepStarted**'."\n" - .'* **StepSucceeded**'."\n" - .'* **StepFailed**'."\n" - .'* **StepExited**'."\n" - .'* **BranchEntered**'."\n" - .'* **BranchExited**'."\n" - .'* **IterationEntered**'."\n" - .'* **IterationExited**'."\n" - .'* **TaskScheduled**'."\n" - .'* **TaskStarted**'."\n" - .'* **TaskSubmitted**'."\n" - .'* **TaskSubmitFailed**'."\n" - .'* **TaskSucceeded**'."\n" - .'* **TaskFailed**'."\n" - .'* **TaskTimedOut**'."\n" - .'* **ExecutionStarted**'."\n" - .'* **ExecutionStopped**'."\n" - .'* **ExecutionSucceeded**'."\n" - .'* **ExecutionFailed**'."\n" - .'* **ExecutionTimedOut**'."\n", - 'type' => 'string', - 'example' => 'TaskSucceeded', - ], - 'EventId' => [ - 'description' => 'The ID of the execution step.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'Time' => [ - 'description' => 'The time when the event was updated.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'ScheduleEventId' => [ - 'description' => 'The ID of the scheduling step.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'EventDetail' => [ - 'description' => 'The details about the execution step.'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'StepName' => [ - 'description' => 'The name of the execution step.'."\n", - 'type' => 'string', - 'example' => 'passStep', - ], - ], - ], - ], + 'EventId' => ['description' => 'The ID of the event.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], ], + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => ''], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => ''], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => ''], + ['errorCode' => 'TaskAlreadyCompleted', 'errorMessage' => 'Task %s has already completed.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => ''], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => ''], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => ''], ], - [ - [ - 'errorCode' => 'ExecutionNotExists', - 'errorMessage' => 'Execution %s for flow %s does not exist.', - ], - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], + 409 => [ + ['errorCode' => 'TaskInvalidState', 'errorMessage' => 'Task is in an invalid state, please retry.', 'description' => ''], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => ''], + ], + 429 => [ + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EventId\\": 1,\\n \\"RequestId\\": \\"testRequestId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'ReportTaskFailed', + 'summary' => 'Reports a failed task.', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'In the previous service (Serverless Workflow), the task step that ReportTaskFailed is used to call back `pattern: waitForCallback` indicates that the current task fails to be executed.'."\n" + ."\n" + .'In the new service (CloudFlow), the task step that ReportTaskFailed is used to call back `TaskMode: WaitForCustomCallback` indicates that the current task fails to be executed.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:ReportTaskFailed', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"3\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Events\\": [\\n {\\n \\"Type\\": \\"TaskSucceeded\\",\\n \\"EventId\\": 2,\\n \\"Time\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"ScheduleEventId\\": 1,\\n \\"EventDetail\\": \\"{}\\",\\n \\"StepName\\": \\"passStep\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'GetExecutionHistory', - 'summary' => 'Queries the details about each step in an execution process.', ], - 'StartSyncExecution' => [ - 'summary' => 'Synchronously starts an execution in a flow.', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ReportTaskSucceeded' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '195751', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '98866', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'FlowName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the workflow to be executed.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my_flow_name', - ], - ], - [ - 'name' => 'ExecutionName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the execution that you want to start. The name must meet the following conventions:'."\n" - ."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* The name is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n" - ."\n" - .'Different from the StartExecution operation, in the synchronous execution mode, the execution name is no longer required to be unique within a flow. You can choose to provide an execution name to identify the current execution. In this case, the system adds a UUID to the current execution name. The used format is {ExecutionName}:{UUID}. If you do not specify the execution name, the system automatically generates an execution name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'my_exec_name', - ], - ], - [ - 'name' => 'Input', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The input of the execution, which is in the JSON format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key":"value"}', - ], + 'name' => 'TaskToken', + 'in' => 'query', + 'schema' => ['description' => 'The token of the task whose execution you want to report. The task token is passed to the called service, such as Message Service (MNS) or Function Compute. For MNS, the value of this parameter can be obtained from a message. For Function Compute, the value of this parameter can be obtained from an event. For more information, see [Service integration modes](~~2592915~~).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'emptyString', 'title' => ''], ], [ - 'name' => 'Qualifier', + 'name' => 'Output', 'in' => 'formData', - 'schema' => [ - 'title' => '指定流程版本或别名', - 'type' => 'string', - 'example' => '1', - ], + 'schema' => ['description' => 'The output information of the task whose execution success you want to report.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '{"key":"value"}', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'FlowName' => [ - 'description' => 'The name of the flow.'."\n", - 'type' => 'string', - 'example' => 'my_flow_name', - ], - 'Name' => [ - 'description' => 'The name of the execution.'."\n", - 'type' => 'string', - 'example' => 'my_exec_name:{UUID}', - ], - 'Status' => [ - 'description' => 'The status of the execution. Valid values:'."\n" - ."\n" - .'* **Starting**'."\n" - .'* **Running**'."\n" - .'* **Stopped**'."\n" - .'* **Succeeded**'."\n" - .'* **Failed**'."\n" - .'* **TimedOut**'."\n", - 'type' => 'string', - 'example' => 'Succeeded', - ], - 'ErrorCode' => [ - 'description' => 'The error code that is returned if the execution failed.'."\n", - 'type' => 'string', - 'example' => 'ActionNotSupported', - ], - 'ErrorMessage' => [ - 'description' => 'The error message that indicates the execution timed out.'."\n", - 'type' => 'string', - 'example' => 'Standard execution is not supported', - ], - 'Output' => [ - 'description' => 'The output of the execution, which is in the JSON format.'."\n", - 'type' => 'string', - 'example' => '{"key":"value"}', - ], - 'StartedTime' => [ - 'description' => 'The time when the execution started.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'StoppedTime' => [ - 'description' => 'The time when the execution stopped.'."\n", - 'type' => 'string', - 'example' => '2019-01-01T01:01:01.001Z', - ], - 'Environment' => [ - 'title' => 'Flow 执行时使用的环境变量列表', - 'type' => 'object', - 'properties' => [ - 'Variables' => [ - 'title' => 'Flow 执行时使用的环境变量列表', - 'type' => 'array', - 'items' => [ - 'title' => 'Flow 执行期间可以访问的变量列表', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'title' => '变量名称', - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'title' => '变量值', - 'type' => 'string', - 'example' => 'value', - ], - ], - ], - ], - ], - ], + 'EventId' => ['description' => 'The ID of the event.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], ], - 'description' => '', + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'ExecutionAlreadyExists', - 'errorMessage' => 'Execution %s for flow %s already exists.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation %s is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version %s is not supported yet. Please check.', - ], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => ''], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => ''], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => ''], + ['errorCode' => 'TaskAlreadyCompleted', 'errorMessage' => 'Task %s has already completed.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources does not belong to you.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => ''], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => ''], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => ''], ], - [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], + 409 => [ + ['errorCode' => 'TaskInvalidState', 'errorMessage' => 'Task is in an invalid state, please retry.', 'description' => ''], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => ''], ], 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"EventId\\": 1,\\n \\"RequestId\\": \\"testRequestId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'ReportTaskSucceeded', + 'summary' => 'Reports a successful task.', + 'description' => '## [](#)Usage notes'."\n" + ."\n" + .'In the previous service (Serverless Workflow), the task step that ReportTaskSucceeded is used to call back pattern: waitForCallback indicates that the current task is successfully executed.'."\n" + ."\n" + .'In the new service (CloudFlow), the task step that ReportTaskSucceeded is used to call back TaskMode: WaitForCustomCallback indicates that the current task is successfully executed.'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:ReportTaskSucceeded', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name:{UUID}\\",\\n \\"Status\\": \\"Succeeded\\",\\n \\"ErrorCode\\": \\"ActionNotSupported\\",\\n \\"ErrorMessage\\": \\"Standard execution is not supported\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'StartSyncExecution', - 'description' => '* Only flows of the express execution mode are supported.'."\n", ], - 'DescribeMapRun' => [ - 'summary' => '查询 MapRun 详情', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'StartExecution' => [ + 'summary' => 'Starts a flow execution.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'update', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '227531', - 'abilityTreeNodes' => [ - 'FEATUREfnfR0JC2A', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '98867', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ - [ - 'name' => 'RequestId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', - ], - ], [ 'name' => 'FlowName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my_flow_name', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The name of the flow to execute.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], ], [ 'name' => 'ExecutionName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my_exec_name', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The name of the execution. The name must be unique within the same flow. The name must meet the following requirements:'."\n" + ."\n" + .'- It must start with a letter (a-z or A-Z) or an underscore (\\_).'."\n" + ."\n" + .'- It can contain letters (a-z or A-Z), digits (0-9), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'- It is case-sensitive.'."\n" + ."\n" + .'- It must be 1 to 128 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'my_exec_name', 'title' => ''], ], [ - 'name' => 'MapRunName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'c39142f1345b196d678333c41f113200', - ], + 'name' => 'Input', + 'in' => 'formData', + 'schema' => ['description' => 'The input for the execution. The input must be in the JSON object format.', 'type' => 'string', 'required' => false, 'example' => '{"key":"value"}', 'title' => ''], + ], + [ + 'name' => 'CallbackFnFTaskToken', + 'in' => 'formData', + 'schema' => ['description' => 'The token of a task to be called back after the flow execution is complete.', 'type' => 'string', 'required' => false, 'example' => '12', 'title' => ''], + ], + [ + 'name' => 'Qualifier', + 'in' => 'formData', + 'schema' => ['description' => 'The version or alias of the flow.', 'type' => 'string', 'example' => '1', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Succeeded', - ], - 'StoppedTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2025-10-24T14:11:28+08:00', - ], - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', - ], - 'StartedTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2025-10-24T14:11:26+08:00', - ], - 'Concurrency' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'ToleratedFailedCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'ToleratedFailedPercentage' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'float', - 'example' => '20', - ], - 'ExecutionName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'my_exec_name', - ], - 'MapRunName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'c39142f1345b196d678333c41f113000', - ], - 'ItemCounts' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Pending' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Running' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Succeed' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Failed' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Aborted' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Total' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '500', - ], - ], - ], + 'Status' => ['description' => 'The status of the execution. Valid values:'."\n" + ."\n" + .'- **Starting**'."\n" + ."\n" + .'- **Running**'."\n" + ."\n" + .'- **Stopped**'."\n" + ."\n" + .'- **Succeeded**'."\n" + ."\n" + .'- **Failed**'."\n" + ."\n" + .'- **TimedOut**', 'type' => 'string', 'example' => 'Succeeded', 'title' => ''], + 'StoppedTime' => ['description' => 'The time when the execution stopped.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'StartedTime' => ['description' => 'The time when the execution started.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'FlowDefinition' => ['description' => 'The definition of the executed flow.', 'type' => 'string', 'example' => 'Legacy version:'."\n" + .'"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n - type: pass\\n name: mypass"'."\n" + ."\n" + .'New version:'."\n" + .'"Type: StateMachine\\nSpecVersion: v1\\nName: my_flow_name\\nStartAt: my_state\\nStates:\\n - Type: Pass\\n Name: my_state\\n End: true"', 'title' => ''], + 'Output' => ['description' => 'The output of the execution, in JSON object format.', 'type' => 'string', 'example' => '{"key":"value"}', 'title' => ''], + 'FlowName' => ['description' => 'The name of the flow.', 'type' => 'string', 'example' => 'my_flow_name', 'title' => ''], + 'Name' => ['description' => 'The name of the execution.', 'type' => 'string', 'example' => 'my_exec_name', 'title' => ''], + 'Input' => ['description' => 'The input for the execution, in JSON object format.', 'type' => 'string', 'example' => '{"key":"value"}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], + ['errorCode' => 'ExecutionAlreadyExists', 'errorMessage' => 'Execution %s for flow %s already exists.', 'description' => 'Execution %s for flow %s already exists.'], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], ], 403 => [ - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], ], [ - [ - 'errorCode' => 'ExecutionNotExists', - 'errorMessage' => 'Execution %s for flow %s does not exist.', - ], - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - ], - 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', - ], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], ], 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Succeeded\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"FlowDefinition\\": \\"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\\\\\\"\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name\\",\\n \\"Input\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\"\\n}","type":"json"}]', + 'title' => 'StartExecution', + 'description' => '## Description'."\n" + ."\n" + .'- The specified flow must exist and be in Standard execution mode.'."\n" + ."\n" + .'- If an execution name is not specified, the service automatically generates one and starts the execution.'."\n" + ."\n" + .'- If an execution with the same name is already in progress, a new execution is not started. Instead, the system returns the details of the ongoing execution.'."\n" + ."\n" + .'- If an execution with the same name has already completed, the system returns an `ExecutionAlreadyExists` error, regardless of whether the execution succeeded or failed.'."\n" + ."\n" + .'- If no execution with the same name exists, a new execution starts.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:StartExecution', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"Succeeded\\",\\n \\"StoppedTime\\": \\"2025-10-24T14:11:28+08:00\\",\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\",\\n \\"StartedTime\\": \\"2025-10-24T14:11:26+08:00\\",\\n \\"Concurrency\\": 1,\\n \\"ToleratedFailedCount\\": 100,\\n \\"ToleratedFailedPercentage\\": 20,\\n \\"ExecutionName\\": \\"my_exec_name\\",\\n \\"MapRunName\\": \\"c39142f1345b196d678333c41f113000\\",\\n \\"ItemCounts\\": {\\n \\"Pending\\": 100,\\n \\"Running\\": 100,\\n \\"Succeed\\": 100,\\n \\"Failed\\": 100,\\n \\"Aborted\\": 100,\\n \\"Total\\": 500\\n }\\n}","type":"json"}]', + 'translator' => 'machine', ], - 'UpdateMapRun' => [ - 'summary' => '更新 MapRun 配置', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'StartSyncExecution' => [ + 'summary' => 'Synchronously starts a flow execution.', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '227533', - 'abilityTreeNodes' => [ - 'FEATUREfnfR0JC2A', - ], + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '195751', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ - [ - 'name' => 'RequestId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', - ], - ], [ 'name' => 'FlowName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my_flow_name', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The name of the flow to execute.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'title' => '', 'example' => 'my_flow_name'], ], [ 'name' => 'ExecutionName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'my_exec_name', - ], - ], - [ - 'name' => 'MapRunName', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => 'c39142f1345b196d678333c41f113100', - ], - ], - [ - 'name' => 'Concurrency', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'in' => 'formData', + 'schema' => ['description' => 'The name of the execution. The name must meet the following requirements:'."\n" + ."\n" + .'- It can contain letters (a–z and A–Z), digits (0–9), underscores (\\_), and hyphens (-).'."\n" + ."\n" + .'- It must start with a letter (a–z or A–Z) or an underscore (\\_).'."\n" + ."\n" + .'- It is case-sensitive.'."\n" + ."\n" + .'- It must be 1 to 128 characters in length.'."\n" + ."\n" + .'Unlike the StartExecution operation, the execution name for a synchronous call does not need to be unique within a flow. You can specify an execution name to identify the execution. The system appends a UUID to the name in the \\`{ExecutionName}:{UUID}\\` format. If you do not specify an execution name, the system automatically generates one.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => 'my_exec_name'], ], [ - 'name' => 'ToleratedFailedCount', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '100', - ], + 'name' => 'Input', + 'in' => 'formData', + 'schema' => ['description' => 'The input of the execution. The input must be in JSON format.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => '{"key":"value"}'], ], [ - 'name' => 'ToleratedFailedPercentage', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '20', - ], + 'name' => 'Qualifier', + 'in' => 'formData', + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The version or alias of the flow.', 'required' => false, 'example' => '1'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', - ], - 'FlowName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'my_flow_name', - ], - 'ExecutionName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'my_exec_name', - ], - 'MapRunName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'c39142f1345b196d678333c41f113000', - ], - 'Concurrency' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'ToleratedFailedCount' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'ToleratedFailedPercentage' => [ - 'description' => '', - 'type' => 'number', - 'format' => 'float', - 'example' => '20', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'title' => '', 'example' => 'testRequestId'], + 'FlowName' => ['description' => 'The name of the flow.', 'type' => 'string', 'title' => '', 'example' => 'my_flow_name'], + 'Name' => ['description' => 'The name of the flow execution.', 'type' => 'string', 'title' => '', 'example' => 'my_exec_name:{UUID}'], + 'Status' => ['description' => 'The status of the execution. Valid values:'."\n" + ."\n" + .'- **Starting**'."\n" + ."\n" + .'- **Running**'."\n" + ."\n" + .'- **Stopped**'."\n" + ."\n" + .'- **Succeeded**'."\n" + ."\n" + .'- **Failed**'."\n" + ."\n" + .'- **TimedOut**', 'type' => 'string', 'title' => '', 'example' => 'Succeeded'], + 'ErrorCode' => ['description' => 'The error code returned if the execution fails.', 'type' => 'string', 'title' => '', 'example' => 'ActionNotSupported'], + 'ErrorMessage' => ['description' => 'The execution timed out.', 'type' => 'string', 'title' => '', 'example' => 'Standard execution is not supported'], + 'Output' => ['description' => 'The output of the execution, which is a JSON object.', 'type' => 'string', 'title' => '', 'example' => '{"key":"value"}'], + 'StartedTime' => ['description' => 'The time when the execution started.', 'type' => 'string', 'title' => '', 'example' => '2019-01-01T01:01:01.001Z'], + 'StoppedTime' => ['description' => 'The time when the execution stopped.', 'type' => 'string', 'title' => '', 'example' => '2019-01-01T01:01:01.001Z'], + 'Environment' => [ + 'type' => 'object', + 'properties' => [ + 'Variables' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['type' => 'string', 'title' => '', 'description' => 'The name of the variable.', 'example' => 'key'], + 'Value' => ['type' => 'string', 'title' => '', 'description' => 'The value of the variable.', 'example' => 'value'], + ], + 'title' => '', + 'description' => 'The variables that are accessible during the execution of the flow.', + 'example' => '', + ], + 'title' => '', + 'description' => 'A list of environment variables.', + 'example' => '', + ], + ], + 'description' => 'The environment variables used during the flow execution.', + 'title' => '', + 'example' => '', ], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], + ['errorCode' => 'ExecutionAlreadyExists', 'errorMessage' => 'Execution %s for flow %s already exists.', 'description' => 'Execution %s for flow %s already exists.'], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation %s is incorrect. Please check.', 'description' => 'The requested API operation %s is incorrect. Please check.'], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version %s is not supported yet. Please check.', 'description' => 'The requested API version %s is not supported yet. Please check.'], ], 403 => [ - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources does not belong to you.', 'description' => 'The request is denied due to the authority check failure.'], ], [ - [ - 'errorCode' => 'ExecutionNotExists', - 'errorMessage' => 'Execution %s for flow %s does not exist.', - ], - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - ], - 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', - ], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], ], 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name:{UUID}\\",\\n \\"Status\\": \\"Succeeded\\",\\n \\"ErrorCode\\": \\"ActionNotSupported\\",\\n \\"ErrorMessage\\": \\"Standard execution is not supported\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'StartSyncExecution', + 'description' => '- This operation supports only flows in Express mode.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:StartSyncExecution', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"ExecutionName\\": \\"my_exec_name\\",\\n \\"MapRunName\\": \\"c39142f1345b196d678333c41f113000\\",\\n \\"Concurrency\\": 1,\\n \\"ToleratedFailedCount\\": 100,\\n \\"ToleratedFailedPercentage\\": 20\\n}","type":"json"}]', ], - 'ReportTaskFailed' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'StopExecution' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '98865', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '98868', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'TaskToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token of the task whose execution you want to report. The task token is passed to the called service, such as Message Service (MNS) or Function Compute. For MNS, the value of this parameter can be obtained from a message. For Function Compute, the value of this parameter can be obtained from an event. For more information, see [Service integration modes](~~2592915~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'emptyString', - ], + 'name' => 'FlowName', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the workflow to be stopped. You can call the **ListFlows** operation to obtain the value of this parameter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], ], [ - 'name' => 'Error', + 'name' => 'ExecutionName', 'in' => 'formData', - 'schema' => [ - 'description' => 'The error code for the failed task. The error code must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'nill', - ], + 'schema' => ['description' => 'The name of the execution to be stopped. You can call the **ListExecutions** operation to obtain the value of this parameter.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_exec_name', 'title' => ''], ], [ 'name' => 'Cause', 'in' => 'formData', - 'schema' => [ - 'description' => 'The cause of the failure. The value must be 1 to 4,096 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'emptyString', - ], + 'schema' => ['description' => 'The reason for stopping the execution. The value must be 1 to 4,096 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'for test', 'title' => ''], + ], + [ + 'name' => 'Error', + 'in' => 'formData', + 'schema' => ['description' => 'The error code for stopping the execution. The error code must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'InvalidArgument', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'Schema of response.'."\n", 'type' => 'object', 'properties' => [ - 'EventId' => [ - 'description' => 'The ID of the event.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], + 'Status' => ['description' => 'The execution status. Valid values:'."\n" + ."\n" + .'* **Starting**'."\n" + .'* **Running**'."\n" + .'* **Stopped**'."\n" + .'* **Succeeded**'."\n" + .'* **Failed**'."\n" + .'* **TimedOut**'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'StoppedTime' => ['description' => 'The time when the execution stopped.'."\n", 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'StartedTime' => ['description' => 'The time when the execution started.'."\n", 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'FlowDefinition' => ['description' => 'The definition of the flow.'."\n", 'type' => 'string', 'example' => 'Legacy version:'."\n" + .'"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n - type: pass\\n name: mypass"'."\n" + ."\n" + .'New version:'."\n" + .'"Type: StateMachine\\nSpecVersion: v1\\nName: my_flow_name\\nStartAt: my_state\\nStates:\\n - Type: Pass\\n Name: my_state\\n End: true"', 'title' => ''], + 'Output' => ['description' => 'The execution result, which is in the JSON format.'."\n", 'type' => 'string', 'example' => '{"key":"value"}', 'title' => ''], + 'FlowName' => ['description' => 'The name of the flow.'."\n", 'type' => 'string', 'example' => 'my_flow_name', 'title' => ''], + 'Name' => ['description' => 'The name of the execution.'."\n", 'type' => 'string', 'example' => 'my_exec_name', 'title' => ''], + 'Input' => ['description' => 'The input of the execution, which is in the JSON format.'."\n", 'type' => 'string', 'example' => '{"key":"value"}', 'title' => ''], + 'RoleArn' => ['description' => 'The Alibaba Cloud resource name (ARN) of the role that executed the flow. If the RoleArn in the flow definition is changed during the execution of the flow, the system records and returns a snapshot of the original RoleArn.'."\n" + ."\n" + .'> If you do not specify the RoleArn parameter in the request parameters, the response parameters do not contain the RoleArn parameter.'."\n", 'type' => 'string', 'example' => 'acs:ram:${region}:${accountID}:${role}', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], - [ - 'errorCode' => 'TaskAlreadyCompleted', - 'errorMessage' => 'Task %s has already completed.', - ], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], + ['errorCode' => 'ExecutionAlreadyCompleted', 'errorMessage' => 'Execution \'%s\' for flow \'%s\' has already completed.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], + ], + [ + ['errorCode' => 'ExecutionNotExists', 'errorMessage' => 'Execution %s for flow %s does not exist.', 'description' => 'Execution %s for flow %s does not exist.'], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], ], 409 => [ - [ - 'errorCode' => 'TaskInvalidState', - 'errorMessage' => 'Task is in an invalid state, please retry.', - ], + ['errorCode' => 'ConcurrentUpdateError', 'errorMessage' => 'Update conflict, please retry.', 'description' => 'Update conflict, please retry.'], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], ], 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EventId\\": 1,\\n \\"RequestId\\": \\"testRequestId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'ReportTaskFailed', - 'summary' => 'Reports a failed task.', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Running\\",\\n \\"StoppedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"StartedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"FlowDefinition\\": \\"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\\\\\\"\\",\\n \\"Output\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"Name\\": \\"my_exec_name\\",\\n \\"Input\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"RoleArn\\": \\"acs:ram:${region}:${accountID}:${role}\\"\\n}","errorExample":""},{"type":"xml","example":"\\n Running\\n 2019-01-01T01:01:01.001Z\\n testRequestId\\n 2019-01-01T01:01:01.001Z\\n version: v1.0\\\\ntype: flow\\\\nname: test\\\\nsteps:\\\\n - type: pass\\\\n name: mypass\\n {\\"key\\":\\"value\\"}\\n flow\\n exec\\n {\\"key\\":\\"value\\"}\\n","errorExample":""}]', + 'title' => 'StopExecution', + 'summary' => 'Stops an execution that is in progress in a flow.', 'description' => '## [](#)Usage notes'."\n" ."\n" - .'In the previous service (Serverless Workflow), the task step that ReportTaskFailed is used to call back `pattern: waitForCallback` indicates that the current task fails to be executed.'."\n" - ."\n" - .'In the new service (CloudFlow), the task step that ReportTaskFailed is used to call back `TaskMode: WaitForCustomCallback` indicates that the current task fails to be executed.'."\n", - ], - 'ReportTaskSucceeded' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + .'The flow must be in progress.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:StopExecution', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpdateFlow' => [ + 'summary' => 'Updates the content of a flow.', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '98866', - 'abilityTreeNodes' => [ - 'FEATUREfnf8CPMA5', - ], - 'tenantRelevance' => 'publicInformation', + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '98869', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], ], 'parameters' => [ [ - 'name' => 'TaskToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'The token of the task whose execution you want to report. The task token is passed to the called service, such as Message Service (MNS) or Function Compute. For MNS, the value of this parameter can be obtained from a message. For Function Compute, the value of this parameter can be obtained from an event. For more information, see [Service integration modes](~~2592915~~).'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'emptyString', - ], + 'name' => 'Name', + 'in' => 'formData', + 'schema' => ['description' => 'The name of the flow that you created.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], ], [ - 'name' => 'Output', + 'name' => 'Definition', + 'in' => 'formData', + 'schema' => ['description' => 'The definition of the flow. The definition must follow the syntax of Flow Definition Language (FDL). For forward compatibility, the system supports two versions of the flow definition specification.'."\n" + ."\n" + .'> In the preceding example, Name: my\\_flow\\_name indicates the flow name, which must be the same as the value of the Name request parameter.', 'type' => 'string', 'example' => 'Legacy version:'."\n" + .'"'."\n" + .'type: flow'."\n" + .'version: v1'."\n" + .'name: my_flow_name'."\n" + .'steps:'."\n" + .' - type: pass'."\n" + .' name: mypass'."\n" + .'"'."\n" + ."\n" + .'New version:'."\n" + .'"'."\n" + .'Type: StateMachine'."\n" + .'SpecVersion: v1'."\n" + .'Name: my_flow_name'."\n" + .'StartAt: my_state'."\n" + .'States:'."\n" + .' - Type: Pass'."\n" + .' Name: my_state'."\n" + .' End: true'."\n" + .'"', 'required' => false, 'title' => ''], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => ['description' => 'The description of the flow.', 'type' => 'string', 'required' => false, 'example' => 'my test flow', 'title' => ''], + ], + [ + 'name' => 'Type', + 'in' => 'formData', + 'schema' => ['description' => 'The type of the flow. Set the value to **FDL**.', 'type' => 'string', 'required' => false, 'example' => 'FDL', 'title' => ''], + ], + [ + 'name' => 'RoleArn', + 'in' => 'formData', + 'schema' => ['description' => 'The resource descriptor of the role that the flow execution relies on. When a flow is executed, the execution engine assumes this role to call the related resource APIs.', 'type' => 'string', 'required' => false, 'example' => 'acs:ram:${region}:${accountID}:${role}', 'title' => ''], + ], + [ + 'name' => 'Environment', 'in' => 'formData', + 'style' => 'json', 'schema' => [ - 'description' => 'The output information of the task whose execution success you want to report.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '{"key":"value"}', + 'type' => 'object', + 'properties' => [ + 'Variables' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the variable.', 'type' => 'string', 'example' => 'key', 'title' => '', 'required' => false], + 'Value' => ['description' => 'The value of the variable.', 'type' => 'string', 'example' => 'value', 'title' => '', 'required' => false], + 'Description' => ['description' => 'The description of the variable.', 'type' => 'string', 'example' => 'description', 'title' => '', 'required' => false], + ], + 'title' => '', + 'description' => 'The list of variables that can be accessed during the execution of the flow.', + 'required' => false, + 'example' => '', + ], + 'title' => '', + 'description' => 'The list of variables that can be accessed during the execution of the flow.', + 'required' => false, + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'The list of variables that can be accessed during the execution of the flow.', + 'required' => false, + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'EventId' => [ - 'description' => 'The ID of the event.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', + 'Type' => ['description' => 'The type of the flow.', 'type' => 'string', 'example' => 'FDL', 'title' => ''], + 'Definition' => ['description' => 'The definition of the flow. The definition must follow the syntax of FDL. For forward compatibility, the system supports two versions of the flow definition specification.', 'type' => 'string', 'example' => 'Legacy version:'."\n" + .'"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n - type: pass\\n name: mypass"'."\n" + ."\n" + .'New version:'."\n" + .'"Type: StateMachine\\nSpecVersion: v1\\nName: my_flow_name\\nStartAt: my_state\\nStates:\\n - Type: Pass\\n Name: my_state\\n End: true"', 'title' => ''], + 'RoleArn' => ['description' => 'The resource descriptor of the role that the flow execution relies on. When a flow is executed, the execution engine assumes this role to call the related resource APIs.', 'type' => 'string', 'example' => 'acs:ram:${region}:${accountID}:${role}', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'testRequestID', 'title' => ''], + 'Description' => ['description' => 'The description of the flow.', 'type' => 'string', 'example' => 'my test flow', 'title' => ''], + 'ExternalStorageLocation' => ['description' => 'The external storage location.', 'type' => 'string', 'example' => '/path', 'title' => ''], + 'Name' => ['description' => 'The name of the flow.', 'type' => 'string', 'example' => 'my_flow_name', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the flow was created.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'LastModifiedTime' => ['description' => 'The time when the flow was last modified.', 'type' => 'string', 'example' => '2019-01-01T01:01:01.001Z', 'title' => ''], + 'Id' => ['description' => 'The unique ID of the flow.', 'type' => 'string', 'example' => 'e589e092-e2c0-4dee-b306-3574ddfdddf5****', 'title' => ''], + 'Environment' => [ + 'type' => 'object', + 'properties' => [ + 'Variables' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The name of the variable.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'The value of the variable.', 'type' => 'string', 'example' => 'value', 'title' => ''], + 'Description' => ['description' => 'The description of the variable.', 'type' => 'string', 'example' => 'description', 'title' => ''], + ], + 'title' => '', + 'description' => 'The list of variables that can be accessed during the execution of the flow.', + 'example' => '', + ], + 'title' => '', + 'description' => 'The list of variables that can be accessed during the execution of the flow.', + 'example' => '', + ], + ], + 'description' => 'The list of variables that can be accessed during the execution of the flow.', + 'title' => '', + 'example' => '', ], + 'ResourceGroupId' => ['type' => 'string', 'example' => 'rg-xxx', 'description' => '', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'EntityTooLarge', - 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], - [ - 'errorCode' => 'TaskAlreadyCompleted', - 'errorMessage' => 'Task %s has already completed.', - ], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - [ - 'errorCode' => 'InvalidAccessKeyID', - 'errorMessage' => 'The AccessKey ID %s is invalid.', - ], - [ - 'errorCode' => 'RequestTimeTooSkewed', - 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', - ], - [ - 'errorCode' => 'SignatureNotMatch', - 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], + ], + [ + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], ], 409 => [ - [ - 'errorCode' => 'TaskInvalidState', - 'errorMessage' => 'Task is in an invalid state, please retry.', - ], + ['errorCode' => 'ConcurrentUpdateError', 'errorMessage' => 'Update conflict, please retry.', 'description' => 'Update conflict, please retry.'], + ], + 412 => [ + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => 'The resource to be modified has been changed. Please try again later.'], ], 415 => [ - [ - 'errorCode' => 'UnsupportedMediaType', - 'errorMessage' => 'The content type must be "application/json".', - ], + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], ], 429 => [ - [ - 'errorCode' => 'ResourceThrottled', - 'errorMessage' => 'The request is throttled. Please try again later.', - ], + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Type\\": \\"FDL\\",\\n \\"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\\\\\\"\\",\\n \\"RoleArn\\": \\"acs:ram:${region}:${accountID}:${role}\\",\\n \\"RequestId\\": \\"testRequestID\\",\\n \\"Description\\": \\"my test flow\\",\\n \\"ExternalStorageLocation\\": \\"/path\\",\\n \\"Name\\": \\"my_flow_name\\",\\n \\"CreatedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2019-01-01T01:01:01.001Z\\",\\n \\"Id\\": \\"e589e092-e2c0-4dee-b306-3574ddfdddf5****\\",\\n \\"Environment\\": {\\n \\"Variables\\": [\\n {\\n \\"Name\\": \\"key\\",\\n \\"Value\\": \\"value\\",\\n \\"Description\\": \\"description\\"\\n }\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-xxx\\"\\n}","type":"json"}]', + 'title' => 'UpdateFlow', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:UpdateFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"EventId\\": 1,\\n \\"RequestId\\": \\"testRequestId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'ReportTaskSucceeded', - 'summary' => 'Reports a successful task.', - 'description' => '## [](#)Usage notes'."\n" - ."\n" - .'In the previous service (Serverless Workflow), the task step that ReportTaskSucceeded is used to call back pattern: waitForCallback indicates that the current task is successfully executed.'."\n" - ."\n" - .'In the new service (CloudFlow), the task step that ReportTaskSucceeded is used to call back TaskMode: WaitForCustomCallback indicates that the current task is successfully executed.'."\n", + 'translator' => 'machine', ], - 'CreateSchedule' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateFlowAlias' => [ + 'summary' => 'Updates the alias configuration for a flow.', + 'path' => '', + 'methods' => ['post', 'get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '98855', - 'abilityTreeNodes' => [ - 'FEATUREfnf06LH4G', - ], + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREfnf8CPMA5'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ 'name' => 'FlowName', 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the workflow that is associated with the time-based schedule.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'flow', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The name of the flow.', 'required' => true, 'example' => 'example-flow-name'], ], [ - 'name' => 'ScheduleName', + 'name' => 'Name', 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the time-based schedule. The name must meet the following conventions:'."\n" - ."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* It is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testScheduleName', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The name of the alias.', 'required' => true, 'example' => 'alias name'], ], [ 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the time-based schedule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test description', - ], - ], - [ - 'name' => 'Payload', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The trigger message of the time-based schedule. Specify the value in the JSON format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key": "value"}', - ], - ], - [ - 'name' => 'CronExpression', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The CRON expression.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => '0 * * * * *', - ], + 'schema' => ['type' => 'string', 'title' => '', 'description' => 'The description of the alias.', 'required' => false, 'example' => 'example description'], ], [ - 'name' => 'Enable', + 'name' => 'RoutingConfigurations', 'in' => 'formData', + 'style' => 'json', 'schema' => [ - 'description' => 'Specifies whether to enable the time-based schedule. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Version' => ['type' => 'string', 'title' => '', 'description' => 'The version.', 'required' => false, 'example' => '1'], + 'Weight' => ['type' => 'integer', 'format' => 'int32', 'description' => 'The weight.', 'required' => false, 'title' => '', 'example' => '20'], + ], + 'description' => 'The traffic distribution configuration. Configure one or two flow versions. When an execution starts for the alias, the system selects a flow version based on the specified weights.', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'description' => 'The weight configuration.', 'required' => false, - 'example' => 'true', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'Description' => [ - 'description' => 'The description of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'test description', - ], - 'ScheduleId' => [ - 'description' => 'The ID of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'testScheduleId', - ], - 'Payload' => [ - 'description' => 'The trigger message of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => '{"key": "value"}', - ], - 'ScheduleName' => [ - 'description' => 'The name of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'testScheduleName', - ], - 'CreatedTime' => [ - 'description' => 'The time when the time-based schedule was created.'."\n", - 'type' => 'string', - 'example' => '2020-01-01T01:01:01.001Z', - ], - 'LastModifiedTime' => [ - 'description' => 'The time when the time-based schedule was last modified.'."\n", - 'type' => 'string', - 'example' => '2020-01-01T01:01:01.001Z', - ], - 'CronExpression' => [ - 'description' => 'The CRON expression.'."\n", - 'type' => 'string', - 'example' => '0 * * * * *', - ], - 'Enable' => [ - 'description' => 'Indicates whether the time-based schedule is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'RequestId' => ['type' => 'string', 'title' => '', 'description' => 'Id of the request', 'example' => '294D68C1-5108-5971-853A-1A9CC87B4816'], + 'Alias' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['type' => 'string', 'title' => '', 'description' => 'The name of the alias.', 'example' => 'my-alias-name'], + 'Description' => ['type' => 'string', 'title' => '', 'description' => 'The description of the alias.', 'example' => 'my alias description'], + 'RoutingConfigurations' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Version' => ['type' => 'string', 'title' => '', 'description' => 'The version.', 'example' => '1'], + 'Weight' => ['type' => 'integer', 'format' => 'int32', 'title' => '', 'description' => 'The weight.', 'example' => '20'], + ], + 'description' => 'The traffic distribution configuration. Configure one or two flow versions. When an execution starts for the alias, the system selects a flow version based on the specified weights.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'description' => 'The weight configuration.', + 'example' => '', + ], + 'CreatedTime' => ['type' => 'string', 'title' => '', 'description' => 'The time when the alias was created.', 'example' => '2025-10-24T14:11:26+08:00'], + ], + 'title' => '', + 'description' => 'The alias information.', + 'example' => '', ], ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], - ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], - ], - [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - ], - 409 => [ - [ - 'errorCode' => 'ConcurrentUpdateError', - 'errorMessage' => 'Update conflict, please retry.', - ], - [ - 'errorCode' => 'ScheduleAlreadyExists', - 'errorMessage' => 'The schedule %s already exists in flow %s.', - ], - ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UpdateFlowAlias', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Description\\": \\"test description\\",\\n \\"ScheduleId\\": \\"testScheduleId\\",\\n \\"Payload\\": \\"{\\\\\\"key\\\\\\": \\\\\\"value\\\\\\"}\\",\\n \\"ScheduleName\\": \\"testScheduleName\\",\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"CronExpression\\": \\"0 * * * * *\\",\\n \\"Enable\\": true\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'CreateSchedule', - 'summary' => 'Creates a time-based schedule.', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"294D68C1-5108-5971-853A-1A9CC87B4816\\",\\n \\"Alias\\": {\\n \\"Name\\": \\"my-alias-name\\",\\n \\"Description\\": \\"my alias description\\",\\n \\"RoutingConfigurations\\": [\\n {\\n \\"Version\\": \\"1\\",\\n \\"Weight\\": 20\\n }\\n ],\\n \\"CreatedTime\\": \\"2025-10-24T14:11:26+08:00\\"\\n }\\n}","type":"json"}]', + 'translator' => 'machine', ], - 'DeleteSchedule' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateMapRun' => [ + 'summary' => 'Updates the configuration of a MapRun.', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '98857', - 'abilityTreeNodes' => [ - 'FEATUREfnf06LH4G', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '227533', + 'abilityTreeNodes' => ['FEATUREfnfR0JC2A'], 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ + [ + 'name' => 'RequestId', + 'in' => 'query', + 'schema' => ['description' => 'Request ID.', 'type' => 'string', 'required' => false, 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164', 'title' => ''], + ], [ 'name' => 'FlowName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the workflow with which the scheduling task that you want to delete is associated.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testFlowName', - ], + 'in' => 'query', + 'schema' => ['description' => 'Name of the flow.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_flow_name', 'title' => ''], ], [ - 'name' => 'ScheduleName', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the scheduling task that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testScheduleName', - ], + 'name' => 'ExecutionName', + 'in' => 'query', + 'schema' => ['description' => 'Name of the execution.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'my_exec_name', 'title' => ''], + ], + [ + 'name' => 'MapRunName', + 'in' => 'query', + 'schema' => ['description' => 'Name of the MapRun. Retrieve this value from the output of the `MapRunStarted` event.', 'type' => 'string', 'required' => true, 'example' => 'c39142f1345b196d678333c41f113100', 'title' => ''], + ], + [ + 'name' => 'Concurrency', + 'in' => 'query', + 'schema' => ['description' => 'The concurrency limit for the MapRun runtime. The default quota for a single account is 300. You can request a quota increase in Quota Center.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'ToleratedFailedCount', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of failed items that are allowed.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''], + ], + [ + 'name' => 'ToleratedFailedPercentage', + 'in' => 'query', + 'schema' => ['description' => 'The maximum percentage of failed items that are allowed. Valid range: 0 to 100.', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'title' => '', 'example' => '3A44E113-9962-5B0B-AB92-14060EFE3164'], + 'FlowName' => ['description' => 'Name of the flow.', 'type' => 'string', 'example' => 'my_flow_name', 'title' => ''], + 'ExecutionName' => ['description' => 'Name of the execution.', 'type' => 'string', 'example' => 'my_exec_name', 'title' => ''], + 'MapRunName' => ['description' => 'Name of the MapRun.', 'type' => 'string', 'example' => 'c39142f1345b196d678333c41f113000', 'title' => ''], + 'Concurrency' => ['description' => 'The concurrency limit for the MapRun runtime.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'ToleratedFailedCount' => ['description' => 'The maximum number of failed items that are allowed.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'ToleratedFailedPercentage' => ['description' => 'The maximum percentage of failed items that are allowed.', 'type' => 'number', 'format' => 'float', 'example' => '20', 'title' => ''], ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => 'Parameter error.'], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => 'The HTTP header \'%s\' must be specified.'], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => 'The HTTP query \'%s\' must be specified.'], + ['errorCode' => 'ActionNotSupported', 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', 'description' => ''], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'EntityTooLarge', 'errorMessage' => 'The payload size exceeds maximum allowed size (%s bytes).', 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], + ['errorCode' => 'InvalidAccessKeyID', 'errorMessage' => 'The AccessKey ID %s is invalid.', 'description' => 'The AccessKey ID %s is invalid.'], + ['errorCode' => 'RequestTimeTooSkewed', 'errorMessage' => 'The difference between the request time %s and the current time %s is too large.', 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['errorCode' => 'SignatureNotMatch', 'errorMessage' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], ], [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - [ - 'errorCode' => 'ScheduleNotExists', - 'errorMessage' => 'The schedule %s for flow %s does not exist.', - ], - ], - 409 => [ - [ - 'errorCode' => 'ConcurrentUpdateError', - 'errorMessage' => 'Update conflict, please retry.', - ], + ['errorCode' => 'ExecutionNotExists', 'errorMessage' => 'Execution %s for flow %s does not exist.', 'description' => 'Execution %s for flow %s does not exist.'], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => 'Flow %s does not exist.'], ], 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', - ], + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => 'The resource to be modified has been changed. Please try again later.'], + ], + 415 => [ + ['errorCode' => 'UnsupportedMediaType', 'errorMessage' => 'The content type must be "application/json".', 'description' => 'The content type must be "application/json".'], + ], + 429 => [ + ['errorCode' => 'ResourceThrottled', 'errorMessage' => 'The request is throttled. Please try again later.', 'description' => 'The request is throttled. Please try again later.'], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => 'An internal error has occurred. Please retry.'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => 'UpdateMapRun', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"testRequestId\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'DeleteSchedule', - 'summary' => 'Deletes a time-based scheduling task.', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3A44E113-9962-5B0B-AB92-14060EFE3164\\",\\n \\"FlowName\\": \\"my_flow_name\\",\\n \\"ExecutionName\\": \\"my_exec_name\\",\\n \\"MapRunName\\": \\"c39142f1345b196d678333c41f113000\\",\\n \\"Concurrency\\": 1,\\n \\"ToleratedFailedCount\\": 100,\\n \\"ToleratedFailedPercentage\\": 20\\n}","type":"json"}]', ], - 'UpdateSchedule' => [ - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateSchedule' => [ + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4973,85 +3436,51 @@ 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '98870', - 'abilityTreeNodes' => [ - 'FEATUREfnf06LH4G', - ], + 'abilityTreeNodes' => ['FEATUREfnf06LH4G'], ], 'parameters' => [ [ 'name' => 'FlowName', 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the flow that is associated with the time-based schedule. The name must be unique within the region and cannot be modified after the time-based schedule is created. The name must meet the following conventions:'."\n" - ."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* The name is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testFlowName', - ], + 'schema' => ['description' => 'The name of the flow that is associated with the time-based schedule. The name must be unique within the region and cannot be modified after the time-based schedule is created. The name must meet the following conventions:'."\n" + ."\n" + .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" + .'* The name must start with a letter or an underscore (\\_).'."\n" + .'* The name is case-sensitive.'."\n" + .'* The name must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testFlowName', 'title' => ''], ], [ 'name' => 'ScheduleName', 'in' => 'formData', - 'schema' => [ - 'description' => 'The name of the time-based schedule. The name must meet the following conventions:'."\n" - ."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* The name is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testScheduleName', - ], + 'schema' => ['description' => 'The name of the time-based schedule. The name must meet the following conventions:'."\n" + ."\n" + .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" + .'* The name must start with a letter or an underscore (\\_).'."\n" + .'* The name is case-sensitive.'."\n" + .'* The name must be 1 to 128 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'testScheduleName', 'title' => ''], ], [ 'name' => 'Description', 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the time-based schedule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test description', - ], + 'schema' => ['description' => 'The description of the time-based schedule.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test description', 'title' => ''], ], [ 'name' => 'Payload', 'in' => 'formData', - 'schema' => [ - 'description' => 'The trigger message of the time-based schedule. It must be in the JSON format.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"key": "value"}', - ], + 'schema' => ['description' => 'The trigger message of the time-based schedule. It must be in the JSON format.'."\n", 'type' => 'string', 'required' => false, 'example' => '{"key": "value"}', 'title' => ''], ], [ 'name' => 'CronExpression', 'in' => 'formData', - 'schema' => [ - 'description' => 'The CRON expression.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0 * * * * *', - ], + 'schema' => ['description' => 'The CRON expression.'."\n", 'type' => 'string', 'required' => false, 'example' => '0 * * * * *', 'title' => ''], ], [ 'name' => 'Enable', 'in' => 'formData', - 'schema' => [ - 'description' => 'Specifies whether to enable the time-based schedule. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to enable the time-based schedule. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ @@ -5060,507 +3489,357 @@ 'description' => 'The schema of response.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'Description' => [ - 'description' => 'The description of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'test description', - ], - 'ScheduleId' => [ - 'description' => 'The ID of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'testScheduleId', - ], - 'Payload' => [ - 'description' => 'The trigger message of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => '{"key": "value"}', - ], - 'ScheduleName' => [ - 'description' => 'The name of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'testScheduleName', - ], - 'CreatedTime' => [ - 'description' => 'The time when the time-based schedule was created.'."\n", - 'type' => 'string', - 'example' => '2020-01-01T01:01:01.001Z', - ], - 'LastModifiedTime' => [ - 'description' => 'The time when the time-based schedule was last updated.'."\n", - 'type' => 'string', - 'example' => '2020-01-01T01:01:01.001Z', - ], - 'CronExpression' => [ - 'description' => 'The CRON expression.'."\n", - 'type' => 'string', - 'example' => '0 * * * * *', - ], - 'Enable' => [ - 'description' => 'Indicates whether the time-based schedule is enabled. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'testRequestId', 'title' => ''], + 'Description' => ['description' => 'The description of the time-based schedule.'."\n", 'type' => 'string', 'example' => 'test description', 'title' => ''], + 'ScheduleId' => ['description' => 'The ID of the time-based schedule.'."\n", 'type' => 'string', 'example' => 'testScheduleId', 'title' => ''], + 'Payload' => ['description' => 'The trigger message of the time-based schedule.'."\n", 'type' => 'string', 'example' => '{"key": "value"}', 'title' => ''], + 'ScheduleName' => ['description' => 'The name of the time-based schedule.'."\n", 'type' => 'string', 'example' => 'testScheduleName', 'title' => ''], + 'CreatedTime' => ['description' => 'The time when the time-based schedule was created.'."\n", 'type' => 'string', 'example' => '2020-01-01T01:01:01.001Z', 'title' => ''], + 'LastModifiedTime' => ['description' => 'The time when the time-based schedule was last updated.'."\n", 'type' => 'string', 'example' => '2020-01-01T01:01:01.001Z', 'title' => ''], + 'CronExpression' => ['description' => 'The CRON expression.'."\n", 'type' => 'string', 'example' => '0 * * * * *', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether the time-based schedule is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', - ], + ['errorCode' => 'APIVersionNotSupported', 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', 'description' => ''], + ['errorCode' => 'InvalidArgument', 'errorMessage' => 'Parameter error.', 'description' => ''], + ['errorCode' => 'MissingRequiredHeader', 'errorMessage' => 'The HTTP header \'%s\' must be specified.', 'description' => ''], + ['errorCode' => 'MissingRequiredParams', 'errorMessage' => 'The HTTP query \'%s\' must be specified.', 'description' => ''], ], 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', - ], + ['errorCode' => 'AccessDenied', 'errorMessage' => 'The resources doesn\'t belong to you.', 'description' => ''], ], [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - [ - 'errorCode' => 'ScheduleNotExists', - 'errorMessage' => 'The schedule %s for flow %s does not exist.', - ], + ['errorCode' => 'FlowNotExists', 'errorMessage' => 'Flow %s does not exist.', 'description' => ''], + ['errorCode' => 'ScheduleNotExists', 'errorMessage' => 'The schedule %s for flow %s does not exist.', 'description' => ''], ], 409 => [ - [ - 'errorCode' => 'ConcurrentUpdateError', - 'errorMessage' => 'Update conflict, please retry.', - ], + ['errorCode' => 'ConcurrentUpdateError', 'errorMessage' => 'Update conflict, please retry.', 'description' => ''], ], 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', - ], + ['errorCode' => 'PreconditionFailed', 'errorMessage' => 'The resource to be modified has been changed.', 'description' => ''], ], 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', - ], + ['errorCode' => 'InternalServerError', 'errorMessage' => 'An internal error has occurred. Please retry.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Description\\": \\"my test schedule\\",\\n \\"ScheduleId\\": \\"testScheduleId\\",\\n \\"Payload\\": \\"{\\\\\\"key\\\\\\": \\\\\\"value\\\\\\"}\\",\\n \\"ScheduleName\\": \\"my_schedule_name\\",\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"CronExpression\\": \\"0 * * * * *\\",\\n \\"Enable\\": true\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Description\\": \\"test description\\",\\n \\"ScheduleId\\": \\"testScheduleId\\",\\n \\"Payload\\": \\"{\\\\\\"key\\\\\\": \\\\\\"value\\\\\\"}\\",\\n \\"ScheduleName\\": \\"testScheduleName\\",\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"CronExpression\\": \\"0 * * * * *\\",\\n \\"Enable\\": true\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', 'title' => 'UpdateSchedule', 'summary' => 'Updates a time-based schedule.', - ], - 'DescribeSchedule' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '98860', - 'abilityTreeNodes' => [ - 'FEATUREfnf06LH4G', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [ - [ - 'name' => 'FlowName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the flow that is associated with the time-based schedule. The name must be unique within the region and cannot be modified after the time-based schedule is created. The name must meet the following conventions:'."\n" - ."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* The name is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testFlowName', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:UpdateSchedule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - [ - 'name' => 'ScheduleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the time-based schedule. The name must meet the following conventions:'."\n" - ."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* The name is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testScheduleName', + ], + ], + ], + 'endpoints' => [ + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'ap-southeast-1.fnf.aliyuncs.com', 'endpoint' => 'ap-southeast-1.fnf.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cn-beijing.fnf.aliyuncs.com', 'endpoint' => 'cn-beijing.fnf.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cn-hangzhou.fnf.aliyuncs.com', 'endpoint' => 'cn-hangzhou.fnf.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-qingdao', 'regionName' => 'China (Qingdao)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cn-qingdao.fnf.aliyuncs.com', 'endpoint' => 'cn-qingdao.fnf.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cn-shanghai.fnf.aliyuncs.com', 'endpoint' => 'cn-shanghai.fnf.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'cn-shenzhen.fnf.aliyuncs.com', 'endpoint' => 'cn-shenzhen.fnf.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'us-west-1.fnf.aliyuncs.com', 'endpoint' => 'us-west-1.fnf.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'AccessDenied', 'message' => 'The resources does not belong to you.', 'http_code' => 403, 'description' => 'The request is denied due to the authority check failure.'], + ['code' => 'ActionNotSupported', 'message' => 'The requested API operation %s is incorrect. Please check.', 'http_code' => 400, 'description' => 'The requested API operation %s is incorrect. Please check.'], + ['code' => 'APIVersionNotSupported', 'message' => 'The requested API version %s is not supported yet. Please check.', 'http_code' => 400, 'description' => 'The requested API version %s is not supported yet. Please check.'], + ['code' => 'ConcurrentUpdateError', 'message' => 'Update conflict, please retry.', 'http_code' => 409, 'description' => 'Update conflict, please retry.'], + ['code' => 'EntityTooLarge', 'message' => 'The payload size exceeds maximum allowed size (%s bytes).', 'http_code' => 400, 'description' => 'The payload size exceeds maximum allowed size (%s bytes).'], + ['code' => 'ExecutionAlreadyCompleted', 'message' => 'Execution %s for flow %s has already completed.', 'http_code' => 400, 'description' => 'Execution %s for flow %s has already completed.'], + ['code' => 'ExecutionAlreadyExists', 'message' => 'Execution %s for flow %s already exists.', 'http_code' => 400, 'description' => 'Execution %s for flow %s already exists.'], + ['code' => 'ExecutionNotExists', 'message' => 'Execution %s for flow %s does not exist.', 'http_code' => 404, 'description' => 'Execution %s for flow %s does not exist.'], + ['code' => 'FlowAlreadyExists', 'message' => 'Flow %s already exists.', 'http_code' => 409, 'description' => 'Flow %s already exists.'], + ['code' => 'FlowNotEmpty', 'message' => 'The flow %s has schedules. Please delete all its schedules before deleting the flow.', 'http_code' => 409, 'description' => ''], + ['code' => 'FlowNotExists', 'message' => 'Flow %s does not exist.', 'http_code' => 404, 'description' => 'Flow %s does not exist.'], + ['code' => 'InternalServerError', 'message' => 'An internal error has occurred. Please retry.', 'http_code' => 500, 'description' => 'An internal error has occurred. Please retry.'], + ['code' => 'InvalidAccessKeyID', 'message' => 'The AccessKey ID %s is invalid.', 'http_code' => 403, 'description' => 'The AccessKey ID %s is invalid.'], + ['code' => 'InvalidArgument', 'message' => 'Parameter error.', 'http_code' => 400, 'description' => 'Parameter error.'], + ['code' => 'MissingRequiredHeader', 'message' => 'The HTTP header \'%s\' must be specified.', 'http_code' => 400, 'description' => 'The HTTP header \'%s\' must be specified.'], + ['code' => 'MissingRequiredParams', 'message' => 'The HTTP query \'%s\' must be specified.', 'http_code' => 400, 'description' => 'The HTTP query \'%s\' must be specified.'], + ['code' => 'PreconditionFailed', 'message' => 'The resource to be modified has been changed.', 'http_code' => 412, 'description' => 'The resource to be modified has been changed. Please try again later.'], + ['code' => 'RequestTimeTooSkewed', 'message' => 'The difference between the request time %s and the current time %s is too large.', 'http_code' => 403, 'description' => 'The difference between the request time %s and the current time %s is too large.'], + ['code' => 'ResourceThrottled', 'message' => 'The request is throttled. Please try again later.', 'http_code' => 429, 'description' => 'The request is throttled. Please try again later.'], + ['code' => 'ScheduleAlreadyExists', 'message' => 'The schedule %s already exists in flow %s.', 'http_code' => 409, 'description' => ''], + ['code' => 'ScheduleNotExists', 'message' => 'The schedule %s for flow %s does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'SignatureNotMatch', 'message' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'http_code' => 403, 'description' => 'The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm.'], + ['code' => 'TaskAlreadyCompleted', 'message' => 'Task %s has already completed.', 'http_code' => 400, 'description' => 'Task %s has already completed.'], + ['code' => 'TaskInvalidState', 'message' => 'Task is in an invalid state, please retry.', 'http_code' => 409, 'description' => 'Task is in an invalid state, please retry.'], + ['code' => 'UnsupportedMediaType', 'message' => 'The content type must be "application/json".', 'http_code' => 415, 'description' => 'The content type must be "application/json".'], + ], + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ], + ], + 'ram' => [ + 'productCode' => 'FnF', + 'productName' => 'CloudFlow', + 'ramCodes' => ['fnf'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'StartSyncExecution', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:StartSyncExecution', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'Schema of response.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'Description' => [ - 'description' => 'The description of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'test description', - ], - 'ScheduleId' => [ - 'description' => 'The ID of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'testScheduleId', - ], - 'Payload' => [ - 'description' => 'The trigger message of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => '{"key": "value"}', - ], - 'ScheduleName' => [ - 'description' => 'The name of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'testScheduleName', - ], - 'CreatedTime' => [ - 'description' => 'The time when the time-based schedule was created.'."\n", - 'type' => 'string', - 'example' => '2020-01-01T01:01:01.001Z', - ], - 'LastModifiedTime' => [ - 'description' => 'The time when the time-based schedule was last modified.'."\n", - 'type' => 'string', - 'example' => '2020-01-01T01:01:01.001Z', - ], - 'CronExpression' => [ - 'description' => 'The CRON expression.'."\n", - 'type' => 'string', - 'example' => '0 * * * * *', - ], - 'Enable' => [ - 'description' => 'Indicates whether the time-based schedule is enabled. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'DeleteFlow', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'fnf:DeleteFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', + [ + 'apiName' => 'DescribeExecution', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:DescribeExecution', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', + ], + [ + 'apiName' => 'CreateSchedule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'fnf:CreateSchedule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', - ], - [ - 'errorCode' => 'ScheduleNotExists', - 'errorMessage' => 'The schedule %s for flow %s does not exist.', + ], + [ + 'apiName' => 'CreateFlow', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'fnf:CreateFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'Flow', 'arn' => 'acs:fnf:{#regionId}:{#accountId}:flow/*'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', + ], + [ + 'apiName' => 'DescribeSchedule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:DescribeSchedule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Description\\": \\"test description\\",\\n \\"ScheduleId\\": \\"testScheduleId\\",\\n \\"Payload\\": \\"{\\\\\\"key\\\\\\": \\\\\\"value\\\\\\"}\\",\\n \\"ScheduleName\\": \\"my_schedule_name\\",\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"CronExpression\\": \\"0 * * * * *\\",\\n \\"Enable\\": true\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'DescribeSchedule', - 'summary' => 'Queries the detailed information about a time-based schedule.', - ], - 'ListSchedules' => [ - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'UpdateSchedule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:UpdateSchedule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ReportTaskFailed', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '98864', - 'abilityTreeNodes' => [ - 'FEATUREfnf06LH4G', + 'ramAction' => [ + 'action' => 'fnf:ReportTaskFailed', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'FlowName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the flow that is associated with the time-based schedules. The name is unique within the region and cannot be modified after the flow is created. The name must meet the following conventions:'."\n" - ."\n" - .'* The name can contain letters, digits, underscores (\\_), and hyphens (-).'."\n" - .'* The name must start with a letter or an underscore (\\_).'."\n" - .'* The name is case-sensitive.'."\n" - .'* The name must be 1 to 128 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'testFlowName', + [ + 'apiName' => 'StartExecution', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:StartExecution', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'NextToken', - 'in' => 'query', - 'schema' => [ - 'description' => 'For the first query, you do not need to specify this parameter. The system uses the value of the **FlowName** parameter as the value of the **NextToken** parameter. When the query ends, no value is returned for this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'testNextToken', + ], + [ + 'apiName' => 'UpdateFlow', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:UpdateFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Limit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of schedules that you want to query. Valid values: 1 to 1000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'docRequired' => false, - 'maximum' => '1000', - 'minimum' => '1', - 'example' => '1', - 'default' => '60', + ], + [ + 'apiName' => 'DeleteSchedule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'fnf:DeleteSchedule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The schema of response.'."\n", - 'type' => 'object', - 'properties' => [ - 'NextToken' => [ - 'description' => 'The token for the next query.'."\n", - 'type' => 'string', - 'example' => 'testNextToken', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'testRequestId', - ], - 'Schedules' => [ - 'description' => 'The time-based schedules that are queried.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Description' => [ - 'description' => 'The description of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'test description', - ], - 'ScheduleId' => [ - 'description' => 'The ID of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'testScheduleId', - ], - 'Payload' => [ - 'description' => 'The trigger message of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => '{"key": "value"}', - ], - 'ScheduleName' => [ - 'description' => 'The name of the time-based schedule.'."\n", - 'type' => 'string', - 'example' => 'testScheduleName', - ], - 'CreatedTime' => [ - 'description' => 'The time when the time-based schedule was created.'."\n", - 'type' => 'string', - 'example' => '2020-01-01T01:01:01.001Z', - ], - 'LastModifiedTime' => [ - 'description' => 'The time when the time-based schedule was last modified.'."\n", - 'type' => 'string', - 'example' => '2020-01-01T01:01:01.001Z', - ], - 'CronExpression' => [ - 'description' => 'The cron expression of the scheduled task.'."\n", - 'type' => 'string', - 'example' => '0 * * * * *', - ], - 'Enable' => [ - 'description' => 'Indicates whether the time-based schedule is enabled. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], + [ + 'apiName' => 'ReportTaskSucceeded', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:ReportTaskSucceeded', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'ActionNotSupported', - 'errorMessage' => 'The requested API operation \'%s\' is incorrect. Please check.', - ], - [ - 'errorCode' => 'APIVersionNotSupported', - 'errorMessage' => 'The requested API version \'%s\' is not supported yet. Please check.', - ], - [ - 'errorCode' => 'InvalidArgument', - 'errorMessage' => 'Parameter error.', - ], - [ - 'errorCode' => 'MissingRequiredHeader', - 'errorMessage' => 'The HTTP header \'%s\' must be specified.', - ], - [ - 'errorCode' => 'MissingRequiredParams', - 'errorMessage' => 'The HTTP query \'%s\' must be specified.', + [ + 'apiName' => 'ListExecutions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:ListExecutions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 403 => [ - [ - 'errorCode' => 'AccessDenied', - 'errorMessage' => 'The resources doesn\'t belong to you.', + ], + [ + 'apiName' => 'GetExecutionHistory', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'fnf:GetExecutionHistory', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - [ - 'errorCode' => 'FlowNotExists', - 'errorMessage' => 'Flow %s does not exist.', + ], + [ + 'apiName' => 'StopExecution', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'fnf:StopExecution', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 412 => [ - [ - 'errorCode' => 'PreconditionFailed', - 'errorMessage' => 'The resource to be modified has been changed.', + ], + [ + 'apiName' => 'ListSchedules', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:ListSchedules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'InternalServerError', - 'errorMessage' => 'An internal error has occurred. Please retry.', + ], + [ + 'apiName' => 'DescribeFlow', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:DescribeFlow', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'ListFlows', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'fnf:ListFlows', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'FnF', 'resourceType' => 'Flow', 'arn' => 'acs:fnf:{#regionId}:{#accountId}:flow/*'], + ], + ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"testNextToken\\",\\n \\"RequestId\\": \\"testRequestId\\",\\n \\"Schedules\\": [\\n {\\n \\"Description\\": \\"test description\\",\\n \\"ScheduleId\\": \\"testScheduleId\\",\\n \\"Payload\\": \\"{\\\\\\"key\\\\\\": \\\\\\"value\\\\\\"}\\",\\n \\"ScheduleName\\": \\"my_schedule_name\\",\\n \\"CreatedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"LastModifiedTime\\": \\"2020-01-01T01:01:01.001Z\\",\\n \\"CronExpression\\": \\"0 * * * * *\\",\\n \\"Enable\\": true\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', - 'title' => 'ListSchedules', - 'summary' => 'Queries time-based schedules in a flow.', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'cn-qingdao.fnf.aliyuncs.com', - ], - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'cn-beijing.fnf.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'cn-hangzhou.fnf.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'cn-shanghai.fnf.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'cn-shenzhen.fnf.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'ap-southeast-1.fnf.aliyuncs.com', ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'us-west-1.fnf.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'Flow', 'arn' => 'acs:fnf:*:{#accountId}:flow/{#FlowName}'], + ['validationType' => 'always', 'resourceType' => 'Execution', 'arn' => 'acs:fnf:*:{#accountId}:flow/{#FlowName}/execution/{#ExecutionName}'], + ['validationType' => 'always', 'resourceType' => 'Schedule', 'arn' => 'acs:fnf:*:{#accountId}:flow/{#FlowName}/schedule/*'], + ['validationType' => 'always', 'resourceType' => 'Flow', 'arn' => 'acs:fnf:{#regionId}:{#accountId}:flow/*'], + ['validationType' => 'always', 'resourceType' => 'Schedule', 'arn' => 'acs:fnf:*:{#accountId}:flow/{#FlowName}/schedule/{#ScheduleName}'], + ['validationType' => 'always', 'resourceType' => 'Execution', 'arn' => 'acs:fnf:*:{#accountId}:flow/{#FlowName}/execution/*'], ], ], ]; -- cgit v1.2.3