报警文本模板(Text Template)

创建报警消息模板(CreateSNSTextTemplate)

API请求

URLs
POST zstack/v1/zwatch/alarms/sns/text-templates
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "email template",
    "applicationPlatformType": "Email",
    "template": "Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}",
    "recoveryTemplate": "Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}",
    "defaultTemplate": true
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"email template","applicationPlatformType":"Email","template":"Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}","recoveryTemplate":"Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}","defaultTemplate":true}}' http://localhost:8080/zstack/v1/zwatch/alarms/sns/text-templates
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 资源名称 2.3
description (可选) String body(包含在params结构中) 资源的详细描述 2.3
applicationPlatformType String body(包含在params结构中) SNS应用平台类型 2.3
template String body(包含在params结构中) 报警消息模板文本 2.3
recoveryTemplate String body(包含在params结构中) 恢复报警模板文本 3.4.0
defaultTemplate (可选) Boolean body(包含在params结构中) 是否作为默认模板 2.3
resourceUuid (可选) String body(包含在params结构中) 2.3
systemTags (可选) List body 系统标签 2.3
userTags (可选) List body 用户标签 2.3

API返回

返回示例
{
  "inventory": {
    "uuid": "0b13c60e86c44fc08829f40ff73923f7",
    "name": "email template",
    "applicationPlatformType": "Email",
    "template": "Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}",
    "recoveryTemplate": "Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}",
    "defaultTemplate": false,
    "createDate": "Jul 6, 2018 1:51:04 PM",
    "lastOpDate": "Jul 6, 2018 1:51:04 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 2.3
inventory SNSTextTemplateInventory 详情参考inventory 2.3
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 0.6
description String 错误的概要描述 0.6
details String 错误的详细信息 0.6
elaboration String 保留字段,默认为null 0.6
opaque LinkedHashMap 保留字段,默认为null 0.6
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 0.6
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 2.3
name String 资源名称 2.3
description String 资源的详细描述 2.3
applicationPlatformType String 应用平台类型 2.3
template String 模板文本 2.3
defaultTemplate Boolean 是否为默认模板 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
CreateSNSTextTemplateAction action = new CreateSNSTextTemplateAction();
action.name = "email template";
action.applicationPlatformType = "Email";
action.template = "Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}";
action.recoveryTemplate = "Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}";
action.defaultTemplate = true;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateSNSTextTemplateAction.Result res = action.call();
Python SDK
CreateSNSTextTemplateAction action = CreateSNSTextTemplateAction()
action.name = "email template"
action.applicationPlatformType = "Email"
action.template = "Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}"
action.recoveryTemplate = "Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}"
action.defaultTemplate = true
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateSNSTextTemplateAction.Result res = action.call()

删除报警消息模板(DeleteSNSTextTemplate)

删除报警消息模板。

API请求

URLs
DELETE zstack/v1/zwatch/alarms/sns/text-templates/{uuid}?deleteMode={deleteMode}
Headers

Authorization: OAuth the-session-uuid
Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/zwatch/alarms/sns/text-templates/a4ce47e628303c4fa55743f1b84c61b4?deleteMode=Permissive
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 2.3
deleteMode (可选) String url 2.3
systemTags (可选) List body 系统标签 2.3
userTags (可选) List body 用户标签 2.3

API返回

该API成功时返回一个空的JSON结构{},出错时返回的JSON结构包含一个error字段,例如:
{
"error": {
    "code": "SYS.1001",
    "description": "A message or a operation timeout",
    "details": "Create VM on KVM timeout after 300s"
}
}

SDK示例

Java SDK

DeleteSNSTextTemplateAction action = new DeleteSNSTextTemplateAction();
action.uuid = "a4ce47e628303c4fa55743f1b84c61b4";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteSNSTextTemplateAction.Result res = action.call();
Python SDK

DeleteSNSTextTemplateAction action = DeleteSNSTextTemplateAction()
action.uuid = "a4ce47e628303c4fa55743f1b84c61b4"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteSNSTextTemplateAction.Result res = action.call()

查询报警消息模板(QuerySNSTextTemplate)

查询报警消息模板。

API请求

URLs
GET zstack/v1/zwatch/alarms/sns/text-templates
GET zstack/v1/zwatch/alarms/sns/text-templates/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/zwatch/alarms/sns/text-templates?q=name=test
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/zwatch/alarms/sns/text-templates/1dc97bd699e739c6968fb3e702ab4cb6
可查询字段

运行CLI命令行工具,输入QuerySNSTextTemplate并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "c275ce35fae13a09bcd4c54a7406bd3e",
      "name": "Test-SNS-Template",
      "description": "sns text template",
      "applicationPlatformType": "Email",
      "template": "报警器 ${ALARM_NAME} 状态改变成 ${ALARM_CURRENT_STATUS}",
      "defaultTemplate": false,
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 2.3
inventories List 详情参考inventories 2.3
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 2.3
description String 错误的概要描述 2.3
details String 错误的详细信息 2.3
elaboration String 保留字段,默认为null 2.3
opaque LinkedHashMap 保留字段,默认为null 2.3
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 2.3
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 2.3
name String 资源名称 2.3
description String 资源的详细描述 2.3
applicationPlatformType String 应用平台类型 2.3
template String 模板文本 2.3
defaultTemplate Boolean 是否为默认模板 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
QuerySNSTextTemplateAction action = new QuerySNSTextTemplateAction();
action.conditions = asList("name=test");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QuerySNSTextTemplateAction.Result res = action.call();
Python SDK
QuerySNSTextTemplateAction action = QuerySNSTextTemplateAction()
action.conditions = ["name=test"]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QuerySNSTextTemplateAction.Result res = action.call()

查询文本模板支持的参数(GetTextTemplateArg)

API请求

URLs
GET zstack/v1/zwatch/textTemplateArg
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/zwatch/textTemplateArg
参数列表
名字 类型 位置 描述 可选值 起始版本
systemTags (可选) List query 系统标签 4.2.0
userTags (可选) List query 用户标签 4.2.0

API返回

返回示例
{
  "defaultSupportedParams": {
    "alarm": [
      "ALARM_NAME",
      "ALARM_UUID",
      "ALARM_COMPARISON_OPERATOR",
      "ALARM_COMPARISON_OPERATOR_REVERSE",
      "ALARM_METRIC",
      "ALARM_NAMESPACE",
      "ALARM_THRESHOLD",
      "ALARM_LABELS",
      "ALARM_DURATION",
      "ALARM_PREVIOUS_STATUS",
      "ALARM_CURRENT_STATUS",
      "ALARM_CURRENT_VALUE",
      "ALARM_TIME",
      "ALARM_RESOURCE_TYPE",
      "ALARM_RESOURCE_ID",
      "ALARM_RESOURCE_NAME",
      "TITLE_ALARM_RESOURCE_NAME",
      "ALARM_ACCOUNT_UUID",
      "ALARM_DATA_UUID",
      "ALARM_EMERGENCY_LEVEL",
      "ALARM_RESOURCE_IP",
      "ALARM_RESOURCE_CLUSTER_UUID",
      "ALARM_RESOURCE_CLUSTER_NAME"
    ],
    "event": [
      "EVENT_NAMESPACE",
      "EVENT_NAME",
      "EVENT_LABELS",
      "EVENT_EMERGENCY_LEVEL",
      "EVENT_RESOURCE_ID",
      "EVENT_RESOURCE_NAME",
      "EVENT_ERROR",
      "EVENT_TIME",
      "EVENT_SUBSCRIPTION_UUID",
      "EVENT_ACCOUNT_UUID",
      "EVENT_DATA_UUID",
      "EVENT_RESOURCE_IP",
      "EVENT_RESOURCE_CLUSTER_UUID",
      "EVENT_RESOURCE_CLUSTER_NAME"
    ]
  }
}
名字 类型 描述 起始版本
defaultSupportedParams Map 默认支持参数列表 4.2.0
success boolean 4.2.0
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.2.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 2.3
description String 错误的概要描述 2.3
details String 错误的详细信息 2.3
elaboration String 保留字段,默认为null 2.3
opaque LinkedHashMap 保留字段,默认为null 2.3
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 2.3

SDK示例

Java SDK
GetTextTemplateArgAction action = new GetTextTemplateArgAction();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetTextTemplateArgAction.Result res = action.call();
Python SDK
GetTextTemplateArgAction action = GetTextTemplateArgAction()
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetTextTemplateArgAction.Result res = action.call()

更新报警消息模板(UpdateSNSTextTemplate)

更新报警消息模板。

API请求

URLs
PUT zstack/v1/zwatch/alarms/sns/text-templates/{uuid}/actions
Headers

Authorization: OAuth the-session-uuid
Body
{
  "updateSNSTextTemplate": {
    "name": "email template",
    "template": "Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}",
    "recoveryTemplate": "Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}",
    "defaultTemplate": true
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateSNSTextTemplate":{"name":"email template","template":"Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}","recoveryTemplate":"Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}","defaultTemplate":true}}' http://localhost:8080/zstack/v1/zwatch/alarms/sns/text-templates/108482a9d3153463abd49712701ad937/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 2.3
name (可选) String body(包含在updateSNSTextTemplate结构中) 资源名称 2.3
description (可选) String body(包含在updateSNSTextTemplate结构中) 资源的详细描述 2.3
template (可选) String body(包含在updateSNSTextTemplate结构中) 报警消息模板文本 2.3
recoveryTemplate (可选) String body(包含在updateSNSTextTemplate结构中) 恢复报警消息模板文本 3.4.0
defaultTemplate (可选) Boolean body(包含在updateSNSTextTemplate结构中) 是否为默认模板 2.3
systemTags (可选) List body 系统标签 2.3
userTags (可选) List body 用户标签 2.3

API返回

返回示例
{
  "inventory": {
    "uuid": "cc881c03f4c04ea9a0e0dda61f4c2f00",
    "name": "email template",
    "applicationPlatformType": "Email",
    "template": "Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}",
    "recoveryTemplate": "Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}",
    "defaultTemplate": false,
    "createDate": "Jul 6, 2018 1:51:22 PM",
    "lastOpDate": "Jul 6, 2018 1:51:22 PM"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 2.3
inventory SNSTextTemplateInventory 详情参考inventory 2.3
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 2.3
description String 错误的概要描述 2.3
details String 错误的详细信息 2.3
elaboration String 保留字段,默认为null 2.3
opaque LinkedHashMap 保留字段,默认为null 2.3
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 2.3
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 2.3
name String 资源名称 2.3
description String 资源的详细描述 2.3
applicationPlatformType String 应用平台类型 2.3
template String 模板文本 2.3
recoveryTemplate String 模板文本 3.4.0
defaultTemplate Boolean 是否为默认模板 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
UpdateSNSTextTemplateAction action = new UpdateSNSTextTemplateAction();
action.uuid = "108482a9d3153463abd49712701ad937";
action.name = "email template";
action.template = "Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}";
action.recoveryTemplate = "Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}";
action.defaultTemplate = true;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateSNSTextTemplateAction.Result res = action.call();
Python SDK
UpdateSNSTextTemplateAction action = UpdateSNSTextTemplateAction()
action.uuid = "108482a9d3153463abd49712701ad937"
action.name = "email template"
action.template = "Alarm ${ALARM_NAME} changes status to ${ALARM_CURRENT_STATUS}"
action.recoveryTemplate = "Alarm ${ALARM_NAME} Resource ${ALARM_RESOURCE_NAME} changes status to ${ALARM_CURRENT_STATUS}"
action.defaultTemplate = true
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateSNSTextTemplateAction.Result res = action.call()
开发手册 | ZStack ZSphere · ZVF | ZStack 资源中心