将PCI设备规格加载到虚拟机

POST/zstack/v1/pci-device-specs/{pciSpecUuid}/vm-instances/{vmInstanceUuid}

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "pciDeviceNumber": 1
  },
  "systemTags": [],
  "userTags": []
}

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

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"pciDeviceNumber":1}}' \
http://localhost:8080/zstack/v1/pci-device-specs/ace129cb77d93012bf47f839b9429881/vm-instances/16ecb900082437e8aaf554ce19620030

参数列表

名字类型位置描述可选值起始版本
pciSpecUuidStringurlPCI设备规格UUID 3.5.0
vmInstanceUuidStringurl虚拟机UUID 3.5.0
pciDeviceNumber (可选)Integerbody(包含在params结构中)  3.5.0
systemTags (可选)Listbody系统标签 3.5.0
userTags (可选)Listbody用户标签 3.5.0

API返回

返回示例

{
  "inventory": {
    "vmInstanceUuid": "ac37ee1208aa4a9582a9b4efc95b5456",
    "pciSpecUuid": "5cfc996fdab140d086e2fa51cb2882e6",
    "pciDeviceNumber": 1,
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM"
  }
}
名字类型描述起始版本
successboolean 0.6
errorErrorCode错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error3.5.0
inventoryVmInstancePciDeviceSpecRefInventory详情参考inventory3.5.0

error

名字类型描述起始版本
codeString错误码号,错误的全局唯一标识,例如SYS.1000, HOST.10013.5.0
descriptionString错误的概要描述3.5.0
detailsString错误的详细信息3.5.0
elaborationString保留字段,默认为null3.5.0
opaqueLinkedHashMap保留字段,默认为null3.5.0
causeErrorCode根错误,引发当前错误的源错误,若无原错误,该字段为null3.5.0

inventory

名字类型描述起始版本
vmInstanceUuidString虚拟机UUID3.5.0
pciSpecUuidStringPCI设备规格UUID3.5.0
pciDeviceNumberInteger需要为虚拟机挂载的符合设备规格的设备个数,默认为13.5.0
createDateTimestamp创建时间3.5.0
lastOpDateTimestamp最后一次修改时间3.5.0

SDK示例

Java SDK

AddPciDeviceSpecToVmInstanceAction action = new AddPciDeviceSpecToVmInstanceAction();
action.pciSpecUuid = "ace129cb77d93012bf47f839b9429881";
action.vmInstanceUuid = "16ecb900082437e8aaf554ce19620030";
action.pciDeviceNumber = 1;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddPciDeviceSpecToVmInstanceAction.Result res = action.call();

Python SDK

AddPciDeviceSpecToVmInstanceAction action = AddPciDeviceSpecToVmInstanceAction()
action.pciSpecUuid = "ace129cb77d93012bf47f839b9429881"
action.vmInstanceUuid = "16ecb900082437e8aaf554ce19620030"
action.pciDeviceNumber = 1
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddPciDeviceSpecToVmInstanceAction.Result res = action.call()