
# 更新流程
#### 功能介绍
更新流程
#### URI
PUT /v1/{project_id}/eihealth-projects/{eihealth_project_id}/workflows/{workflow_id}
表1路径参数 
| 参数                  | 是否必选 | 参数类型   | 描述                                                                                                                                                                                        |
|:---|:---|:---|:---|
| eihealth_project_id | 是    | String | 平台项目ID，您可以在平台单击所需的项目名称，进入项目设置页面查看。 最小长度：**1** 最大长度：**128**                                                            |
| project_id          | 是    | String | 华为云项目ID，您可以从[获取项目ID](https://support.huaweicloud.com/api-eihealth/eihealth_33_0044.html)中获取。 最小长度：**1** 最大长度：**128** |
| workflow_id         | 是    | String | 流程id 最小长度：**1** 最大长度：**128**                                                                                          |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                         |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。Token认证就是在调用API的时候将Token加到请求消息头，从而通过身份认证，获得操作API的权限，[获取Token](https://support.huaweicloud.com/api-eihealth/eihealth_33_0010.html)接口响应消息头中X-Subject-Token的值即为Token。 |
   
表3请求Body参数 
| 参数          | 是否必选 | 参数类型                                                         | 描述                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| name        | 是    | String                                                       | 流程名称，取值范围\[1,56\]，允许大小写字母、数字、以及特殊字符中划线(-)和下划线(_)。更新流程时，流程名称不支持修改。 最小长度：**1** 最大长度：**56**                                                                                    |
| version     | 是    | String                                                       | 流程版本，取值范围\[1,24\]，以小写字母或数字或大写字母开头，允许出现中划线，必须以小写字母或数字或大写字母结尾。更新流程时，流程版本不支持修改。 最小长度：**1** 最大长度：**24**                                                                          |
| summary     | 否    | String                                                       | 流程简述 取值范围\[0,128\] 最小长度：**0** 最大长度：**128**                                                                                                                                   |
| description | 否    | String                                                       | 流程描述 取值范围\[0,65535\]，后续支持markdown文本 最小长度：**0** 最大长度：**65535**                                                                                                                |
| labels      | 否    | Array of strings                                             | 流程标签，取值范围\[0,5\]，单个标签最大长度32字符，支持中文、字母、数字、空格、下划线和中划线，且不能以空格开头或者结尾。 最小长度：**1** 最大长度：**32** 数组长度：**0 - 5**                                    |
| timeout     | 否    | Integer                                                      | 流程超时时间，取值范围\[1,144000\]，单位分钟，默认1440 最小值：**1** 最大值：**144000**                                                                                                                  |
| output_dir  | 否    | String                                                       | 流程的当前工作目录，默认为根目录，用户可显式指定;输出路径必须以斜杠（/）开头且不能以斜杠（/）结尾，不能包含两个以上相邻的斜杠（/），不能包含以下特殊字符：\\ : ; \* ? \< " \> \| 。其中单个文件夹名称不能以中划线（-）开头，不能以英文句号（.）或斜杠（/）或空格开头或结尾 最小长度：**0** 最大长度：**128** |
| tasks       | 否    | Array of [TaskDto] objects | 流程中子任务的描述信息，子任务数量取值范围:\[1,64\] 数组长度：**0 - 64**                                                                                                                                                               |
   
 表4TaskDto 
| 参数           | 是否必选 | 参数类型                                                                           | 描述                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| task_name    | 是    | String                                                                         | 子任务实际名称，取值范围\[1,32\]，只能以大小写字母开头，由大小写字母、数字、中划线（-）、下划线（_）组成，以大小写字符或数字结尾。 最小长度：**1** 最大长度：**32**                                                                         |
| app_id       | 是    | String                                                                         | 应用id，取值范围\[1,135\]，正则先不能有中文，两种格式。特殊id，采用{app_name}::{app_version}::{src_project_name}格式，用于手动创建场景；其他场景，app_id为系统分配的唯一标识 最小长度：**1** 最大长度：**135**                         |
| display_name | 否    | String                                                                         | 流程的子任务展示名称，最大长度64 最小长度：**0** 最大长度：**64**                                                                                                                                  |
| output_dir   | 否    | String                                                                         | 子任务的输出存放路径，用户可显式指定;输出路径必须以斜杠（/）开头且不能以斜杠（/）结尾，不能包含两个以上相邻的斜杠（/），不能包含以下特殊字符：\\ : ; \* ? \< " \> \| 。其中单个文件夹名称不能以中划线（-）开头，不能以英文句号（.）或斜杠（/）或空格开头或结尾 最小长度：**0** 最大长度：**128** |
| resources    | 否    | [TaskResourceDto] object             | 子任务运行资源信息                                                                                                                                                                                                                                |
| location     | 否    | [VertexLocationDto] object         | 子任务画布坐标信息                                                                                                                                                                                                                                |
| inputs       | 否    | Array of [TaskParameterDto] objects | 任务的输入参数信息 数组长度：**0 - 128**                                                                                                                                                                             |
   
 表5TaskResourceDto 
| 参数       | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| cpu      | 否    | String | cpu申请使用量，取值范围\[0.1-128\]，单位C，支持一位小数。对于应用，不填默认1C；对于流程和作业，不填默认使用前一级的配置，填值会覆盖更新。覆盖关系：作业-\>流程-\>应用 最小长度：**0** 最大长度：**24**                   |
| cpu_type | 否    | String | cpu架构类型，不填默认X86 最小长度：**0** 最大长度：**24**                                                                                                     |
| memory   | 否    | String | 内存申请使用量，取值范围\[0.1-3072\]，单位G，支持一位小数。对于应用，不填默认1G；对于流程和作业，不填默认使用前一级的配置，填值会覆盖更新。覆盖关系：作业-\>流程-\>应用 最小长度：**0** 最大长度：**24**                      |
| gpu_type | 否    | String | gpu架构类型，取值范围 ' '\|GPU\|Snt9\|D310。对于流程和作业，不填默认使用前一级的配置，填值会覆盖更新。覆盖关系：作业-\>流程-\>应用 最小长度：**0** 最大长度：**24**                                   |
| gpu      | 否    | String | gpu申请使用量，取值范围\[0-16\]，仅支持整数，Snt9有特殊约束，申请数量需要是0,1,2,4,8。对于应用，不填默认0；对于流程和作业，不填默认使用前一级的配置，填值会覆盖更新。覆盖关系：作业-\>流程-\>应用 最小长度：**0** 最大长度：**24** |
   
 表6VertexLocationDto 
| 参数 | 是否必选 | 参数类型   | 描述        |
|:---|:---|:---|:---|
| x  | 否    | Double | 子任务的画布横坐标 |
| y  | 否    | Double | 子任务的画布纵坐标 |
   
 表7TaskParameterDto 
| 参数     | 是否必选 | 参数类型             | 描述                                                                                                                                                                    |
|:---|:---|:---|:---|
| name   | 是    | String           | 子任务的参数名称，长度为\[1,32\]，以小写字母开头，允许出现中划线(-)、小写字母和数字，且必须以小写字母或数字结尾。需要和已有应用的参数名称一致。 最小长度：**1** 最大长度：**32** |
| source | 否    | String           | 子任务的参数类型，不填默认为MANUAL                                                                                                                                                  |
| values | 否    | Array of strings | 子任务的参数数值，根据参数类型进行合法性校验 最小长度：**0** 最大长度：**2048** 数组长度：**0 - 128**    |
   
#### 响应参数
无
#### 请求示例
更新流程，更新流程的cpu资源为1C，内存资源为1G。
```
https://eihealth.cn-north-4.myhuaweicloud.com/v1/{project_id}/eihealth-projects/{eihealth_project_id}/workflows
{
  "name" : "demo-workflow",
  "version" : "1.0.0",
  "summary" : "summary",
  "description" : "description",
  "labels" : [ "labelA", "labelB" ],
  "timeout" : 1440,
  "output_dir" : "/workflow",
  "tasks" : [ {
    "task_name" : "app1-1",
    "app_id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
    "display_name" : "步骤1",
    "output_dir" : "/task",
    "resources" : {
      "cpu_type" : "X86",
      "cpu" : "1C",
      "memory" : "1G",
      "gpu_type" : "GPU",
      "gpu" : 0
    },
    "location" : {
      "x" : 100,
      "y" : 100
    },
    "inputs" : [ {
      "name" : "dir-parameter",
      "values" : [ "/test" ]
    } ]
  } ]
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-eihealth/ErrorCode.html)。
