
# 查询健康检查
#### 功能介绍
查询健康检查。支持过滤查询和分页查询。如未特殊说明，匹配规则为精确匹配。
#### URI
GET /v2.0/lbaas/healthmonitors
#### 接口约束
分页查询使用的参数为marker、limit、page_reverse。marker和page_reverse只有和limit一起使用时才会生效，单独使用无效。
#### 请求消息
表1请求参数 
| 参数               | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| marker           | 否    | String  | 分页查询的起始的资源ID，表示上一页最后一条查询记录的健康检查的ID。 必须与limit一起使用。                                                                                                                                                                                                                               |
| limit            | 否    | Integer | 分页查询每页的健康检查个数。如果不设置，则默认不分页查询所有。                                                                                                                                                                                                                                                                                  |
| page_reverse     | 否    | Boolean | 分页的顺序，true表示从后往前分页，false表示从前往后分页，默认为false。 必须与limit一起使用。                                                                                                                                                                                                                       |
| id               | 否    | String  | 健康检查ID。                                                                                                                                                                                                                                                                                                          |
| tenant_id        | 否    | String  | 健康检查所在的项目ID。 支持的最大字符长度：255                                                                                                                                                                                                                                                           |
| project_id       | 否    | String  | 此参数和tenant_id参数含义一样，均指健康检查所在的项目ID。                                                                                                                                                                                                                                                                               |
| name             | 否    | String  | 健康检查名称。 支持的最大字符长度：255                                                                                                                                                                                                                                                          |
| delay            | 否    | Integer | 健康检查间隔，单位秒，取值范围\[1，50\]。                                                                                                                                                                                                                                                                                         |
| max_retries      | 否    | Integer | 健康检查连续成功多少次后，将后端服务器的健康检查状态由OFFLINE判定为ONLINE，取值范围\[1，10\]。                                                                                                                                                                                                                                                        |
| max_retries_down | 否    | Integer | 健康检查连续失败多少次后，将后端服务器的健康检查状态由ONLINE判定为OFFLINE，取值范围\[1，10\]。                                                                                                                                                                                                                                                        |
| admin_state_up   | 否    | Boolean | 健康检查的管理状态。 该字段为预留字段，暂未启用。默认为true。                                                                                                                                                                                                                                                 |
| timeout          | 否    | Integer | 健康检查超时时间，单位秒，取值范围\[1，50\]。 说明： 建议该值小于delay的值。                                                                                                                                                                                                      |
| type             | 否    | String  | 健康检查的类型。 取值范围：TCP、UDP_CONNECT、HTTP。                                                                                                                                                                                                                                               |
| monitor_port     | 否    | Integer | 健康检查端口号。 默认为空，表示使用后端云服务器的protocol_port作为健康检查的检查端口。                                                                                                                                                                                                                             |
| expected_codes   | 否    | String  | 期望HTTP响应状态码，指定下列值： 单值，例如200； 列表，例如200，202； 区间，例如200-204。 仅当type为HTTP时生效。 支持的最大字符长度：64 说明： 该字段为预留字段，暂未启用。   |
| domain_name      | 否    | String  | 健康检查时，发送的http请求的域名。 仅当type为HTTP时生效。 默认为空，表示使用负载均衡器的vip_address作为http请求的目的地址。 以数字或字母开头，只能包含数字、字母、'-'、'.'。 例如：www.test.com 支持的最大字符长度：100 |
| url_path         | 否    | String  | 健康检查时发送的http请求路径。默认为"/"。 以"/"开头。 仅当type为HTTP时生效。 例如："/test" 支持的最大字符长度：80                                                                                                          |
| http_method      | 否    | String  | HTTP请求的方法；默认值：GET 取值范围：GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT、PATCH。 仅当type为HTTP时生效。 说明： 该字段为预留字段，暂未启用。                                                                |
   
#### 响应消息
表2响应参数 
| 参数                   | 参数类型  | 描述                                                                                                                                                |
|:---|:---|:---|
| healthmonitors       | Array | 健康检查对象列表。详见[表3]。                                                                                             |
| healthmonitors_links | Array | 健康检查的分页查询中上下页的链接信息。 仅当分页查询时响应体中有该字段。 详见[表5]。 |
   
 表3healthmonitors字段说明 
