根据调度规则获取虚拟机对应的调度状态

POST/zstack/v1/get/vms/schedulingState/from/SchedulingRule

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "ruleUuid": "ff0e4855dd0f309f8b8e4914edbcbf00",
    "vmUuids": [
      "ff01ec80fd11327cba7519b66119d900"
    ]
  },
  "systemTags": [],
  "userTags": []
}

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

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"ruleUuid":"ff0e4855dd0f309f8b8e4914edbcbf00","vmUuids":["ff01ec80fd11327cba7519b66119d900"]}}' \
http://localhost:8080/zstack/v1/get/vms/schedulingState/from/SchedulingRule

参数列表

名字类型位置描述可选值起始版本
ruleUuidStringbody(包含在params结构中)调度规则UUID 4.6.0
vmUuidsListbody(包含在params结构中)虚拟机UUID 4.6.0
systemTags (可选)Listbody系统标签 4.6.0
userTags (可选)Listbody用户标签 4.6.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

GetVmsSchedulingStateFromSchedulingRuleAction action = new GetVmsSchedulingStateFromSchedulingRuleAction();
action.ruleUuid = "ff0e4855dd0f309f8b8e4914edbcbf00";
action.vmUuids = asList("ff01ec80fd11327cba7519b66119d900");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetVmsSchedulingStateFromSchedulingRuleAction.Result res = action.call();

Python SDK

GetVmsSchedulingStateFromSchedulingRuleAction action = GetVmsSchedulingStateFromSchedulingRuleAction()
action.ruleUuid = "ff0e4855dd0f309f8b8e4914edbcbf00"
action.vmUuids = [ff01ec80fd11327cba7519b66119d900]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetVmsSchedulingStateFromSchedulingRuleAction.Result res = action.call()