
# 创建tool
#### 功能介绍
如果您需要使用的工具超出基因容器提供的业务主流基因数据处理工具范围，您可以通过本接口，添加自定义工具。基因容器支持的公共工具请参见[公共工具范围](https://support.huaweicloud.com/usermanual-gcs/gcs_04_0001.html#section0)。
如果使用自有工具镜像，请在调用本接口前，通过华为云提供的[容器镜像服务](https://console.huaweicloud.com/swr)（SWR）上传工具镜像。
#### URI
POST /v1/tools
#### 请求消息
**请求参数**
表1请求参数 
| 参数                    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| name                  | 是    | String | 工具名称。 取值范围：输入字符最大长度为64，以小写字母开头，允许出现中划线(-)、小写字母和数字，且必须以小写字母或数字结尾。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| version               | 是    | String | 工具版本。 长度\[0,24\]，满足正则表达式 ``` ^[a-zA-Z0-9]+([-.][a-zA-Z0-9]+)*$ ```                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| image                 | 是    | String | 工具所包含镜像的地址。 长度\[0-255\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| category              | 是    | String | 工具分类，支持选项： - "others"：其他  - "qualitycontrol"：预处理  - "basic"：基因组分析基础  - "gatk"：GATK流程  - "callvariant"：深度学习突变检测  - "environment"：软件环境   |
| new_category          | 否    | String | 用户自定义的工具分类，所有分类不能超过16个。 取值范围：字符最大长度为32，不能包含\<\>#%\&{}()字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| description           | 否    | String | 工具描述。 取值范围：输入字符最大长度为255，中文算单个字符，不能包含\<\>#%\&字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| scope                 | 否    | String | 工具范围，如果为空，则默认为domain。支持选项： - domain：表示仅当前租户可见可用                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| vendor                | 否    | String | 工具创建者，默认为domain名称。 取值范围：长度\[0,64\]，中文算单个字符，不能包含\<\>()#%\&/字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| instruction           | 否    | String | 工具使用说明。 取值范围：长度\[0,255\]，中文算单个字符，不能包含\<\>()#%\&/字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| cpu                   | 否    | String | 使用工具对节点的CPU限制，由数字和单位组成，单位为"C"，默认为2C，表示2核。 取值范围：\[0, 2000\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| memory                | 否    | String | 使用工具对节点的memory限制，由数字和单位组成，单位为"G"，默认为8G。 取值范围：大于0， 小于2000。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| command               | 否    | String | 使用工具的推荐执行脚本，长度\[0-1024\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| type                  | 否    | String | 默认不填是container。支持选项： - container: 容器类型  - spark：spark类型                                                                                                                                                                                                                                                                                                                                                                     |
| logo                  | 否    | String | 工具logo。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| enterprise_project_id | 否    | String | 企业项目id，默认为"0"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
**请求示例**
```
POST /v1/tools HTTP/1.1 
Host:Host Server   
Content-Type:application/json
{
    "name": "nginx",
    "version": "latest",
    "image": "nginx:latest",
    "category": "others"
}
```
#### 响应消息
**响应参数**
请求成功的响应参数如[表2]所示。
 表2成功响应参数 
| 参数 | 参数类型   | 描述    |
|:---|:---|:---|
| id | String | 工具ID。 |
   
**响应示例**
```
{
    "id": "d078e49c-124c-7706-bcbb-81885661f431"
}
```
请求失败的响应参数[表9](https://support.huaweicloud.com/api-gcs/gcs_api_005_002.html#gcs_api_005_002__table104171158104518)。
#### 状态码
- 正常 状态码
  
表3状态码 
| 状态码 | 描述     |
|:---|:---|
| 201 | 工具创建成功 |
   
- 异常 状态码如[6.3-状态码](https://support.huaweicloud.com/api-gcs/gcs_api_006_001.html)所示。
  
 
