更新时间:2024-11-14 GMT+08:00
分享

创建事件通知规则

功能介绍

创建事件通知规则。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/{project_id}/cae/notice-rules

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取项目ID请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

  • 获取Token,请参考《统一身份认证服务API参考》的“获取用户Token”章节。

  • 请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。

X-Enterprise-Project-ID

String

企业项目ID。

  • 创建环境时,环境会绑定企业项目ID。

  • 最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。

  • 该字段不传(或传为字符串“0”)时,则查询默认企业项目下的资源。

说明:

关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理服务用户指南》。

表3 请求Body参数

参数

是否必选

参数类型

描述

api_version

String

API版本,固定值“v1”,该值不可修改。

kind

String

API类型,固定值“NoticeRule”,该值不可修改。

spec

CreateNoticeRuleItem object

请求数据。

表4 CreateNoticeRuleItem

参数

是否必选

参数类型

描述

name

String

通知名称。

event_name

String

触发事件名称,支持实例调度成功、实例调度失败、健康检查成功、健康检查失败、镜像拉取成功、镜像拉取失败、容器启动成功、容器启动失败、卷挂载成功、卷挂载失败。

scope

NoticeRuleScope object

生效的通知规则范围。

trigger_policy

TriggerPolicy object

触发策略。

notification

NoticeRuleNotification object

通知的机制。

enable

Boolean

是否启用。

表5 NoticeRuleScope

参数

是否必选

参数类型

描述

type

String

生效范围的类型。包括environments(对指定环境下所有组件生效),applications(对指定应用下所有组件生效),components(对指定的组件生效)。

environments

Array of strings

生效的环境id列表。

applications

Array of strings

生效的应用id列表。

components

Array of strings

生效的组件id列表。

表6 TriggerPolicy

参数

是否必选

参数类型

描述

trigger_type

String

触发类型,accumulative: 累计触发,immediately: 立即触发。

period

Integer

触发周期,选择累计触发时需设置该参数,默认单位为s,支持5分钟、20分钟、1小时、4小时、24小时。

operator

String

比较符,支持'>'和'>='。

count

Integer

触发次数,选择累计触发时需设置该参数。

表7 NoticeRuleNotification

参数

是否必选

参数类型

描述

protocol

String

通知的协议类型,包括短信,邮件,企业微信群消息等。

endpoint

String

通知的终端地址。

email协议,接入点必须是邮件地址。

sms协议,接入点必须是一个电话号码。

wechat协议,参考https://support.huaweicloud.com/smn_faq/smn_faq_0027.html获取订阅终端,

企业微信群消息为SMN服务公测功能,需提交工单申请开通。

template

String

通知的模板语言。

ZH,中文。

EN,英文。

响应参数

状态码: 200

表8 响应Body参数

参数

参数类型

描述

api_version

String

API版本,固定值“v1”,该值不可修改。

kind

String

API类型,固定值“NoticeRule”,该值不可修改。

spec

CreateNoticeRuleRespItem object

请求数据。

表9 CreateNoticeRuleRespItem

参数

参数类型

描述

id

String

通知规则的唯一标识。

name

String

通知名称。

event_name

String

触发事件名称。

scope

NoticeRuleScope object

生效的通知规则范围。

trigger_policy

TriggerPolicy object

触发策略。

notification

NoticeRuleNotification object

通知的机制。

enable

Boolean

是否启用。

表10 NoticeRuleScope

参数

参数类型

描述

type

String

生效范围的类型。包括environments(对指定环境下所有组件生效),applications(对指定应用下所有组件生效),components(对指定的组件生效)。

environments

Array of strings

生效的环境id列表。

applications

Array of strings

生效的应用id列表。

components

Array of strings

生效的组件id列表。

表11 TriggerPolicy

参数

参数类型

描述

trigger_type

String

触发类型,accumulative: 累计触发,immediately: 立即触发。

period

Integer

触发周期,选择累计触发时需设置该参数,默认单位为s,支持5分钟、20分钟、1小时、4小时、24小时。

operator

String

比较符,支持'>'和'>='。

count

Integer

触发次数,选择累计触发时需设置该参数。

表12 NoticeRuleNotification

参数

参数类型

描述

protocol

String

通知的协议类型,包括短信,邮件,企业微信群消息等。

endpoint

String

通知的终端地址。

email协议,接入点必须是邮件地址。

sms协议,接入点必须是一个电话号码。

wechat协议,参考https://support.huaweicloud.com/smn_faq/smn_faq_0027.html获取订阅终端,

企业微信群消息为SMN服务公测功能,需提交工单申请开通。

template

String

通知的模板语言。

ZH,中文。

EN,英文。

请求示例

创建事件通知规则。

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

请求成功。

错误码

请参见错误码

相关文档