
# 修改告警规则 - UpdateAlarm
#### 功能介绍
修改告警规则。
告警规则V1接口只支持配置单资源单策略规则，建议使用[批量增加告警规则资源](https://support.huaweicloud.com/api-ces/AddAlarmRuleResources.html)、[批量删除告警规则资源](https://support.huaweicloud.com/api-ces/DeleteAlarmRuleResources.html)和[修改告警规则策略(全量修改)](https://support.huaweicloud.com/api-ces/UpdateAlarmRulePolicies.html)与前端功能配套使用。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CES/doc?api=UpdateAlarm&version=v1)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ces/ces_03_0045.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项            | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 别名                  | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | ces:alarms:put | Write | alarm \*    | - g:ResourceTag/\<tag-key\>   - g:EnterpriseProjectId    | ces:alarmsonoff:put | -      |
  | ces:alarms:put | Write | -           | - g:RequestTag/\<tag-key\>   - g:TagKeys               | ces:alarmsonoff:put | -      |
     
  
 
#### URI
PUT /V1.0/{project_id}/alarms/{alarm_id}
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| alarm_id   | 是    | String | **参数解释**： 告警规则ID，通过[查询告警规则列表（推荐）](https://support.huaweicloud.com/api-ces/ListAlarmRules.html)接口获取告警规则ID。 **约束限制**： 不涉及。 **取值范围**： 以al开头，后跟22位由字母或数字组成的字符串。长度为24个字符。 **默认取值**： 不涉及。 |
| project_id | 是    | String | **参数解释**: 项目ID。用于明确项目归属，配置后可通过该ID查询项目下资产，可以通过调用API获取，也可以从控制台获取。获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-ces/ces_03_0057.html)。 **约束限制**: 不涉及。 **取值范围**: 长度为\[1,64\]个字符。 **默认取值**: 不涉及。                |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| Content-Type | 否    | String | **参数解释**: 发送的实体的MIME类型。 **约束限制**: 不涉及。 **取值范围**: 长度为\[1,64\]个字符。 **默认取值**: 默认使用 application/json; charset=UTF-8，如果API是对象、镜像上传等接口，媒体类型可按照流类型的不同进行确定。 |
| X-Auth-Token | 否    | String | **参数解释**: 用户Token。 **约束限制**: 不涉及。 **取值范围**: 长度为\[1,16384\]个字符。 **默认取值**: 不涉及。                                                                       |
   
表3请求Body参数 
| 参数                       | 是否必选 | 参数类型                                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| alarm_name               | 否    | String                                                                                           | **参数解释**： 告警规则名称 **约束限制**： 不涉及 **取值范围**： 只能包含0-9/a-z/A-Z/_/-或汉字，长度\[1, 128\]个字符 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| alarm_description        | 否    | String                                                                                           | **参数解释**： 告警描述。 **约束限制**： 不涉及。 **取值范围**： 长度\[0,256\]个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| condition                | 否    | [Condition] object                 | **参数解释**： 告警规则设置的告警策略。 **约束限制**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| alarm_action_enabled     | 否    | Boolean                                                                                          | **参数解释**： 是否开启告警通知 **约束限制**： 若alarm_action_enabled为true，对应的alarm_actions、ok_actions至少有一个不能为空。若alarm_actions、ok_actions同时存在时，notificationList值保持一致。 **取值范围**： 只能为true、false - true: 开启告警通知   - false：关闭告警通知    **默认取值**: false。                                                                                                                                                                                                                                                                                                                                                               |
| alarm_level              | 否    | Integer                                                                                          | **参数解释**： 告警级别 **约束限制**： 不涉及 **取值范围**： 级别为1、2、3、4。 - 1：紧急   - 2：重要   - 3：次要   - 4：提示    **默认取值**: 2                    |
| alarm_type               | 否    | String                                                                                           | **参数解释**： 告警类型。 **约束限制**： 不涉及 **取值范围**： - EVENT.SYS：针对系统事件的告警规则。   - EVENT.CUSTOM：针对自定义事件的告警规则。   - RESOURCE_GROUP：针对资源分组的告警规则。   - MULTI_INSTANCE： 针对指定资源的告警规则。    **默认取值**： 不涉及。 |
| alarm_actions            | 否    | Array of [AlarmActions] objects | **参数解释**： 告警触发时，通知组/主题订阅的信息。结构样例如下： { "type": "notification","notificationList":\["urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd"\] } **约束限制**： 最多包含10个告警触发时的通知对象信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| insufficientdata_actions | 否    | Array of [AlarmActions] objects | **参数解释**： 数据不足触发告警时，通知组/主题订阅的信息。（该参数已废弃，建议无需配置） **约束限制**： 最多包含10个告警动作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ok_actions               | 否    | Array of [AlarmActions] objects | **参数解释**： 告警恢复时，通知组/主题订阅的信息。结构样例如下： { "type": "notification","notificationList":\["urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd"\] } **约束限制**： 最多包含10个告警触发时的通知对象信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
 表4Condition 
| 参数                  | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| comparison_operator | 是    | String  | **参数解释**： 阈值符号。 **约束限制**： 指标告警可以使用的阈值符号有\>、\>=、\<、\<=、=、!=、cycle_decrease、cycle_increase、cycle_wave； 事件告警可以使用的阈值符号为\>、\>=、\<、\<=、=、!=。 **取值范围**： 支持的值为(\>\|\<\|\>=\|\<=\|=\|!=\|cycle_decrease\|cycle_increase\|cycle_wave);cycle_decrease为环比下降,cycle_increase为环比上升,cycle_wave为环比波动。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| count               | 是    | Integer | **参数解释**： 触发告警的连续发生次数。 **约束限制**： 不涉及。 **取值范围**： 整数，取值范围\[1, 5\]。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| filter              | 是    | String  | **参数解释**： 数据聚合的方式。 **约束限制**： period为1（原始值）时，filter字段不生效，参数值默认为average。period大于1时filter才起作用。 **取值范围**： 支持 average、variance、min、max、sum。 - average： 平均值   - variance：方差   - min：最小值   - max：最大值   - sum：求和    **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| period              | 是    | Integer | **参数解释**： 指标周期，单位是秒。如想了解各个云服务的指标原始周期可以参考[支持监控的服务列表](https://support.huaweicloud.com/api-ces/ces_03_0059.html)。 **约束限制**： 不涉及。 **取值范围**： 枚举值。 - 0代表立即触发，仅限事件场景使用。   - 1代表指标的原始周期，比如RDS监控指标原始周期是60s，表示该RDS指标按60s周期为一个数据点参与告警计算。   - 300代表指标按5分钟聚合周期为一个数据点参与告警计算。   - 1200代表指标按20分钟聚合周期为一个数据点参与告警计算。   - 3600代表指标按1小时聚合周期为一个数据点参与告警计算。   - 14400代表指标按4小时聚合周期为一个数据点参与告警计算。   - 86400代表指标按1天聚合周期为一个数据点参与告警计算。   **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| unit                | 否    | String  | **参数解释**： 数据的单位。 **约束限制**： 不涉及。 **取值范围**： 长度为\[0,32\]个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| value               | 是    | Number  | **参数解释**： 告警阈值。具体阈值取值请参见附录中各服务监控指标中取值范围，如[支持监控的服务列表](https://support.huaweicloud.com/api-ces/ces_03_0059.html)中ECS的CPU使用率cpu_util取值范围可配置80。 **约束限制**： 单一阈值时value和alarm_level配对使用，当hierarchical_value和value同时使用时以hierarchical_value为准。 **取值范围**： 最小值为-1.7976931348623157e+108，最大值为1.7976931348623157e+108。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| suppress_duration   | 否    | Integer | **参数解释**： 告警抑制时间，单位为秒，对应页面上创建告警规则时告警策略最后一个字段，该字段主要为解决告警频繁的问题。 **约束限制**： 不涉及。 **取值范围**： 枚举值，只能为0、300、600、900、1800、3600、10800、21600、43200、86400。 - 0：对于指标类告警，0代表告警一次。对于事件类告警，在立即触发场景中，0代表不抑制；在累计触发场景，0代表只告警一次。   - 300代表满足告警触发条件后每5分钟告警一次。   - 600代表满足告警触发条件后每10分钟告警一次。   - 900代表满足告警触发条件后每15分钟告警一次。   - 1800代表满足告警触发条件后每30分钟告警一次。   - 3600代表满足告警触发条件后每60分钟告警一次。   - 10800代表满足告警触发条件后每3小时告警一次。   - 21600代表满足告警触发条件后每6小时告警一次。   - 43200代表满足告警触发条件后每12小时告警一次。   - 86400代表满足告警触发条件后每一天告警一次。    **默认取值**： 不涉及。 |
   
 表5AlarmActions 
| 参数       | 是否必选 | 参数类型                                                                                             | 描述                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| \[数组元素\] | 否    | Array of [Notification] objects | **参数解释**： 通知组/主题订阅的信息。 **约束限制**： 最多包含20个动作。 |
   
 表6Notification 
| 参数               | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| type             | 是    | String           | **参数解释**： 告警通知类型。 **约束限制**： 不涉及。 **取值范围**： 取值如下： notification、autoscaling - notification：通知组或主题订阅   - autoscaling：AS通知，只在AS中使用    **默认取值**： 不涉及。 |
| notificationList | 是    | Array of strings | **参数解释**： 告警状态发生变化时，被通知对象的列表。 **约束限制**： 通知对象ID最多可以配置20个。 topicUrn可从SMN获取，具体操作请参考"查询Topic列表"。 说明：若alarm_action_enabled为true，对应的alarm_actions、ok_actions至少有一个不能为空。若alarm_actions、ok_actions同时存在时，notificationList值保持一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
#### 响应参数
**状态码：204**
No Content
**状态码：400**
表7响应Body参数 
| 参数 | 参数类型   | 描述    |
|:---|:---|:---|
| -  | String | 请求错误。 |
   
**状态码：401**
表8响应Body参数 
| 参数 | 参数类型   | 描述               |
|:---|:---|:---|
| -  | String | 未提供认证信息，或认证信息错误。 |
   
**状态码：403**
表9响应Body参数 
| 参数 | 参数类型   | 描述         |
|:---|:---|:---|
| -  | String | 请求页面被禁止访问。 |
   
**状态码：408**
表10响应Body参数 
| 参数 | 参数类型   | 描述             |
|:---|:---|:---|
| -  | String | 请求超出了服务器的等待时间。 |
   
**状态码：429**
表11响应Body参数 
| 参数 | 参数类型   | 描述    |
|:---|:---|:---|
| -  | String | 请求过多。 |
   
**状态码：500**
表12响应Body参数 
| 参数 | 参数类型   | 描述          |
|:---|:---|:---|
| -  | String | 请求未完成，服务异常。 |
   
**状态码：503**
表13响应Body参数 
| 参数 | 参数类型   | 描述            |
|:---|:---|:---|
| -  | String | 系统暂时不可用，请求受限。 |
   
#### 请求示例
```
{
  "alarm_name" : "alarm-update-test01",
  "alarm_description" : "alarm-update-test01",
  "condition" : {
    "comparison_operator" : ">=",
    "count" : 3,
    "filter" : "average",
    "period" : 1,
    "value" : 95
  },
  "alarm_action_enabled" : false,
  "alarm_level" : 2
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 204 | No Content            |
| 400 | Bad Request           |
| 401 | Unauthorized          |
| 403 | Forbidden             |
| 408 | Request Timeout       |
| 429 | Too Many Requests     |
| 500 | Internal Server Error |
| 503 | Service Unavailable   |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ces/ErrorCode.html)。
