订阅事件
Headers
Authorization: OAuth the-session-uuidBody
{
"params": {
"namespace": "ZStack/VM",
"eventName": "VMUuid",
"actions": [
{
"actionUuid": "2fbeae18082445d09c890fa076ff9fd9",
"actionType": "sns"
}
],
"labels": [
{
"key": "VMUuid",
"value": "0c60949d81964f23a0d860b30472c51b",
"op": "Equal"
}
]
},
"systemTags": [],
"userTags": []
}上述示例中systemTags、userTags字段可以省略。列出是为了表示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结构中) | 报警等级 |
| 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()