# 获取堡垒机实例列表 - ListInstances
#### 功能介绍
获取当前租户下的堡垒机实例列表。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-cbh/cbh_02_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cbh/cbh_02_00015.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                        | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项                      |
  |:---|:---|:---|:---|:---|:---|
  | cbh:instance:listInstances | List | instance \* | -   | -  | eps:enterpriseProjects:list |
     
  
 
#### URI
GET /v2/{project_id}/cbs/instance/list
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID，用于唯一标识用户项目。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-cbh/cbh_02_0020.html)。 **约束限制**： 不涉及 **取值范围**： 只能由字母和数字组成，长度为32个字符。 **默认取值**： 不涉及 |
   
表2Query参数 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| instance_id | 否    | Long    | **参数解释**： 云堡垒机实例ID。需要查询单个实例详情时传入。如果不传，默认查询租户下所有的堡垒机列表。 **约束限制**： 不涉及 **取值范围**： 整数，取值范围为0\~9223372036854775807。 **默认取值**： 不涉及 |
| limit       | 否    | Integer | **参数解释**： 查询返回的记录数量上限。 **约束限制**： 不涉及 **取值范围**： 整数字符串，取值范围为1\~1000。 **默认取值**： 1000                                            |
| offset      | 否    | Integer | **参数解释**： 查询的起始偏移量（索引位置）。 **约束限制**： 不涉及 **取值范围**： 整数字符串，取值范围为大于等于0的整数。 **默认取值**： 0                                           |
   
