
# 获取自定义执行机列表 - QueryOctopusResourcePools
#### 功能介绍
用于查询用户已配置的自定义执行机资源池信息。用户可以通过此接口获取已创建的执行机资源池的名称和类型，支持通过资源池名称过滤。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-codecheck/codecheck_03_0006.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-codecheck/Permission.html)。
| 授权项                    | 访问级别 | 资源类型（\*为必须） | 条件键                     | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| codeartscheck:task:get | Read | task \*     | -                       | -  | -      |
| codeartscheck:task:get | Read | -           | codeartscheck:ProjectId | -  | -      |
   
#### URI
GET /v1/tasks/{task_id}/resource-pool
表1路径参数 
| 参数      | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| task_id | 是    | String | **参数解释：** 任务ID，即新建检查任务接口的返回值，每个代码检查任务及其下的分支任务、通过API创建的增量任务都有唯一的任务ID。即[查询任务列表](https://support.huaweicloud.com/api-codecheck/ShowTasksList.html)接口响应中的id字段。 **约束限制：** 不涉及。 **取值范围：** 长度为\[1\~32\]个字符。 **默认取值：** 不涉及。 |
   
表2Query参数 
| 参数        | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| page      | 否    | Integer | **参数解释：** 分页编号，从1开始。 **约束限制：** 不涉及。 **取值范围：** ≥1 **默认取值：** 1                          |
| page_size | 否    | Integer | **参数解释：** 分页大小。 **约束限制：** 不涉及。 **取值范围：** 1-50 **默认取值：** 50                            |
| search    | 否    | String  | **参数解释：** 需要查找的自定义执行机资源池的名称。 **约束限制：** 不涉及。 **取值范围：** 长度为\[1\~50\]个字符。 **默认取值：** 不涉及。 |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 长度为\[1\~100000\]的字符。 **默认取值：** 不涉及。                                                                                                                                                                                                                        |
| X-Language   | 否    | String | **参数解释：** 语言，决定响应以哪种语言返回。 **约束限制：** 不涉及。 **取值范围：** - zh-cn：中文。   - en-us：英文。    **默认取值：** zh-cn。 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数         | 参数类型                                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| httpStatus | String                                                                                 | **参数解释：** HTTP响应状态。 **取值范围：** - OK：请求已成功处理，服务器返回了请求的资源或操作结果。   - ACCEPTED：请求已被服务器接受，但处理尚未完成（通常用于异步操作）。   - INTERNAL_SERVER_ERROR：接口内部异常。   - BAD_REQUEST：参数校验异常。    |
| result     | [ResourcePoolsResult] object | **参数解释：** 资源池详情。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| status     | String                                                                                 | **参数解释：** 接口响应状态。 **取值范围：** - success：接口响应成功。   - error：接口响应失败。                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表5ResourcePoolsResult 
| 参数                 | 参数类型                                                                                                         | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| resourcePoolId     | String                                                                                                       | **参数解释：** 启用的资源池ID，使用内置执行机的情况下该字段为空。 **取值范围：** 长度为\[1\~32\]个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| resourcePoolName   | String                                                                                                       | **参数解释：** 启用的资源池名称，使用内置执行机的情况下该字段为空。 **取值范围：** 长度为\[1\~50\]个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| resourcePools      | Array of [ResourcePoolsItemResponse] objects | **参数解释：** 可选的资源池列表。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| resourceType       | String                                                                                                       | **参数解释：** 资源池名类型。 **取值范围：** - custom：自定义资源池。   - default：内置资源池。                                                                                                                                                                                         |
| resource_pool_type | String                                                                                                       | **参数解释：** 启用的资源池类型。 **取值范围：** - default：内置资源池。   - exclusive：专属资源池。   - self-hosted：自定义资源池。    |
| total              | Integer                                                                                                      | **参数解释：** 总数。 **取值范围：** ≥0                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   
 表6ResourcePoolsItemResponse 
| 参数            | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| id            | String  | **参数解释：** 资源池ID。 **取值范围：** 长度为\[1\~32\]个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| isSelected    | Boolean | **参数解释：** 资源池是否被启用。 **取值范围：** - true：启用该资源池。   - false：未启用该资源池。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| name          | String  | **参数解释：** 资源池名称。 **取值范围：** 长度为\[1\~50\]个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| resource_type | String  | **参数解释：** 资源池种类。 **取值范围：** - default：内置资源池。   - exclusive：专属资源池。   - self-hosted：自定义资源池。                                                                                                                                                                                                                                                                                                                |
| type          | String  | **参数解释：** 资源池类型。 **取值范围：** - MAC。   - WINDOWS_VM。   - VM。   - DOCKER。   - default。    |
| disabled      | Boolean | **参数解释：** 资源池是否被禁用。 **取值范围：** - true：该资源池被禁用。   - false：该资源池未被禁用。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| immutable     | Boolean | **参数解释：** 资源池是否不可变更。 **取值范围：** - true：该资源池不可变更。   - false：该资源池可变更。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                    |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码。 **取值范围：** 不涉及。  |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及。 |
   
**状态码：401**
表8响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                    |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码。 **取值范围：** 不涉及。  |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及。 |
   
#### 请求示例
查询task_id对应任务下的自定义执行机列表。
```
GET https://{endpoint}/v1/tasks/{task_id}/resource-pool
```
#### 响应示例
**状态码：200**
请求成功!
```
{
  "httpStatus" : "OK",
  "result" : {
    "resourcePoolId" : "ab2exxxxc0ec4beb99b91629xxxxd380",
    "resourcePoolName" : "new_engine_4u8g",
    "resourcePools" : [ {
      "id" : "ab2exxxxc0ec4beb99b91629xxxxd380",
      "isSelected" : true,
      "name" : "new_engine_4u8g",
      "type" : "DOCKER"
    }, {
      "id" : "11223344xxxxxxxx11223344xxxxxxx1",
      "isSelected" : false,
      "name" : "Win7Custom",
      "type" : "WINDOWS_VM"
    } ],
    "resourceType" : "custom",
    "resource_pool_type" : "default",
    "total" : 2
  },
  "status" : "success"
}
```
**状态码：400**
请求异常。
```
{
  "error_code" : "CC.xxxxxxxx.400",
  "error_msg" : "请求参数校验失败,请检查请求参数是否正确"
}
```
**状态码：401**
权限不足。
```
{
  "error_code" : "CC.00000003",
  "error_msg" : "认证信息过期"
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 请求成功! |
| 400 | 请求异常。 |
| 401 | 权限不足。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-codecheck/ErrorCode.html)。