| 参数               | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|
| id               | String  | 健康检查ID。                                                                                                                                                                                                                                                                                                                                                                                                    |
| tenant_id        | String  | 健康检查所在的项目ID。                                                                                                                                                                                                                                                                                                                                                                                               |
| project_id       | String  | 此参数和tenant_id参数含义一样，均指健康检查所在的项目ID。                                                                                                                                                                                                                                                                                                                                                                         |
| name             | String  | 健康检查名称。 支持的最大字符长度：255                                                                                                                                                                                                                                                                                                                                                    |
| delay            | Integer | 健康检查间隔，单位秒，取值范围\[1，50\]。                                                                                                                                                                                                                                                                                                                                                                                   |
| max_retries      | Integer | 健康检查连续成功多少次后，将后端服务器的健康检查状态由OFFLINE判定为ONLINE， 取值范围\[1，10\]。                                                                                                                                                                                                                                                                                                                 |
| max_retries_down | Integer | 健康检查连续失败多少次后，将后端服务器的健康检查状态由ONLINE判定为OFFLINE， 取值范围\[1，10\]。                                                                                                                                                                                                                                                                                                               |
| pools            | Array   | 健康检查关联的后端云服务器组的ID列表。                                                                                                                                                                                                                                                                                                                                                                                       |
| admin_state_up   | Boolean | 健康检查的管理状态。 该字段为预留字段，暂未启用。取值范围：true/false。 - true表示开启。  - false表示关闭。   |
| timeout          | Integer | 健康检查超时时间，单位秒，取值范围\[1，50\]。 说明： 建议该值小于delay的值。                                                                                                                                                                                                                                                                                               |
| type             | String  | 健康检查的类型。 取值范围：TCP、UDP_CONNECT、HTTP。                                                                                                                                                                                                                                                                                                                                       |
| monitor_port     | Integer | 健康检查端口号，取值范围\[1，65535\]。 默认为空，表示使用后端云服务器的protocol_port作为健康检查的检查端口。                                                                                                                                                                                                                                                                                                         |
| expected_codes   | String  | 期望HTTP响应状态码，指定下列值： 单值，例如200； 列表，例如200，202； 区间，例如200-204。 仅当type为HTTP时生效。 支持的最大字符长度：64                                                                                                                                                                          |
| domain_name      | String  | 健康检查时，发送的http请求的域名。 仅当type为HTTP时生效。 默认为空，表示使用负载均衡器的vip_address作为http请求的目的地址。 以数字或字母开头，只能包含数字、字母、'-'、'.'。 例如：www.test.com 支持的最大字符长度：100                                                                                                 |
| url_path         | String  | 健康检查时发送的http请求路径。默认为"/"。 以"/"开头。 仅当type为HTTP时生效。 例如："/test" 支持的最大字符长度：80                                                                                                                                                                                               |
| http_method      | String  | HTTP请求的方法；默认值：GET 取值范围：GET、HEAD、POST、PUT、DELETE、TRACE、OPTIONS、CONNECT、PATCH。 仅当type为HTTP时生效。 说明： 该字段为预留字段，暂未启用。                                                                                                                                                          |
   
表4pools字段说明 
| 参数 | 参数类型   | 描述          |
|:---|:---|:---|
| id | String | 关联的后端服务器组id |
   
 表5healthmonitors_links字段说明 
| 参数   | 参数类型   | 描述                                                                                                                      |
|:---|:---|:---|
| href | String | 健康检查的分页查询中上下页的链接。                                                                                                       |
| rel  | String | 上下页的提示信息。 取值范围：next、previous。next表示href是下一页的url，previous表示href是上一页的url。 |
   
#### 请求示例
- 请求样例1 全量查询健康检查
  ```
  GET https://{Endpoint}/v2.0/lbaas/healthmonitors
  ```
  
- 请求样例2 过滤查询类型为HTTP的健康检查
  ```
  GET https://{Endpoint}/v2.0/lbaas/healthmonitors?type=HTTP
  ```
  
 
#### 响应示例
- 响应样例1
  ```
  {
      "healthmonitors": [
          {
              "monitor_port": null,
              "name": "",
              "admin_state_up": true,
              "tenant_id": "601240b9c5c94059b63d484c92cfe308",
              "project_id": "601240b9c5c94059b63d484c92cfe308", 
              "domain_name": null,
              "delay": 5,
              
              "max_retries": 3,
              "max_retries_down": 5,
              "http_method": "GET",
              "timeout": 10,
              "pools": [
                  {
                      "id": "caef8316-6b65-4676-8293-cf41fb63cc2a"
                  }
              ],
              "url_path": "/",
              "type": "HTTP",
              "id": "1b587819-d619-49c1-9101-fe72d8b361ef"
          }
      ]
  }
  ```
  
- 响应样例2
  ```
  {
      "healthmonitors": [
          {
              "monitor_port": null,
              "name": "",
              "admin_state_up": true,
              "tenant_id": "601240b9c5c94059b63d484c92cfe308",
              "project_id": "601240b9c5c94059b63d484c92cfe308", 
              "domain_name": null,
              "delay": 5,
              "expected_codes": "200-204,300-302,401",
              "max_retries": 3,
              "max_retries_down": 5,
              "http_method": "GET",
              "timeout": 10,
              "pools": [
                  {
                      "id": "caef8316-6b65-4676-8293-cf41fb63cc2a"
                  }
              ],
              "url_path": "/",
              "type": "HTTP",
              "id": "1b587819-d619-49c1-9101-fe72d8b361ef"
          }
      ]
  }
  ```
  
 
#### 返回码
请参见[状态码](https://support.huaweicloud.com/api-elb/elb_gc_1102.html)。
