订阅事件

POST/zstack/v1/zwatch/events/subscriptions

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "namespace": "ZStack/VM",
    "eventName": "VMUuid",
    "actions": [
      {
        "actionUuid": "2fbeae18082445d09c890fa076ff9fd9",
        "actionType": "sns"
      }
    ],
    "labels": [
      {
        "key": "VMUuid",
        "value": "0c60949d81964f23a0d860b30472c51b",
        "op": "Equal"
      }
    ]
  },
  "systemTags": [],
  "userTags": []
}

上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"namespace":"ZStack/VM","eventName":"VMUuid","actions":[{"actionUuid":"c7b1b7e054494aeab843a9c7371cdfc4","actionType":"sns"}],"labels":[{"key":"VMUuid","value":"47056270f2ea45409a419f1165f83945","op":"Equal"}]}}' \
http://localhost:8080/zstack/v1/zwatch/events/subscriptions

参数列表

名字

类型

位置

描述

可选值

起始版本

namespace

String

body(包含在params结构中)

名字空间

 

2.3

eventName

String

body(包含在params结构中)

事件名

 

2.3

actions (可选)

List

body(包含在params结构中)

事件动作

 

2.3

labels (可选)

List

body(包含在params结构中)

事件标签

 

2.3

resourceUuid (可选)

String

body(包含在params结构中)

 

 

2.3

systemTags (可选)

List

body

系统标签

 

2.3

userTags (可选)

List

body

用户标签

 

2.3

name (可选)

String

body(包含在params结构中)

资源名称

 

3.0.0

emergencyLevel (可选)

String

body(包含在params结构中)

报警等级

  • Emergent
  • Important
  • Normal

3.8.0

tagUuids (可选)

List

body(包含在params结构中)

标签UUID列表

 

3.8.0

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

SubscribeEventAction action = new SubscribeEventAction();
action.namespace = "ZStack/VM";
action.eventName = "VMUuid";
action.actions = asList([actionUuid:08a502ad6e944ceb8c70f523b69385e3, actionType:sns]);
action.labels = asList([key:VMUuid, value:896391b873dc41288c0841b5fe8cb71b, op:Equal]);
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
SubscribeEventAction.Result res = action.call();

Python SDK

SubscribeEventAction action = SubscribeEventAction()
action.namespace = "ZStack/VM"
action.eventName = "VMUuid"
action.actions = [[actionUuid:393df28f2bab49aba01fc229dae849c8, actionType:sns]]
action.labels = [[key:VMUuid, value:abd2e73d08d248b6be73e31eb6a97e82, op:Equal]]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
SubscribeEventAction.Result res = action.call()