根据云主机需求获取物理机资源的分配信息(GetHostResourceAllocation)

API请求

URLs
POST zstack/v1/hosts/{uuid}/resource-allocation
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "strategy": "continuous",
    "scene": "normal",
    "vcpu": 60
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST //localhost:8080/zstack/v1/hosts/21529457e42c30f0a9b2a137915a0b28/resource-allocation -d '{"params": {"strategy": "continuous", "scene": "normal", "vcpu": 60}}'
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 物理机UUID 4.3.12
strategy String body(包含在params结构中) 资源分配策略 continuous(连续分配策略) 4.3.12
scene String body(包含在params结构中) 场景类型
  • normal
  • performance
4.3.12
vcpu String body(包含在params结构中) 云主机需要分配的vCPU数量 [1,512] 4.3.12

API返回

返回示例
{
      "name": "example",
      "uuid": "f7bae73b9874344b8766dfcdda48ad6e",
      "vCPUPin": [
        {
            "vCPU": "0",
            "pCPU": "13"
        },
        {
            "vCPU": "1",
            "pCPU": "12"
        },
        {
            "vCPU": "2",
            "pCPU": "11"
        },
        {
            "vCPU": "3",
            "pCPU": "10"
        },
        {
            "vCPU": "4",
            "pCPU": "9"
        },
        {
            "vCPU": "5",
            "pCPU": "8"
        }
      ] 
    }
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.3.12
name String 资源名称 4.3.12
uuid String 资源的UUID,唯一标示该资源 4.3.12
vCPUPin array[json] 此次分配推荐的vCPU pin信息,详情请见CPU Pin 4.3.12
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.3.12
description String 错误的概要描述 4.3.12
details String 错误的详细信息 4.3.12
elaboration String 保留字段,默认为null 4.3.12
opaque LinkedHashMap 保留字段,默认为null 4.3.12
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.3.12
#CPU Pin
名字 类型 描述 起始版本
vCPU string 云主机vCPU id 4.3.12
pCPU string 物理机pCPU id 4.3.12

SDK示例

Java SDK
GetHostResourceAllocationAction action = new GetHostResourceAllocationAction()
action.uuid = "ff6d905e75d63e18ab0a9fc2ac14951c"
action.scene = "normal"
action.strategy = "continuous"
action.vcpu = 60
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetHostResourceAllocationAction.Result res = action.call()
Python SDK
GetHostResourceAllocationAction action = new GetHostResourceAllocationAction()
action.uuid = "ff6d905e75d63e18ab0a9fc2ac14951c"
action.scene = "normal"
action.strategy = "continuous"
action.vcpu = 60
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetHostResourceAllocationAction.Result res = action.call()