虚拟机相关接口

解析OVF模板信息

POST/zstack/v1/ovf/parse

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "xmlBase64": "Base64 encoded ovf file content."
  },
  "systemTags": [],
  "userTags": []
}

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

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
--X POST -d '{"params":{"xmlBase64":"Base64 encoded ovf file content."}}' http://localhost:8080/zstack/v1/ovf/parse

参数列表

名字类型位置描述可选值起始版本
xmlBase64Stringbody(包含在params结构中)Base64编码的OVF文件内容 4.4.6
systemTags (可选)Listbody系统标签 4.4.6
userTags (可选)Listbody用户标签 4.4.6

API返回

返回示例

{
  "ovfInfo": {
    "disks": [
      {
        "index": 0.0,
        "diskId": "system",
        "fileRef": "file1",
        "fileName": "system.vmdk",
        "format": "vmdk",
        "populatedSize": 1688600576.0,
        "capacity": 64424509440.0
      }
    ],
    "networks": [
      {
        "name": "red-net"
      }
    ],
    "cpu": {
      "instanceId": "2",
      "quantity": 4.0,
      "coresPerSocket": 4.0
    },
    "memory": {
      "instanceId": "3",
      "quantity": 4294967296.0
    },
    "vmName": "VM-1",
    "os": {
      "id": 107.0,
      "version": "7",
      "osType": "centos",
      "description": "CentOS 7"
    },
    "systemInfo": {
      "virtualSystemType": "vmx-18"
    },
    "nics": [
      {
        "networkName": "red-net",
        "nicModel": "E1000",
        "nicName": "nic-1",
        "autoAllocation": true
      }
    ],
    "cdDrivers": [
      {
        "autoAllocation": true,
        "driverType": "SATA",
        "subType": "vmware.cdrom.remotepassthrough",
        "name": "CD"
      }
    ],
    "volumes": [
      {
        "name": "System Volume",
        "diskId": "system",
        "driverType": "IDE"
      }
    ]
  }
}
名字类型描述起始版本
successboolean 4.4.6
errorErrorCode错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error4.4.6
ovfInfoOvfInfo详情参考ovfInfo4.4.6

error

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

ovfInfo

名字类型描述起始版本
vmNameString虚拟机名称4.4.6
disksList详情参考disks4.4.6
networksList详情参考networks4.4.6
cpuOvfCpuInfo详情参考cpu4.4.6
memoryOvfMemoryInfo详情参考memory4.4.6
osOvfOSInfo详情参考os4.4.6
systemInfoOvfSystemInfo详情参考systemInfo4.4.6
nicsList详情参考nics4.4.6
cdDriversList详情参考cdDrivers4.4.6
volumesList详情参考volumes4.4.6

disks

名字类型描述起始版本
indexint磁盘序号4.4.6
diskIdString磁盘ID4.4.6
fileRefString文件引用名称4.4.6
fileNameString镜像文件名4.4.6
formatString镜像文件格式4.4.6
populatedSizeLong镜像文件大小4.4.6
capacityLong磁盘容量,单位Byte4.4.6

networks

名字类型描述起始版本
nameString网络名称4.4.6

cpu

名字类型描述起始版本
instanceIdString硬件ID4.4.6
quantityIntegerCPU内核数量4.4.6
coresPerSocketInteger每CPU内核数4.4.6

memory

名字类型描述起始版本
instanceIdString硬件ID4.4.6
quantityLong内存容量,单位Byte4.4.6

os

名字类型描述起始版本
idInteger操作系统ID4.4.6
versionString操作系统版本4.4.6
osTypeString操作系统类型4.4.6
descriptionString操作系统描述4.4.6

systemInfo

名字类型描述起始版本
virtualSystemTypeString硬件系统类型4.4.6
firmwareTypeString固件类型4.4.6

nics

名字类型描述起始版本
networkNameString网络名称4.4.6
nicModelString网卡型号4.4.6
nicNameString网卡名称4.4.6
autoAllocationBoolean是否自动分配4.4.6

cdDrivers

名字类型描述起始版本
autoAllocationBoolean是否自动分配4.4.6
driverTypeString光驱控制器类型4.4.6
subTypeString子类型4.4.6
nameString光驱名称4.4.6

volumes

名字类型描述起始版本
nameString磁盘名称4.4.6
diskIdString磁盘ID4.4.6
driverTypeString磁盘驱动器类型4.4.6

SDK示例

Java SDK

ParseOvfAction action = new ParseOvfAction();
action.xmlBase64 = "Base64 encoded ovf file content.";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
ParseOvfAction.Result res = action.call();

Python SDK

ParseOvfAction action = ParseOvfAction()
action.xmlBase64 = "Base64 encoded ovf file content."
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
ParseOvfAction.Result res = action.call()