#### 请求参数
表3请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。获取方法请参见[获取用户Token](https://support.huaweicloud.com/api-cbh/cbh_02_0010.html)。 **约束限制**： 不涉及 **取值范围**： 字符串，长度为1\~28000个字符。 **默认取值**： 不涉及 |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数       | 参数类型                                                                       | 描述                                                                                                                                                            |
|:---|:---|:---|
| total    | Integer                                                                    | **参数解释**： 云堡垒机实例总数。 **取值范围**： 整数，取值范围为0\~1000。             |
| instance | Array of [InstanceDetail] objects | **参数解释**： 云堡垒机实例列表信息。 **取值范围**： 数组，最多512个InstanceDetail对象。 |
   
 表5InstanceDetail 
| 参数                    | 参数类型                                                           | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| name                  | String                                                         | **参数解释**： 云堡垒机实例名称。 **取值范围**： 字符串，长度为1\~65个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| server_id             | String                                                         | **参数解释**： 云堡垒机服务器ID。 **取值范围**： 字符串，长度为1\~64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| instance_id           | String                                                         | **参数解释**： 云堡垒机实例ID。 **取值范围**： 字符串，长度为1\~36个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| alter_permit          | Boolean                                                        | **参数解释**： 云堡垒机实例是否可以扩容。 **取值范围**： - true：是   - false：否                                                                                                                                                                                                                                                                                                                                                                      |
| enterprise_project_id | String                                                         | **参数解释**： 企业项目ID。 **取值范围**： 字符串，长度为1\~36个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| period_num            | String                                                         | **参数解释**： 云堡垒机实例订购周期数。 **取值范围**： 字符串，长度为1\~36个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| start_time            | String                                                         | **参数解释**： 云堡垒机实例开始时间（已废弃）。 **取值范围**： 时间戳字符串，长度为1\~12个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| end_time              | String                                                         | **参数解释**： 云堡垒机实例结束时间（已废弃）。 **取值范围**： 时间戳字符串，长度为1\~12个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| created_time          | String                                                         | **参数解释**： 云堡垒机实例创建时间。 **取值范围**： UTC格式字符串，长度为1\~25个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| upgrade_time          | Long                                                           | **参数解释**： 预约的升级时间。 **取值范围**： 实际时间对应的毫秒时间戳。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| update                | String                                                         | **参数解释**： 云堡垒机实例是否可以升级。 **取值范围**： - OLD：当前已是最新版本，无需升级   - NEW：可以升级小版本   - CROSS_OS：可以跨版本升级   - ROLLBACK：可以回滚    |
| bastion_version       | String                                                         | **参数解释**： 云堡垒机实例当前版本。 **取值范围**： 字符串，长度为1\~36个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| az_info               | [az_info] object             | **参数解释**： 可用区信息。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| status_info           | [status_info] object     | **参数解释**： 状态信息。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| resource_info         | [resource_info] object | **参数解释**： 资源信息。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| network               | [network] object             | **参数解释**： 网络信息。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ha_info               | [ha_info] object             | **参数解释**： 主备信息。 **取值范围**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表6az_info 
| 参数                        | 参数类型   | 描述                                                                                                                                                                                |
|:---|:---|:---|
| region                    | String | **参数解释**： 云堡垒机实例所在可用区ID。 **取值范围**： 字符串，长度为1\~36个字符。                            |
| zone                      | String | **参数解释**： 云堡垒机实例所在可用区ID（若为主备类型的实例，则此参数为主机实例的可用区ID）。 **取值范围**： 字符串，长度为1\~36个字符。 |
| availability_zone_display | String | **参数解释**： 云堡垒机实例所在可用区名称（若为主备类型的实例，则此参数为主机实例的可用区名称）。 **取值范围**： 字符串，长度为1\~36个字符。 |
| slave_zone                | String | **参数解释**： 云堡垒机备机实例所在可用区。 **取值范围**： 字符串，长度为1\~36个字符。                            |
| slave_zone_display        | String | **参数解释**： 云堡垒机备机实例所在可用区名称。 **取值范围**： 字符串，长度为1\~36个字符。                          |
   
 表7status_info 
| 参数                     | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| status                 | String | **参数解释**： 云堡垒机实例运行状态。 **取值范围**： - SHUTOFF：已关闭   - ACTIVE：运行中   - DELETING：删除中   - BUILD：创建中   - DELETED：已删除   - ERROR：故障   - HAWAIT：等待备机创建成功   - FROZEN：已冻结   - UPGRADING：升级中   - UNPAID：待支付   - RESIZE：规格变更中   - DILATATION：扩容中   - HA：配置HA中                                              |
| task_status            | String | **参数解释**： 云堡垒机实例当前的任务状态。 **取值范围**： - powering-on：开启   - powering-off：关闭   - rebooting：重启   - delete_wait：删除   - frozen：冻结   - NO_TASK：运行   - unfrozen：解冻   - alter：变更   - updating：升级中   - configuring-ha：配置HA   - data-migrating：数据迁移中   - rollback：版本回滚中   - traffic-switchover：流量切换中    |
| create_instance_status | String | **参数解释**： 云堡垒机实例在创建实例过程中的状态信息。 **取值范围**： - Waiting for payment：等待支付   - creating-network：创建网络   - creating-server：创建服务   - tranfering-horizontal-network：网络打通   - adding-policy-route：添加路由策略   - configing-dns：配置DNS   - starting-cbs-service：服务运行中   - setting-init-conf：初始化   - buying-EIP：购买弹性公网IP                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| instance_status        | String | **参数解释**： 云堡垒机实例状态。 **取值范围**： - building：创建中   - deleting：删除中   - deleted：已删除   - unpaid：未支付   - upgrading：升级中   - resizing：扩容中   - abnormal：异常   - error：故障   - ok：正常                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| instance_description   | String | **参数解释**： 云堡垒机实例信息描述。 **取值范围**： 字符串，长度为1\~36个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| fail_reason            | String | **参数解释**： 云堡垒机实例创建实例失败原因。 **取值范围**： 字符串，长度为1\~36个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
 表8resource_info 
| 参数               | 参数类型             | 描述                                                                                                                                                                    |
|:---|:---|:---|
| specification    | String           | **参数解释**： 云堡垒机实例规格。 **取值范围**： 字符串，长度为1\~36个字符。                     |
| order_id         | String           | **参数解释**： 订单ID。 **取值范围**： 字符串，长度为1\~64个字符。                         |
| resource_id      | String           | **参数解释**： 云堡垒机实例的资源ID，UUID格式显示。 **取值范围**： 字符串，长度为1\~36个字符。         |
| data_disk_size   | Number           | **参数解释**： 云堡垒机实例数据盘大小，单位TB。 **取值范围**： 数字，取值范围为0\~300。              |
| disk_resource_id | Array of strings | **参数解释**： 云堡垒机实例数据盘资源ID。 **取值范围**： 字符串数组，最多21个元素，每个字符串长度为1\~64个字符。 |
   
 表9network 
| 参数                | 参数类型   | 描述                                                                                                                                                                    |
|:---|:---|:---|
| vip               | String | **参数解释**： 云堡垒机实例浮动IP。(实例为主备模式时返回对应的值) **取值范围**： 字符串，长度为1\~36个字符。   |
| web_port          | String | **参数解释**： 云堡垒机实例WEB界面访问的端口号。 **取值范围**： 字符串，长度为1\~36个字符。            |
| public_ip         | String | **参数解释**： 云堡垒机实例弹性公网IP。 **取值范围**： 字符串，长度为1\~15个字符。                 |
| public_id         | String | **参数解释**： 云堡垒机实例已绑定的弹性公网IP的ID，UUID格式表示。 **取值范围**： 字符串，长度为1\~36个字符。 |
| private_ip        | String | **参数解释**： 云堡垒机实例私有IP。 **取值范围**： 字符串，长度为1\~15个字符。                   |
| vpc_id            | String | **参数解释**： 云堡垒机实例所在虚拟私有云ID。 **取值范围**： 字符串，长度为1\~36个字符。              |
| subnet_id         | String | **参数解释**： 云堡垒机实例所在子网ID。 **取值范围**： 字符串，长度为1\~36个字符。                 |
| security_group_id | String | **参数解释**： 云堡垒机实例所属的安全组ID。 **取值范围**： 字符串，长度为1\~36个字符。               |
   
 表10ha_info 
| 参数            | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| ha_id         | String | **参数解释**： 主备ID。 **取值范围**： 字符串，长度为1\~36个字符。                                                                                                                                                                                                                                                                                                                      |
| instance_type | String | **参数解释**： 实例类型。 **取值范围**： - master：主   - slave：备    |
   
**状态码：400**
表11响应Body参数 
| 参数                | 参数类型   | 描述      |
|:---|:---|:---|
| error_code        | String | 错误码。    |
| error_description | String | 请求参数错误。 |
   
**状态码：401**
表12响应Body参数 
| 参数                | 参数类型   | 描述         |
|:---|:---|:---|
| error_code        | String | 错误码。       |
| error_description | String | 校验Token失败。 |
   
**状态码：403**
表13响应Body参数 
| 参数                | 参数类型   | 描述       |
|:---|:---|:---|
| error_code        | String | 错误码。     |
| error_description | String | 租户无权限操作。 |
   
**状态码：404**
表14响应Body参数 
| 参数                | 参数类型   | 描述         |
|:---|:---|:---|
| error_code        | String | 错误码。       |
| error_description | String | 没有找到CBH资源。 |
   
#### 请求示例
无
#### 响应示例
**状态码：200**
```
{
  "total" : 1,
  "instance" : [ {
    "name" : "CBH-e2b4",
    "server_id" : "760aeee4-9916-436a-8854-837aae94b2b",
    "instance_id" : "5473",
    "alter_permit" : false,
    "enterprise_project_id" : "0",
    "period_num" : "1,2",
    "start_time" : "1692245215000",
    "end_time" : "1694966399000",
    "upgrade_time" : 1694966399000,
    "created_time" : "2023-08-17 12:05:02.0T",
    "update" : "OLD",
    "bastion_version" : "3.3.49.0",
    "az_info" : {
      "region" : "cn-north-7",
      "zone" : "cn-north-7a",
      "availability_zone_display" : "可用区1",
      "slave_zone" : "cn-north-7b",
      "slave_zone_display" : "可用区2"
    },
    "status_info" : {
      "status" : "ACTIVE",
      "task_status" : "NO_TASK",
      "create_instance_status" : "configing-dns",
      "fail_reason" : "No FailReason Now",
      "instance_status" : "ok",
      "instance_description" : ",2023-08-21 15:19:07,{\"d_usage\":\"0.30\",\"m_usage\":\"43.66\",\"c_usage\":\"1.00\",\"session_count\":\"0\""
    },
    "resource_info" : {
      "specification" : "cbh.basic.5",
      "order_id" : "CS2308171141G8C14",
      "resource_id" : "c7a07a7f-e5ee-49cf-8355-aee46c5a4fcf",
      "data_disk_size" : 200,
      "disk_resource_id" : [ ]
    },
    "network" : {
      "vip" : "192.168.0.228",
      "web_port" : "443",
      "public_ip" : "100.xx.xx.1",
      "public_id" : "56220ed7-0f75-4d42-85c4-013d5414c81c",
      "private_ip" : "192.168.0.190",
      "vpc_id" : "03211ecf-697e-4306-a7a0-6e939bf948de",
      "subnet_id" : "dd08a6a9-ced7-484b-ace6-1b821854a772",
      "security_group_id" : "02dcf62d-b84d-4a14-aad3-c310f2ceea55"
    },
    "ha_info" : {
      "ha_id" : "332",
      "instance_type" : "master"
    }
   
  } ]
}
```
#### 状态码
| 状态码 | 描述                        |
|:---|:---|
| 200 | Cbh List Instance Success |
| 400 | Bad Request               |
| 401 | Unauthorized              |
| 403 | Forbidden                 |
| 404 | Not Found                 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cbh/ErrorCode.html)。
