
# 创建健康检查 - CreateHealthCheck
#### 功能介绍
创建健康检查。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-ga/ga_03_0000.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ga/ga_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                   | 访问级别  | 资源类型（\*为必须）    | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | ga:healthcheck:create | Write | healthcheck \* | -   | -  | -      |
     
#### URI
POST /v1/health-checks
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                       |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表2请求Body参数 
| 参数           | 是否必选 | 参数类型                                                                                  | 描述           |
|:---|:---|:---|:---|
| health_check | 是    | [CreateHealthCheckOption] object | 创建健康检查的详细信息。 |
   
 表3CreateHealthCheckOption 
| 参数                | 是否必选 | 参数类型    | 描述                                                     |
|:---|:---|:---|:---|
| endpoint_group_id | 是    | String  | 终端节点组ID。                                               |
| protocol          | 是    | String  | 监听的网络传输协议类型。 取值范围：TCP、UDP                              |
| port              | 是    | Integer | 健康检查的端口。                                               |
| interval          | 是    | Integer | 健康检查的时间间隔，单位为秒。                                        |
| timeout           | 是    | Integer | 健康检查的超时时间，单位为秒。建议该值小于interval的值。                       |
| max_retries       | 是    | Integer | 最大重试次数。将终端节点的状态从"健康"设置为"不健康"或从"不健康"设置为"健康"所需的连续健康检查次数。 |
| enabled           | 是    | Boolean | 是否开启健康检查。                                              |
   
#### 响应参数
**状态码：201**
表4响应Body参数 
| 参数           | 参数类型                                                                       | 描述      |
|:---|:---|:---|
| health_check | [HealthCheckDetail] object | 健康检查实例。 |
| request_id   | String                                                                     | 请求ID。   |
   
 表5HealthCheckDetail 
| 参数                | 参数类型                                                         | 描述                                                            |
|:---|:---|:---|
| id                | String                                                       | 健康检查ID。                                                       |
| endpoint_group_id | String                                                       | 终端节点组ID。                                                      |
| protocol          | String                                                       | 监听的网络传输协议类型。 取值范围：TCP、UDP                                     |
| status            | String                                                       | 配置状态，取值： - ACTIVE：运行中 - PENDING：待定 - ERROR：错误 - DELETING：正在删除 |
| port              | Integer                                                      | 健康检查的端口。                                                      |
| interval          | Integer                                                      | 健康检查的时间间隔，单位为秒。                                               |
| timeout           | Integer                                                      | 健康检查的超时时间，单位为秒。建议该值小于interval的值。                              |
| max_retries       | Integer                                                      | 最大重试次数。将终端节点的状态从"健康"设置为"不健康"或从"不健康"设置为"健康"所需的连续健康检查次数。        |
| created_at        | String                                                       | 创建时间。                                                         |
| updated_at        | String                                                       | 更新时间。                                                         |
| domain_id         | String                                                       | 租户ID。                                                         |
| enabled           | Boolean                                                      | 是否开启健康检查。                                                     |
| frozen_info       | [FrozenInfo] object | 云服务或资源实例冻结信息。                                                 |
   
 表6FrozenInfo 
| 参数     | 参数类型             | 描述                                                                                                                                                           |
|:---|:---|:---|
| status | Integer          | 云服务或资源实例状态，取值： - 0：解冻/正常（云服务恢复正常）。 - 1：冻结（资源和数据会保留，但租户无法再正常使用云服务）。 - 2：删除/终止（资源和数据将清除）。                                                                      |
| effect | Integer          | 在冻结/解冻操作下，取值： - 1（默认值）：冻结可释放。 - 2：冻结不可释放。 - 3：冻结后不可续费。                                                                                                       |
| scene  | Array of strings | 更新云服务状态的业务场景列表，取值： - ARREAR（默认值）：欠费场景。为正常的运营业务场景，包括包周期资源到期、按需资源扣费失败。 - POLICE：公安冻结场景。 - ILLEGAL：违规冻结场景。 - VERIFY：客户未实名认证冻结场景。 - PARTNER：合作伙伴冻结（合作伙伴冻结子客户资源）。 |
   
#### 请求示例
创建并开启健康检查，TCP协议，端口为3333，间隔时间和超时时间均为30秒，最大重试次数1次。
```
POST https://{ga_endpoint}/v1/health-checks
{
  "health_check" : {
    "endpoint_group_id" : "3a9f50bb-f041-4eac-a117-82472d8a0007",
    "protocol" : "TCP",
    "port" : 3333,
    "interval" : 30,
    "timeout" : 30,
    "max_retries" : 1,
    "enabled" : true
  }
}
```
#### 响应示例
**状态码：201**
创建成功
```
{
  "health_check" : {
    "id" : "c2b210b2-60c4-449d-91e2-9e9ea1dd7442",
    "endpoint_group_id" : "3a9f50bb-f041-4eac-a117-82472d8a0007",
    "protocol" : "TCP",
    "status" : "ACTIVE",
    "port" : 3333,
    "interval" : 30,
    "timeout" : 30,
    "max_retries" : 1,
    "created_at" : "2019-01-08T01:21:37.151Z",
    "updated_at" : "2019-01-08T01:21:37.151Z",
    "domain_id" : "99a3fff0d03c428eac3678da6a7d0f24",
    "enabled" : true,
    "frozen_info" : {
      "status" : 2,
      "effect" : 1,
      "scene" : [ "ARREAR", "POLICE" ]
    }
  },
  "request_id" : "915a14a6-867b-4af7-83d1-70efceb146f9"
}
```
#### 状态码
| 状态码 | 描述   |
|:---|:---|
| 201 | 创建成功 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ga/ErrorCode.html)。
