
# 创建workflow
#### 功能介绍
当GCS提供的示例流程不能满足使用需求时，您可以创建自定义流程，方便后续测序使用。
#### URI
POST /v1/workflows
#### 请求消息
**请求参数**
请求参数如[表1]所示。
 表1请求参数 
| 参数              | 是否必选 | 参数类型                                   | 描述                                                                                 |
|:---|:---|:---|:---|
| resource        | 是    | [表2] | 流程请求参数。                                                                            |
| archive_content | 是    | binary                                 | 本地上传流程文件需要。流程名称必须以大小写字母数字开头，以.yaml/.yml结尾，允许输入字母、数字、点(.)，下划线(_)和中划线(-)，长度在64个字符以内。 |
   
 表2resource请求参数 
| 参数                    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                             |
|:---|:---|:---|:---|
| name                  | 是    | String | 流程名称。输入字符最大长度为64，以小写字母开头，允许出现中划线(-)、小写字母和数字，且必须以小写字母或数字结尾。                                                                                                                                     |
| description           | 否    | String | 流程描述，如果未填写，则流程描述文件为空。输入字符最大长度为255，中文算3个字符，不能包含\<\>#%\&字符。                                                                                                                                      |
| vendor                | 否    | String | 流程上传者，如果未填写，默认值为租户名称。输入字符最大长度为64，中文算单个字符，不能包含\<\>()#%\&/字符。                                                                                                                                    |
| scope                 | 否    | String | 流程使用范围，默认值为"domain"。支持选项： - "domain"：仅当前租户可见可用   |
| logo                  | 否    | String | 流程logo。                                                                                                                                                                                        |
| filename              | 是    | String | 定义流程的yaml/yml文件名。                                                                                                                                                                              |
| image                 | 否    | String | 若使用GCS设计器定义流程，该字段为流程图的svg内容。                                                                                                                                                                   |
| enterprise_project_id | 否    | String | 流程的企业项目id，默认为"0"                                                                                                                                                                               |
   
**请求示例**
```
POST /v1/workflows HTTP/1.1 
Host:Host Server   
Content-Length:1111
Content-Type:multipart/form-data
resource=
'{
  "name":"gcs-wf",
  "description":"my workflow",
  "logo":"hw-gcs-logo-cn-north-4-cd059ba3c286470e8c5c2deeb02a08c1:gcs-wf-Desert.jpg",
  "vendor":"gcs",
  "filename":"gcs-workflow.yaml"，
  "enterprise_project_id":"0"
}'
archive_content=@gcs-workflow.yaml
```
#### 响应消息
**响应参数**
请求成功的响应参数如[表3]所示。
 表3成功响应参数 
| 参数 | 参数类型   | 描述    |
|:---|:---|:---|
| id | String | 流程ID。 |
   
**响应示例**
```
{
    "id": "e19d3faf-9f04-9685-e5c0-fbe8d40b96cd"
}
```
请求失败的响应参数如[表9](https://support.huaweicloud.com/api-gcs/gcs_api_005_002.html#gcs_api_005_002__table104171158104518)所示。
#### 状态码
- 正常 状态码如[表4]所示。
  
 表4状态码 
| 状态码 | 描述     |
|:---|:---|
| 201 | 流程创建成功 |
   
- 异常 状态码如[6.3-状态码](https://support.huaweicloud.com/api-gcs/gcs_api_006_001.html)所示。
  
 
