# DescribeInstances

## 1. 接口描述

本接口(DescribeInstances)用于查询一台或多台实例的信息。用户可以根据实例ID、实例名称或者实例计费模式等条件来查询实例的详细信息。

## 2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

| 参数名称               | 必选 | 类型                                                                                      | 描述                                                              |
| ------------------ | -- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| instanceIds        | 否  | Array of String                                                                         | <p>实例ID。</p><p>最多支持100个ID查询。</p>                                |
| zoneId             | 否  | String                                                                                  | 实例所属的可用区ID。                                                     |
| resourceGroupId    | 否  | String                                                                                  | <p>资源组的ID。</p><p>如果不传，则返回该用户可见的所有资源组内的实例。</p>                   |
| instanceTypeId     | 否  | String                                                                                  | <p>实例机型ID。</p><p>具体取值可通过调用接口DescribeInstanceTypes来获得最新的规格表。</p> |
| internetChargeType | 否  | [InternetChargeType](/api-reference/cn/compute/bmc/datastructure.md#internetchargetype) | 网络计费类型。                                                         |
| imageId            | 否  | String                                                                                  | 镜像ID。                                                           |
| subnetId           | 否  | String                                                                                  | <p>虚拟子网ID 。</p><p>可以调用DescribeVpcSubnets查询已创建交换机的相关信息。</p>      |
| instanceStatus     | 否  | [InstanceStatus](/api-reference/cn/compute/bmc/datastructure.md#instancestatus)         | <p>实例状态。</p><p>状态类型详见实例状态。</p>                                  |
| instanceName       | 否  | String                                                                                  | <p>实例显示名称。</p><p>如果该值以\*结尾，则对instanceName进行模糊匹配，否则将进行精确匹配。</p>  |
| hostname           | 否  | String                                                                                  | <p>实例的主机名。</p><p>如果该值以\*结尾，则对hostname进行模糊匹配，否则将进行精确匹配。</p>      |
| publicIpAddresses  | 否  | Array of String                                                                         | 公网ipv4地址。                                                       |
| privateIpAddresses | 否  | Array of String                                                                         | 内网子网的ipv4地址。                                                    |
| pageNum            | 否  | Integer                                                                                 | <p>返回的分页数。</p><p>默认值：1</p>                                      |
| pageSize           | 否  | Integer                                                                                 | <p>返回的分页大小。</p><p>默认为20，最大为1000。</p>                            |
| tagKeys            | 否  | Array of String                                                                         | <p>根据标签键进行搜索。</p><p>最长不得超过20个标签键。</p>                           |
| tags               | 否  | Array of [Tag](/api-reference/cn/compute/bmc/datastructure.md#tag)                      | <p>根据标签进行搜索。</p><p>最长不得超过20个标签。</p>                             |

## 3. 响应结果

| 参数名称       | 类型                                                                                   | 描述                                                       |
| ---------- | ------------------------------------------------------------------------------------ | -------------------------------------------------------- |
| requestId  | String                                                                               | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p> |
| totalCount | Integer                                                                              | 符合条件的数据总数。                                               |
| dataSet    | Array of [InstanceInfo](/api-reference/cn/compute/bmc/datastructure.md#instanceinfo) | 结果集。                                                     |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}

1. **分页查询实例列表**

```json
POST /api/v2/bmc HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: DescribeImages
Request:
{
  "pageNum": 1,
  "pageSize": 1
}
Response:
{
  "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
  "response": {
    "requestId": "TEEFDCA5B-76FB-4E91-A18E-DF7F5D2CE41F",
    "totalCount": 6,
    "dataSet": [
      {
        "instanceId": "instanceId",
        "zoneId": "HKG-A",
        "instanceName": "TEST",
        "hostname": "M7D-HKG-A-01",
        "instanceTypeId": "M7D",
        "imageId": "imageId",
        "imageName": "Ubuntu18.04-x86_64",
        "instanceChargeType": "POSTPAID",
        "bandwidthOutMbps": 0,
        "internetChargeType": "ByClusterBandwidth95",
        "period": null,
        "primaryPublicIpAddress": "1.1.1.1",
        "publicIpAddresses": [
          "1.1.1.1",
          "2.2.2.2"
        ],
        "privateIpAddresses": [
          "10.0.0.1"
        ],
        "ipv6Addresses": [
          "2602:ffe4:1:11::1"
        ],
        "subnetIds": [
          "subnetId"
        ],
        "createTime": "2023-01-01T00:00:00Z",
        "expiredTime": null,
        "resourceGroupId": "resourceGroupId",
        "instanceStatus": "RUNNING",
        "trafficPackageSize": 1.5,
        "raidConfig": {
          "raidType": null,
          "customRaids": [
            {
              "raidType": 1,
              "diskSequence": [
                12,
                13
              ]
            }
          ]
        },
        "partitions": [
          {
            "fsPath": "/",
            "fsType": "ext2",
            "size": 1100
          }
        ],
        "nic": {
          "wanName": "wan0",
          "lanName": "lan0"
        },
        "autoRenew": true
      }
    ]
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的[开发工具集（SDK）](/api-reference/cn/api-introduction/toolkit.md)，未来会陆续支持更多开发语言，方便快速接入和使用Zenlayer的产品和服务。

## 6. 错误码

下面包含业务逻辑中遇到的错误码，其他错误码见[公共错误码](/api-reference/cn/api-introduction/instruction/commonerrorcode.md)

| HTTP状态码 | 错误码                                 | 说明         |
| ------- | ----------------------------------- | ---------- |
| 404     | INVALID\_INSTANCE\_TYPE\_NOT\_FOUND | 指定的机型不存在。  |
| 404     | INVALID\_ZONE\_NOT\_FOUND           | 指定的可用区不存在。 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/api-reference/cn/compute/bmc/bare-metal-instance/describeinstances.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
