
# 创建事件通知规则 - CreateNoticeRule
#### 功能介绍
创建事件通知规则。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CAE/doc?api=CreateNoticeRule)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cae/cae_06_0016.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
#### URI
POST /v1/{project_id}/cae/notice-rules
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，获取项目ID请参见[获取项目ID](https://support.huaweicloud.com/api-cae/cae_06_0021.html)。 |
#### 请求参数
表2请求Header参数 
| 参数                      | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| X-Auth-Token            | 是    | String | 用户Token。 - 获取Token，请参考《[统一身份认证服务API参考](https://support.huaweicloud.com/api-iam/iam_30_0001.html)》的"获取用户Token"章节。 - 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。                                                               |
| X-Enterprise-Project-ID | 否    | String | 企业项目ID。 - 创建环境时，环境会绑定企业项目ID。 - 最大长度36字节，带"-"连字符的UUID格式，或者是字符串"0"。 - 该字段不传（或传为字符串"0"）时，则查询默认企业项目下的资源。 说明： 关于企业项目ID的获取及企业项目特性的详细信息，请参见《[企业管理服务用户指南](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html)》。 |
   
表3请求Body参数 
| 参数          | 是否必选 | 参数类型                                                                           | 描述                            |
|:---|:---|:---|:---|
| api_version | 是    | String                                                                         | API版本，固定值"v1"，该值不可修改。         |
| kind        | 是    | String                                                                         | API类型，固定值"NoticeRule"，该值不可修改。 |
| spec        | 是    | [CreateNoticeRuleItem] object | 请求数据。                         |
   
 表4CreateNoticeRuleItem 
| 参数             | 是否必选 | 参数类型                                                                               | 描述                                                                            |
|:---|:---|:---|:---|
| name           | 是    | String                                                                             | 通知名称。                                                                         |
| event_name     | 否    | String                                                                             | 触发事件名称，支持实例调度成功、实例调度失败、健康检查成功、健康检查失败、镜像拉取成功、镜像拉取失败、容器启动成功、容器启动失败、卷挂载成功、卷挂载失败。 |
| scope          | 是    | [NoticeRuleScope] object               | 生效的通知规则范围。                                                                    |
| trigger_policy | 是    | [TriggerPolicy] object                   | 触发策略。                                                                         |
| notification   | 是    | [NoticeRuleNotification] object | 通知的机制。                                                                        |
| enable         | 否    | Boolean                                                                            | 是否启用。                                                                         |
   
 表5NoticeRuleScope 
| 参数           | 是否必选 | 参数类型             | 描述                                                                                    |
|:---|:---|:---|:---|
| type         | 是    | String           | 生效范围的类型。包括environments（对指定环境下所有组件生效），applications（对指定应用下所有组件生效），components（对指定的组件生效）。 |
| environments | 否    | Array of strings | 生效的环境id列表。                                                                            |
| applications | 否    | Array of strings | 生效的应用id列表。                                                                            |
| components   | 否    | Array of strings | 生效的组件id列表。                                                                            |
   
 表6TriggerPolicy 
| 参数           | 是否必选 | 参数类型    | 描述                                                 |
|:---|:---|:---|:---|
| trigger_type | 是    | String  | 触发类型，accumulative: 累计触发，immediately: 立即触发。         |
| period       | 否    | Integer | 触发周期，选择累计触发时需设置该参数，默认单位为s，支持5分钟、20分钟、1小时、4小时、24小时。 |
| operator     | 否    | String  | 比较符，支持'\>'和'\>='。                                  |
| count        | 否    | Integer | 触发次数，选择累计触发时需设置该参数。                                |
   
 表7NoticeRuleNotification 
| 参数        | 是否必选 | 参数类型                                                     | 描述                                                                                                                                                                            |
|:---|:---|:---|:---|
| protocol  | 是    | String                                                   | **参数解释：** 通知的协议类型。 **约束限制：** 不涉及。 **取值范围：** - email：邮件 - sms：短信 - wechat：企业微信群消息 - dingding：钉钉机器人 **默认取值：** 不涉及。                                                              |
| extension | 否    | [extension] object |                                                                                                                                                                               |
| endpoint  | 是    | String                                                   | 通知的终端地址。 email协议，接入点必须是邮件地址。 sms协议，接入点必须是一个电话号码。 wechat协议以及钉钉机器人场景，参考[获取订阅终端](https://support.huaweicloud.com/smn_faq/smn_faq_0027.html)。 企业微信群消息以及钉钉机器人为SMN服务公测功能，需提交工单申请开通。 |
| template  | 否    | String                                                   | 通知的模板语言。 ZH，中文。 EN，英文。                                                                                                                                                        |
   
 表8extension 
| 参数          | 是否必选 | 参数类型   | 描述                   |
|:---|:---|:---|:---|
| sign_secret | 否    | String | 在使用钉钉场景下，支持用户填写密钥字段。 |
   
#### 响应参数
**状态码：200**
表9响应Body参数 
| 参数          | 参数类型                                                                                    | 描述                            |
|:---|:---|:---|
| api_version | String                                                                                  | API版本，固定值"v1"，该值不可修改。         |
| kind        | String                                                                                  | API类型，固定值"NoticeRule"，该值不可修改。 |
| spec        | [CreateNoticeRuleRespItem] object | 请求数据。                         |
   
 表10CreateNoticeRuleRespItem 
| 参数             | 参数类型                                                                                | 描述         |
|:---|:---|:---|
| id             | String                                                                              | 通知规则的唯一标识。 |
| name           | String                                                                              | 通知名称。      |
| event_name     | String                                                                              | 触发事件名称。    |
| scope          | [NoticeRuleScope] object               | 生效的通知规则范围。 |
| trigger_policy | [TriggerPolicy] object                   | 触发策略。      |
| notification   | [NoticeRuleNotification] object | 通知的机制。     |
| enable         | Boolean                                                                             | 是否启用。      |
   
 表11NoticeRuleScope 
| 参数           | 参数类型             | 描述                                                                                    |
|:---|:---|:---|
| type         | String           | 生效范围的类型。包括environments（对指定环境下所有组件生效），applications（对指定应用下所有组件生效），components（对指定的组件生效）。 |
| environments | Array of strings | 生效的环境id列表。                                                                            |
| applications | Array of strings | 生效的应用id列表。                                                                            |
| components   | Array of strings | 生效的组件id列表。                                                                            |
   
 表12TriggerPolicy 
| 参数           | 参数类型    | 描述                                                 |
|:---|:---|:---|
| trigger_type | String  | 触发类型，accumulative: 累计触发，immediately: 立即触发。         |
| period       | Integer | 触发周期，选择累计触发时需设置该参数，默认单位为s，支持5分钟、20分钟、1小时、4小时、24小时。 |
| operator     | String  | 比较符，支持'\>'和'\>='。                                  |
| count        | Integer | 触发次数，选择累计触发时需设置该参数。                                |
   
 表13NoticeRuleNotification 
| 参数        | 参数类型                                                      | 描述                                                                                                                                                                            |
|:---|:---|:---|
| protocol  | String                                                    | **参数解释：** 通知的协议类型。 **约束限制：** 不涉及。 **取值范围：** - email：邮件 - sms：短信 - wechat：企业微信群消息 - dingding：钉钉机器人 **默认取值：** 不涉及。                                                              |
| extension | [extension] object |                                                                                                                                                                               |
| endpoint  | String                                                    | 通知的终端地址。 email协议，接入点必须是邮件地址。 sms协议，接入点必须是一个电话号码。 wechat协议以及钉钉机器人场景，参考[获取订阅终端](https://support.huaweicloud.com/smn_faq/smn_faq_0027.html)。 企业微信群消息以及钉钉机器人为SMN服务公测功能，需提交工单申请开通。 |
| template  | String                                                    | 通知的模板语言。 ZH，中文。 EN，英文。                                                                                                                                                        |
   
 表14extension 
| 参数          | 参数类型   | 描述                   |
|:---|:---|:---|
| sign_secret | String | 在使用钉钉场景下，支持用户填写密钥字段。 |
   
#### 请求示例
创建事件通知规则。
```
POST https://{endpoint}/v1/{project_id}/cae/notice-rules
{
  "api_version" : "v1",
  "kind" : "NoticeRule",
  "spec" : {
    "name" : "test",
    "event_name" : "Started",
    "scope" : {
      "type" : "environments",
      "environments" : [ "f3c12180-b34a-42d8-bb5a-12ba0a6b579e" ]
    },
    "trigger_policy" : {
      "trigger_type" : "immediately"
    },
    "notification" : {
      "protocol" : "email",
      "endpoint" : "123@example.com",
      "template" : "ZH"
    },
    "enable" : true
  }
}
```
#### 响应示例
**状态码：200**
请求成功。
```
{
  "api_version": "v1",
  "kind": "NoticeRule",
  "spec": {
    "id": "133da017-423c-4e1c-80be-8c8c71c9b84e",
    "name": "test",
    "event_name": "Started",
    "scope": {
      "type": "environments",
      "environments": [
        "f3c12180-b34a-42d8-bb5a-12ba0a6b579e"
      ]
    },
    "trigger_policy": {
      "trigger_type": "immediately"
    },
    "notification": {
      "protocol": "email",
      "endpoint": "123@example.com"
      "template": "ZH"
    },
    "enable": true
  }
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 请求成功。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cae/ErrorCode.html)。
