文档目录

海光SE模块相关接口

在Hygon物理机生成MDEV设备 (GenerateHygonMdevDevices)

API请求

URLs

PUT zstack/v1/hygon-devices/{hostUuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body

{
  "generateHygonMdevDevices": {
    "maxQemuNum": 64
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"generateHygonMdevDevices":{"maxQemuNum":64}}' http://localhost:8080/zstack/v1/hygon-devices/8426a1ab49763402b20d3dbe7061ed6b/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
hostUuid String url 物理机UUID 5.5.0
systemTags (可选) List body 系统标签 5.5.0
userTags (可选) List body 用户标签 5.5.0
maxQemuNum Integer body(包含在generateHygonMdevDevices结构中) 指定每个物理CCP卡要为 QEMU云主机创建多少个虚拟设备 (MDEV) ,max_qemu_num=128 每个CCP生成 128 个给云主机使用的MDEV。 5.5.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
GenerateHygonMdevDevicesAction action = new GenerateHygonMdevDevicesAction();
action.hostUuid = "8426a1ab49763402b20d3dbe7061ed6b";
action.maxQemuNum = 64;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GenerateHygonMdevDevicesAction.Result res = action.call();

Python SDK

GenerateHygonMdevDevicesAction action = GenerateHygonMdevDevicesAction()
action.hostUuid = "8426a1ab49763402b20d3dbe7061ed6b"
action.maxQemuNum = 64
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GenerateHygonMdevDevicesAction.Result res = action.call()

在Hygon物理机上取消生成的MDEV设备(UngenerateHygonMdevDevices)

API请求

URLs

PUT zstack/v1/hygon-devices/{hostUuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body

{
  "ungenerateHygonMdevDevices": {},
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"ungenerateHygonMdevDevices":{}}' http://localhost:8080/zstack/v1/hygon-devices/3c36d4ec8c3532f2ab7fc63af19f8ad8/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
hostUuid String url 物理机UUID 5.5.0
systemTags (可选) List body 系统标签 5.5.0
userTags (可选) List body 用户标签 5.5.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
UngenerateHygonMdevDevicesAction action = new UngenerateHygonMdevDevicesAction();
action.hostUuid = "3c36d4ec8c3532f2ab7fc63af19f8ad8";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UngenerateHygonMdevDevicesAction.Result res = action.call();

Python SDK

UngenerateHygonMdevDevicesAction action = UngenerateHygonMdevDevicesAction()
action.hostUuid = "3c36d4ec8c3532f2ab7fc63af19f8ad8"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UngenerateHygonMdevDevicesAction.Result res = action.call()

设置云主机是否开启Hygon SE设备透传标识 (SetVmInstanceHygonMdev)

API请求

URLs

POST zstack/v1/vm-instances/{uuid}/hygon-mdev
Headers
Authorization: OAuth the-session-uuid
Body

{
  "params": {
    "hygonSecurityElementEnable": "true"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"hygonSecurityElementEnable":"true"}}' http://localhost:8080/zstack/v1/vm-instances/b06cf99107ca3047a9e1e2189874f6dd/hygon-mdev
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 云主机UUID 5.5.0
hygonSecurityElementEnable String body(包含在params结构中) 是否启用海光安全元素功能 5.5.0
systemTags (可选) List body 系统标签 5.5.0
userTags (可选) List body 用户标签 5.5.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
SetVmInstanceHygonMdevAction action = new SetVmInstanceHygonMdevAction();
action.uuid = "b06cf99107ca3047a9e1e2189874f6dd";
action.hygonSecurityElementEnable = "true";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
SetVmInstanceHygonMdevAction.Result res = action.call();

Python SDK

SetVmInstanceHygonMdevAction action = SetVmInstanceHygonMdevAction()
action.uuid = "b06cf99107ca3047a9e1e2189874f6dd"
action.hygonSecurityElementEnable = "true"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
SetVmInstanceHygonMdevAction.Result res = action.call()
开发手册 | 5.5.30 | ZStack Cloud · ZCF | ZStack 资源中心