ZStack Cloud Platform
Single Server, Free Trial for One Year
Create a new Virtual Machine.
POST zstack/v1/vm-instancesAuthorization: OAuth the-session-uuid{ "params": { "name": "vm1", "l3NetworkUuids": [ "19d22d051b063d379a2816daaf431838" ], "clusterUuid": "a0468dc645223f67bd0f2ab95276bbae", "description": "this is a vm", "strategy": "InstantStart", "diskAOs": [ { "boot": true, "platform": "Linux", "guestOsType": "Helix 8", "architecture": "x86_64", "primaryStorageUuid": "ff0359abb8443d2f8077cc368afa7c00", "size": 0, "sourceType": "VolumeVO", "sourceUuid": "ff0eb5a723e9316bb1053ed7e4bb3100", "systemTags": [ "volumeProvisioningStrategy::ThickProvisioning" ], "name": "root-volume" }, { "boot": false, "primaryStorageUuid": "ff0359abb8443d2f8077cc368afa7c00", "size": 0, "name": "data-volume" } ], "devices": { "tpm": { "enable": true, "keyProviderUuid": "ff03c7091617357eb4022d11c6860e00", "resourceKeyCreatedNew": false } } }, "systemTags": [], "userTags": [] }
Note: In the example above, systemTags and userTags fields can be omitted. They are listed to indicate that the body can contain these two fields.curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X POST -d '{"params":{"name":"vm1","l3NetworkUuids":["19d22d051b063d379a2816daaf431838"],"clusterUuid":"a0468dc645223f67bd0f2ab95276bbae","description":"this is a vm","strategy":"InstantStart","diskAOs":[{"boot":true,"platform":"Linux","guestOsType":"Helix 8","architecture":"x86_64","primaryStorageUuid":"ff0359abb8443d2f8077cc368afa7c00","size":0,"sourceType":"VolumeVO","sourceUuid":"ff0eb5a723e9316bb1053ed7e4bb3100","systemTags":["volumeProvisioningStrategy::ThickProvisioning"],"name":"root-volume"},{"boot":false,"primaryStorageUuid":"ff0359abb8443d2f8077cc368afa7c00","size":0,"name":"data-volume"}],"devices":{"tpm":{"enable":true,"keyProviderUuid":"ff03c7091617357eb4022d11c6860e00","resourceKeyCreatedNew":false}}}}' http://localhost:8080/zstack/v1/vm-instances| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| name | String | body (included in params structure) | Virtual Machine name | 0.6 | |
| instanceOfferingUuid (可选) | String | body (included in params structure) | Compute offering UUID
| 0.6 | |
| imageUuid (可选) | String | body (included in params structure) | Image UUID
| 0.6 | |
| l3NetworkUuids (可选) | List | body (included in params structure) | Distributed Port Group UUID list
| 0.6 | |
| vmNicParams (可选) | String | body (included in params structure) | NIC information | 4.7.0 | |
| type (可选) | String | body (included in params structure) | Virtual Machine type
|
| 0.6 |
| rootDiskOfferingUuid (可选) | String | body (included in params structure) | Root disk offering UUID
| 0.6 | |
| dataDiskSizes (可选) | List | body (included in params structure) | Custom disk size list. Specifies one or more disk sizes (can be repeated) to create one or more Data Disks for the Virtual Machine. | 4.4.6 | |
| dataDiskOfferingUuids (可选) | List | body (included in params structure) | Disk offering UUID list
| 0.6 | |
| zoneUuid (可选) | String | body (included in params structure) | Data Center UUID
| 0.6 | |
| clusterUuid (可选) | String | body (included in params structure) | Cluster UUID
| 0.6 | |
| hostUuid (可选) | String | body (included in params structure) | Host UUID
| 0.6 | |
| primaryStorageUuidForRootVolume (可选) | String | body (included in params structure) | Data Storage UUID
| 1.8 | |
| description (可选) | String | body (included in params structure) | Virtual Machine description | 0.6 | |
| defaultL3NetworkUuid (可选) | String | body (included in params structure) | Default Distributed Port Group UUID
| 0.6 | |
| resourceUuid (可选) | String | body (included in params structure) | Resource UUID
| 0.6 | |
| tagUuids (可选) | List | body (included in params structure) | Tag UUID list | 3.4.0 | |
| systemTags (可选) | List | body | Virtual Machine system tags | 0.6 | |
| userTags (可选) | List | body | Virtual Machine user tags | 0.6 | |
| strategy (可选) | String | body (included in params structure) | Virtual Machine creation policy
|
| 0.6 |
| rootVolumeSystemTags (可选) | List | body (included in params structure) | System tags required for the Virtual Machine root disk | 3.0 | |
| dataVolumeSystemTags (可选) | List | body (included in params structure) | System tags required for the Virtual Machine data disk | 3.0 | |
| cpuNum (可选) | Integer | body (included in params structure) | 3.4.0 | ||
| memorySize (可选) | Long | body (included in params structure) | 3.4.0 | ||
| rootDiskSize (可选) | Long | body (included in params structure) | 3.4.0 | ||
| dataVolumeSystemTagsOnIndex (可选) | Map | body (included in params structure) | 4.4.24 | ||
| sshKeyPairUuids (可选) | List | body (included in params structure) | 4.7.21 | ||
| dataVolumeTemplateUuids (可选) | List | body (included in params structure) | 4.7.0 | ||
| diskAOs (可选) | List | body (included in params structure) | boot=true indicates diskAO is used to set the Virtual Machine platform, architecture, operating system and root disk bus; diskAO.boot=false indicates loaded disk | 4.7.0 | |
| platform | String | body (included in params structure) | 4.7.0 | ||
| guestOsType | String | body (included in params structure) | 4.7.0 | ||
| architecture | String | body (included in params structure) | 4.7.21 | ||
| reservedMemorySize (可选) | Long | body (included in params structure) | 4.7.21 | ||
| virtio (可选) | Boolean | body (included in params structure) | 4.7.0 |
{ "inventory": { "uuid": "6efab7159c6932429c6b0e7e0b64b660", "name": "Test-VM", "description": "web server VM", "zoneUuid": "d10bd7a9565138efaf6171db8e18fa7d", "clusterUuid": "692c71639d873bf6a356cd8e285d0d9c", "imageUuid": "28061e65e48037eda71b53a0732bf087", "hostUuid": "f877177de7bd377e811bc6313878b2b1", "lastHostUuid": "a3ccdc90a600334f994c69aee4270ac5", "instanceOfferingUuid": "9a874241f867333ca0bf0ab2134f8515", "rootVolumeUuid": "f52d7c94d69d3bbb97d36a270fe910c3", "platform": "Linux", "defaultL3NetworkUuid": "2ac1b70fdb0f38769a29c6ebd0262cca", "type": "UserVm", "hypervisorType": "KVM", "memorySize": 8589934592, "cpuNum": 1, "allocatorStrategy": "LastHostPreferredAllocatorStrategy", "createDate": "Nov 14, 2017 2:20:57 PM", "lastOpDate": "Nov 14, 2017 2:20:57 PM", "state": "Running", "vmNics": [ { "uuid": "0dfbb8a297e9349ea8799c4ce48c6d10", "vmInstanceUuid": "6efab7159c6932429c6b0e7e0b64b660", "usedIpUuid": "39b57596a8ba35289bd9f40efceeae03", "l3NetworkUuid": "2ac1b70fdb0f38769a29c6ebd0262cca", "ip": "192.168.1.10", "mac": "00:0c:29:bd:99:fc", "hypervisorType": "KVM", "netmask": "255.255.255.0", "gateway": "192.168.1.1", "deviceId": 0, "createDate": "Nov 14, 2017 2:20:57 PM", "lastOpDate": "Nov 14, 2017 2:20:57 PM" } ], "allVolumes": [ { "uuid": "f52d7c94d69d3bbb97d36a270fe910c3", "name": "Root-Volume-For-VM-6efab7159c6932429c6b0e7e0b64b660", "primaryStorageUuid": "4ed5bbb150a034b5917e7e6c9c4b8170", "vmInstanceUuid": "6efab7159c6932429c6b0e7e0b64b660", "diskOfferingUuid": "0521187274d73f5b936c22b145384c74", "rootImageUuid": "28061e65e48037eda71b53a0732bf087", "installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol-f52d7c94d69d3bbb97d36a270fe910c3/f52d7c94d69d3bbb97d36a270fe910c3.qcow2", "type": "Root", "format": "qcow2", "size": 107374182400, "actualSize": 21474836480, "deviceId": 0, "state": "Enabled", "status": "Ready", "createDate": "Nov 14, 2017 2:20:57 PM", "lastOpDate": "Nov 14, 2017 2:20:57 PM" } ] } }| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | 0.6 | |
| error | ErrorCode | Error code. If not null, the operation failed. If null, the operation succeeded. See error | 0.6 |
| inventory | VmInstanceInventory | See inventory for details. | 0.6 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code number, globally unique identifier for the error, for example SYS.1000, HOST.1001 | 0.6 |
| description | String | Brief description of the error | 0.6 |
| details | String | Detailed error information | 0.6 |
| elaboration | String | Reserved field, defaults to null | 0.6 |
| opaque | LinkedHashMap | Reserved field, defaults to null | 0.6 |
| cause | ErrorCode | Root error. The error that caused this error. If there is no original error, this field is null | 0.6 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID. Uniquely identifies the resource | 0.6 |
| name | String | Resource name | 0.6 |
| description | String | Resource description | 0.6 |
| zoneUuid | String | Data Center UUID | 0.6 |
| clusterUuid | String | Cluster UUID | 0.6 |
| imageUuid | String | Image UUID | 0.6 |
| hostUuid | String | Host UUID | 0.6 |
| lastHostUuid | String | Host UUID where the Virtual Machine last ran | 0.6 |
| instanceOfferingUuid | String | Compute offering UUID | 0.6 |
| rootVolumeUuid | String | Root disk UUID | 0.6 |
| platform | String | Virtual Machine running platform | 0.6 |
| architecture | String | 0.6 | |
| defaultL3NetworkUuid | String | Default Distributed Port Group UUID | 0.6 |
| type | String | Virtual Machine type | 0.6 |
| hypervisorType | String | Hypervisor type of the Virtual Machine | 0.6 |
| memorySize | Long | Memory size | 0.6 |
| cpuNum | Integer | CPU number | 0.6 |
| cpuSpeed | Long | CPU speed | 0.6 |
| allocatorStrategy | String | Allocation strategy | 0.6 |
| createDate | Timestamp | Create time | 0.6 |
| lastOpDate | Timestamp | Last modification time | 0.6 |
| state | String | Virtual Machine availability state | 0.6 |
| guestOsType | String | 4.1.2 | |
| vmNics | List | See vmNics for details. | 0.6 |
| allVolumes | List | See allVolumes for details. | 0.6 |
| vmCdRoms | List | See vmCdRoms for details. | 0.6 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID. Uniquely identifies the resource | 4.7.13 |
| vmInstanceUuid | String | Virtual Machine UUID | 4.7.13 |
| l3NetworkUuid | String | Distributed Port Group UUID | 4.7.13 |
| ip | String | 4.7.13 | |
| mac | String | 4.7.13 | |
| hypervisorType | String | 4.7.13 | |
| netmask | String | 4.7.13 | |
| gateway | String | 4.7.13 | |
| metaData | String | 4.7.13 | |
| ipVersion | Integer | 4.7.13 | |
| driverType | String | 4.7.13 | |
| internalName | String | 4.7.13 | |
| deviceId | Integer | 4.7.13 | |
| type | String | 4.7.13 | |
| state | String | NIC status | 4.7.13 |
| createDate | Timestamp | Create time | 4.7.13 |
| lastOpDate | Timestamp | Last modification time | 4.7.13 |
| usedIps | List | See usedIps for details. | 4.7.13 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | Resource UUID. Uniquely identifies the resource | 4.7.13 |
| ipRangeUuid | String | IP range UUID | 4.7.13 |
| l3NetworkUuid | String | Distributed Port Group UUID | 4.7.13 |
| ipVersion | Integer | 4.7.13 | |
| ip | String | 4.7.13 | |
| netmask | String | 4.7.13 | |
| gateway | String | 4.7.13 | |
| usedFor | String | 4.7.13 | |
| ipInLong | long | 4.7.13 | |
| vmNicUuid | String | Virtual Machine NIC UUID | 4.7.13 |
| createDate | Timestamp | Create time | 4.7.13 |
| lastOpDate | Timestamp | Last modification time | 4.7.13 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | Resource UUID. Uniquely identifies the resource | 4.7.13 |
| name | String | Resource name | 4.7.13 |
| description | String | Resource description | 4.7.13 |
| primaryStorageUuid | String | Data Storage UUID | 4.7.13 |
| vmInstanceUuid | String | Virtual Machine UUID | 4.7.13 |
| diskOfferingUuid | String | Disk offering UUID | 4.7.13 |
| rootImageUuid | String | 4.7.13 | |
| installPath | String | 4.7.13 | |
| type | String | 4.7.13 | |
| format | String | 4.7.13 | |
| size | Long | 4.7.13 | |
| actualSize | Long | 4.7.13 | |
| deviceId | Integer | 4.7.13 | |
| state | String | 4.7.13 | |
| status | String | 4.7.13 | |
| createDate | Timestamp | Create time | 4.7.13 |
| lastOpDate | Timestamp | Last modification time | 4.7.13 |
| isShareable | Boolean | 4.7.13 | |
| volumeQos | String | 4.7.13 | |
| lastDetachDate | Timestamp | 4.7.13 | |
| lastVmInstanceUuid | String | 4.7.13 |
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | Resource UUID. Uniquely identifies the resource | 4.7.13 |
| vmInstanceUuid | String | Virtual Machine UUID | 4.7.13 |
| deviceId | Integer | 4.7.13 | |
| isoUuid | String | 4.7.13 | |
| isoInstallPath | String | 4.7.13 | |
| name | String | Resource name | 4.7.13 |
| description | String | Resource description | 4.7.13 |
| createDate | Timestamp | Create time | 4.7.13 |
| lastOpDate | Timestamp | Last modification time | 4.7.13 |
CreateVmInstanceAction action = new CreateVmInstanceAction(); action.name = "vm1"; action.l3NetworkUuids = asList("19d22d051b063d379a2816daaf431838"); action.clusterUuid = "a0468dc645223f67bd0f2ab95276bbae"; action.description = "this is a vm"; action.strategy = "InstantStart"; action.diskAOs = asList([boot:true, platform:Linux, guestOsType:Helix 8, architecture:x86_64, primaryStorageUuid:ff0359abb8443d2f8077cc368afa7c00, size:0, sourceType:VolumeVO, sourceUuid:ff0eb5a723e9316bb1053ed7e4bb3100, systemTags:[volumeProvisioningStrategy::ThickProvisioning], name:root-volume],[boot:false, primaryStorageUuid:ff0359abb8443d2f8077cc368afa7c00, size:0, name:data-volume]); action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"; CreateVmInstanceAction.Result res = action.call();action = CreateVmInstanceAction() action.name = "vm1" action.l3NetworkUuids = [19d22d051b063d379a2816daaf431838] action.clusterUuid = "a0468dc645223f67bd0f2ab95276bbae" action.description = "this is a vm" action.strategy = "InstantStart" action.diskAOs = [[boot:true, platform:Linux, guestOsType:Helix 8, architecture:x86_64, primaryStorageUuid:ff0359abb8443d2f8077cc368afa7c00, size:0, sourceType:VolumeVO, sourceUuid:ff0eb5a723e9316bb1053ed7e4bb3100, systemTags:[volumeProvisioningStrategy::ThickProvisioning], name:root-volume], [boot:false, primaryStorageUuid:ff0359abb8443d2f8077cc368afa7c00, size:0, name:data-volume]] action.sessionId = "b86c9016b4f24953a9edefb53ca0678c" res = action.call()Create a new VM instance.
POST zstack/v1/vm-instancesAuthorization: OAuth the-session-uuid{ "params": { "name": "vm1", "instanceOfferingUuid": "ae97ced44efc3314b8f7798972b4ba1a", "imageUuid": "da119f7906513eccabf271991c35a65e", "l3NetworkUuids": [ "cc0e4c5e77df3af68e59668e7f9e06c5" ], "dataDiskOfferingUuids": [ "19d22d051b063d379a2816daaf431838", "905d94a6abb5398fa1995f6398e3f6fc" ], "clusterUuid": "a0468dc645223f67bd0f2ab95276bbae", "description": "this is a vm", "strategy": "InstantStart", "rootVolumeSystemTags": [ "volumeProvisioningStrategy::ThickProvisioning" ] }, "systemTags": [], "userTags": [] }
Note: In the above example, systemTags and userTags fields can be omitted. They are listed to indicate that the body can contain these two fields.curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X POST -d '{"params":{"name":"vm1","instanceOfferingUuid":"ae97ced44efc3314b8f7798972b4ba1a","imageUuid":"da119f7906513eccabf271991c35a65e","l3NetworkUuids":["cc0e4c5e77df3af68e59668e7f9e06c5"],"dataDiskOfferingUuids":["19d22d051b063d379a2816daaf431838","905d94a6abb5398fa1995f6398e3f6fc"],"clusterUuid":"a0468dc645223f67bd0f2ab95276bbae","description":"this is a vm","strategy":"InstantStart","rootVolumeSystemTags":["volumeProvisioningStrategy::ThickProvisioning"]}}' http://localhost:8080/zstack/v1/vm-instances| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| name | String | body (contained in params structure) | VM name | 0.6 | |
| instanceOfferingUuid (Optional) | String | body (contained in params structure) | Instance offering UUID
| 0.6 | |
| imageUuid (Optional) | String | body (contained in params structure) | Image UUID
| 0.6 | |
| l3NetworkUuids (Optional) | List | body (contained in params structure) | L3 network UUID list
| 0.6 | |
| vmNicParams (Optional) | String | body (contained in params structure) | NIC information | 4.7.0 | |
| type (Optional) | String | body (contained in params structure) | VM type
|
| 0.6 |
| rootDiskOfferingUuid (Optional) | String | body (contained in params structure) | Root disk offering UUID
| 0.6 | |
| dataDiskSizes (Optional) | List | body (contained in params structure) | Custom disk size list. You can specify one or more disk sizes to create one or more data disks for the VM. | 4.4.6 | |
| dataDiskOfferingUuids (Optional) | List | body (contained in params structure) | Disk offering UUID list
| 0.6 | |
| zoneUuid (Optional) | String | body (contained in params structure) | Data Center UUID
| 0.6 | |
| clusterUuid (Optional) | String | body (contained in params structure) | Cluster UUID
| 0.6 | |
| hostUuid (Optional) | String | body (contained in params structure) | Host UUID
| 0.6 | |
| primaryStorageUuidForRootVolume (Optional) | String | body (contained in params structure) | Primary Storage UUID
| 1.8 | |
| description (Optional) | String | body (contained in params structure) | Detailed description of the VM | 0.6 | |
| defaultL3NetworkUuid (Optional) | String | body (contained in params structure) | Default L3 network UUID
| 0.6 | |
| resourceUuid (Optional) | String | body (contained in params structure) | Resource UUID
| 0.6 | |
| tagUuids (Optional) | List | body (contained in params structure) | Tag UUID list | 3.4.0 | |
| systemTags (Optional) | List | body | VM system tags | 0.6 | |
| userTags (Optional) | List | body | VM user tags | 0.6 | |
| strategy (Optional) | String | body (contained in params structure) | VM creation strategy
|
| 0.6 |
| rootVolumeSystemTags (Optional) | List | body (contained in params structure) | System tags required for VM root volume | 3.0 | |
| dataVolumeSystemTags (Optional) | List | body (contained in params structure) | System tags required for VM data volume | 3.0 | |
| cpuNum (Optional) | Integer | body (contained in params structure) | 3.4.0 | ||
| memorySize (Optional) | Long | body (contained in params structure) | 3.4.0 | ||
| rootDiskSize (Optional) | Long | body (contained in params structure) | 3.4.0 | ||
| dataVolumeSystemTagsOnIndex (Optional) | Map | body (contained in params structure) | 4.4.24 | ||
| sshKeyPairUuids (Optional) | List | body (contained in params structure) | 4.7.21 | ||
| dataVolumeTemplateUuids (Optional) | List | body (contained in params structure) | 4.7.0 | ||
| diskAOs (Optional) | List | body (contained in params structure) | boot=true indicates diskAO is used to set VM platform, architecture, operating system and root volume bus; diskAO.boot=false indicates loaded disk | 4.7.0 | |
| platform | String | body (contained in params structure) | 4.7.0 | ||
| guestOsType | String | body (contained in params structure) | 4.7.0 | ||
| architecture | String | body (contained in params structure) | 4.7.21 | ||
| reservedMemorySize (Optional) | Long | body (contained in params structure) | 4.7.21 | ||
| virtio (Optional) | Boolean | body (contained in params structure) | 4.7.0 |
{ "inventory": { "uuid": "6efab7159c6932429c6b0e7e0b64b660", "name": "Test-VM", "description": "web server VM", "zoneUuid": "d10bd7a9565138efaf6171db8e18fa7d", "clusterUuid": "692c71639d873bf6a356cd8e285d0d9c", "imageUuid": "28061e65e48037eda71b53a0732bf087", "hostUuid": "f877177de7bd377e811bc6313878b2b1", "lastHostUuid": "a3ccdc90a600334f994c69aee4270ac5", "instanceOfferingUuid": "9a874241f867333ca0bf0ab2134f8515", "rootVolumeUuid": "f52d7c94d69d3bbb97d36a270fe910c3", "platform": "Linux", "defaultL3NetworkUuid": "2ac1b70fdb0f38769a29c6ebd0262cca", "type": "UserVm", "hypervisorType": "KVM", "memorySize": 8589934592, "cpuNum": 1, "allocatorStrategy": "LastHostPreferredAllocatorStrategy", "createDate": "Nov 14, 2017 2:20:57 PM", "lastOpDate": "Nov 14, 2017 2:20:57 PM", "state": "Running", "vmNics": [ { "uuid": "0dfbb8a297e9349ea8799c4ce48c6d10", "vmInstanceUuid": "6efab7159c6932429c6b0e7e0b64b660", "usedIpUuid": "39b57596a8ba35289bd9f40efceeae03", "l3NetworkUuid": "2ac1b70fdb0f38769a29c6ebd0262cca", "ip": "192.168.1.10", "mac": "00:0c:29:bd:99:fc", "hypervisorType": "KVM", "netmask": "255.255.255.0", "gateway": "192.168.1.1", "deviceId": 0, "createDate": "Nov 14, 2017 2:20:57 PM", "lastOpDate": "Nov 14, 2017 2:20:57 PM" } ], "allVolumes": [ { "uuid": "f52d7c94d69d3bbb97d36a270fe910c3", "name": "Root-Volume-For-VM-6efab7159c6932429c6b0e7e0b64b660", "primaryStorageUuid": "4ed5bbb150a034b5917e7e6c9c4b8170", "vmInstanceUuid": "6efab7159c6932429c6b0e7e0b64b660", "diskOfferingUuid": "0521187274d73f5b936c22b145384c74", "rootImageUuid": "28061e65e48037eda71b53a0732bf087", "installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol-f52d7c94d69d3bbb97d36a270fe910c3/f52d7c94d69d3bbb97d36a270fe910c3.qcow2", "type": "Root", "format": "qcow2", "size": 107374182400, "actualSize": 21474836480, "deviceId": 0, "state": "Enabled", "status": "Ready", "createDate": "Nov 14, 2017 2:20:57 PM", "lastOpDate": "Nov 14, 2017 2:20:57 PM" } ] } }| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | 0.6 | |
| error | ErrorCode | Error code. If not null, the operation failed. This field is null when the operation succeeds. See error | 0.6 |
| inventory | VmInstanceInventory | See inventory | 0.6 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code number, a globally unique identifier for the error, for example SYS.1000, HOST.1001 | 0.6 |
| description | String | Brief description of the error | 0.6 |
| details | String | Detailed error information | 0.6 |
| elaboration | String | Reserved field, defaults to null | 0.6 |
| opaque | LinkedHashMap | Reserved field, defaults to null | 0.6 |
| cause | ErrorCode | Root cause. The source error that triggered the current error. This field is null if there is no original error | 0.6 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 0.6 |
| name | String | Resource name | 0.6 |
| description | String | Detailed description of the resource | 0.6 |
| zoneUuid | String | Data Center UUID | 0.6 |
| clusterUuid | String | Cluster UUID | 0.6 |
| imageUuid | String | Image UUID | 0.6 |
| hostUuid | String | Host UUID | 0.6 |
| lastHostUuid | String | Last host UUID that ran the VM | 0.6 |
| instanceOfferingUuid | String | Instance offering UUID | 0.6 |
| rootVolumeUuid | String | Root volume UUID | 0.6 |
| platform | String | VM platform | 0.6 |
| architecture | String | 0.6 | |
| defaultL3NetworkUuid | String | Default L3 network UUID | 0.6 |
| type | String | VM type | 0.6 |
| hypervisorType | String | VM hypervisor type | 0.6 |
| memorySize | Long | Memory size | 0.6 |
| cpuNum | Integer | CPU number | 0.6 |
| cpuSpeed | Long | CPU speed | 0.6 |
| allocatorStrategy | String | Allocation strategy | 0.6 |
| createDate | Timestamp | Creation time | 0.6 |
| lastOpDate | Timestamp | Last modification time | 0.6 |
| state | String | VM state | 0.6 |
| guestOsType | String | 4.1.2 | |
| vmNics | List | See vmNics | 0.6 |
| allVolumes | List | See allVolumes | 0.6 |
| vmCdRoms | List | See vmCdRoms | 0.6 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 4.7.13 |
| vmInstanceUuid | String | VM UUID | 4.7.13 |
| l3NetworkUuid | String | L3 network UUID | 4.7.13 |
| ip | String | 4.7.13 | |
| mac | String | 4.7.13 | |
| hypervisorType | String | 4.7.13 | |
| netmask | String | 4.7.13 | |
| gateway | String | 4.7.13 | |
| metaData | String | 4.7.13 | |
| ipVersion | Integer | 4.7.13 | |
| driverType | String | 4.7.13 | |
| internalName | String | 4.7.13 | |
| deviceId | Integer | 4.7.13 | |
| type | String | 4.7.13 | |
| state | String | NIC state | 4.7.13 |
| createDate | Timestamp | Creation time | 4.7.13 |
| lastOpDate | Timestamp | Last modification time | 4.7.13 |
| usedIps | List | See usedIps | 4.7.13 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 4.7.13 |
| ipRangeUuid | String | IP range UUID | 4.7.13 |
| l3NetworkUuid | String | L3 network UUID | 4.7.13 |
| ipVersion | Integer | 4.7.13 | |
| ip | String | 4.7.13 | |
| netmask | String | 4.7.13 | |
| gateway | String | 4.7.13 | |
| usedFor | String | 4.7.13 | |
| ipInLong | long | 4.7.13 | |
| vmNicUuid | String | VM NIC UUID | 4.7.13 |
| createDate | Timestamp | Creation time | 4.7.13 |
| lastOpDate | Timestamp | Last modification time | 4.7.13 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 4.7.13 |
| name | String | Resource name | 4.7.13 |
| description | String | Detailed description of the resource | 4.7.13 |
| primaryStorageUuid | String | Primary Storage UUID | 4.7.13 |
| vmInstanceUuid | String | VM UUID | 4.7.13 |
| diskOfferingUuid | String | Disk offering UUID | 4.7.13 |
| rootImageUuid | String | 4.7.13 | |
| installPath | String | 4.7.13 | |
| type | String | 4.7.13 | |
| format | String | 4.7.13 | |
| size | Long | 4.7.13 | |
| actualSize | Long | 4.7.13 | |
| deviceId | Integer | 4.7.13 | |
| state | String | 4.7.13 | |
| status | String | 4.7.13 | |
| createDate | Timestamp | Creation time | 4.7.13 |
| lastOpDate | Timestamp | Last modification time | 4.7.13 |
| isShareable | Boolean | 4.7.13 | |
| volumeQos | String | 4.7.13 | |
| lastDetachDate | Timestamp | 4.7.13 | |
| lastVmInstanceUuid | String | 4.7.13 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 4.7.13 |
| vmInstanceUuid | String | VM UUID | 4.7.13 |
| deviceId | Integer | 4.7.13 | |
| isoUuid | String | 4.7.13 | |
| isoInstallPath | String | 4.7.13 | |
| name | String | Resource name | 4.7.13 |
| description | String | Detailed description of the resource | 4.7.13 |
| createDate | Timestamp | Creation time | 4.7.13 |
| lastOpDate | Timestamp | Last modification time | 4.7.13 |
CreateVmInstanceAction action = new CreateVmInstanceAction(); action.name = "vm1"; action.l3NetworkUuids = asList("19d22d051b063d379a2816daaf431838"); action.clusterUuid = "a0468dc645223f67bd0f2ab95276bbae"; action.description = "this is a vm"; action.strategy = "InstantStart"; action.diskAOs = asList([boot:true, platform:Linux, guestOsType:Helix 8, architecture:x86_64, primaryStorageUuid:ff0359abb8443d2f8077cc368afa7c00, size:0, sourceType:VolumeVO, sourceUuid:ff0eb5a723e9316bb1053ed7e4bb3100, systemTags:[volumeProvisioningStrategy::ThickProvisioning], name:root-volume],[boot:false, primaryStorageUuid:ff0359abb8443d2f8077cc368afa7c00, size:0, name:data-volume]); action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"; CreateVmInstanceAction.Result res = action.call();action = CreateVmInstanceAction() action.name = "vm1" action.l3NetworkUuids = [19d22d051b063d379a2816daaf431838] action.clusterUuid = "a0468dc645223f67bd0f2ab95276bbae" action.description = "this is a vm" action.strategy = "InstantStart" action.diskAOs = [[boot:true, platform:Linux, guestOsType:Helix 8, architecture:x86_64, primaryStorageUuid:ff0359abb8443d2f8077cc368afa7c00, size:0, sourceType:VolumeVO, sourceUuid:ff0eb5a723e9316bb1053ed7e4bb3100, systemTags:[volumeProvisioningStrategy::ThickProvisioning], name:root-volume], [boot:false, primaryStorageUuid:ff0359abb8443d2f8077cc368afa7c00, size:0, name:data-volume]] action.sessionId = "b86c9016b4f24953a9edefb53ca0678c" res = action.call()POST zstack/v1/vm-instances/from/volume-snapshots/{volumeSnapshotUuid}Authorization: OAuth the-session-uuid{ "params": { "name": "vm1", "description": "this is a vm", "instanceOfferingUuid": "6900e329296732aca0e3658bcdcdd3ce", "l3NetworkUuids": [ "990ffab4793036d29fc92142889f9ef2" ], "clusterUuid": "cd44bab6f1d43e59bbc885f869e89388", "strategy": "InstantStart" }, "systemTags": [], "userTags": [] }
Note: In the above example, systemTags and userTags fields can be omitted. They are listed to indicate that the body can contain these two fields.curl -H "Content-Type: application/json;charset=UTF-8" \ -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \ -X POST -d '{"params":{"name":"vm1","description":"this is a vm","instanceOfferingUuid":"6900e329296732aca0e3658bcdcdd3ce","l3NetworkUuids":["990ffab4793036d29fc92142889f9ef2"],"clusterUuid":"cd44bab6f1d43e59bbc885f869e89388","strategy":"InstantStart"}}' \ http://localhost:8080/zstack/v1/vm-instances/from/volume-snapshots/f81c959344783f19ae4fc76f1e770201| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| name | String | body (contained in params structure) | Resource name | 4.1.0 | |
| description (Optional) | String | body (contained in params structure) | Detailed description of the resource | 4.1.0 | |
| instanceOfferingUuid (Optional) | String | body (contained in params structure) | Instance offering UUID | 4.1.0 | |
| cpuNum (Optional) | Integer | body (contained in params structure) | CPU number | 4.1.0 | |
| memorySize (Optional) | Long | body (contained in params structure) | Memory size | 4.1.0 | |
| l3NetworkUuids | List | body (contained in params structure) | L3 network UUID list | 4.1.0 | |
| type (Optional) | String | body (contained in params structure) | VM type |
| 4.1.0 |
| vmNicParams (Optional) | String | body (contained in params structure) | NIC information | 4.0.0 | |
| volumeSnapshotUuid | String | url | Volume snapshot group UUID | 4.1.0 | |
| platform (Optional) | String | body (contained in params structure) | VM platform |
| 4.1.0 |
| zoneUuid (Optional) | String | body (contained in params structure) | Data Center UUID | 4.1.0 | |
| clusterUuid (Optional) | String | body (contained in params structure) | Cluster UUID | 4.1.0 | |
| hostUuid (Optional) | String | body (contained in params structure) | Host UUID | 4.1.0 | |
| primaryStorageUuid (Optional) | String | body (contained in params structure) | Primary Storage UUID | 4.1.0 | |
| defaultL3NetworkUuid (Optional) | String | body (contained in params structure) | Default L3 network UUID | 4.1.0 | |
| strategy (Optional) | String | body (contained in params structure) | Creation strategy |
| 4.1.0 |
| resourceUuid (Optional) | String | body (contained in params structure) | Resource UUID | 4.1.0 | |
| tagUuids (Optional) | List | body (contained in params structure) | Tag UUID list | 4.1.0 | |
| systemTags (Optional) | List | body | System Tags | 4.1.0 | |
| userTags (Optional) | List | body | User Tags | 4.1.0 | |
| rootVolumeSystemTags (Optional) | List | body (contained in params structure) | Root volume system tags | 4.1.0 | |
| reservedMemorySize (Optional) | Long | body (contained in params structure) | 4.7.21 |
{ "inventory": { "uuid": "56331ef0c0713bc09dc2dc160fd4d48a", "name": "Test-VM", "description": "web server VM", "zoneUuid": "49783ceb7da734aab1ea137f2b7b82ac", "clusterUuid": "ebfbd2a6e08a3b78b70c9b6093f40d37", "imageUuid": "9a4914937dcd3149810793f8b040e8ad", "hostUuid": "2665407c38f932c08f3fb33bb6c8f3f4", "lastHostUuid": "2a847b5699b535d7a78b57cd411ffeac", "instanceOfferingUuid": "041ff292e60f31079dd8e6e3c9c26c72", "rootVolumeUuid": "98648a22b2c639ee88571bf1c429caba", "platform": "Linux", "defaultL3NetworkUuid": "4f80edbb396b346c9af4dcce48f94fb5", "type": "UserVm", "hypervisorType": "KVM", "memorySize": 8589934592, "cpuNum": 1, "allocatorStrategy": "LastHostPreferredAllocatorStrategy", "createDate": "Nov 14, 2017 10:20:57 PM", "lastOpDate": "Nov 14, 2017 10:20:57 PM", "state": "Running", "vmNics": [ { "uuid": "1e1b705f391c3f40a2b6ae447d0e12ca", "vmInstanceUuid": "56331ef0c0713bc09dc2dc160fd4d48a", "usedIpUuid": "bf85263c007d3959a166599181daa4b7", "l3NetworkUuid": "4f80edbb396b346c9af4dcce48f94fb5", "ip": "192.168.1.10", "mac": "00:0c:29:bd:99:fc", "hypervisorType": "KVM", "netmask": "255.255.255.0", "gateway": "192.168.1.1", "deviceId": 0, "state": "enable", "createDate": "Nov 14, 2017 10:20:57 PM", "lastOpDate": "Nov 14, 2017 10:20:57 PM" } ], "allVolumes": [ { "uuid": "98648a22b2c639ee88571bf1c429caba", "name": "Root-Volume-For-VM-56331ef0c0713bc09dc2dc160fd4d48a", "primaryStorageUuid": "406362409f493e14952262df535e9cf8", "vmInstanceUuid": "56331ef0c0713bc09dc2dc160fd4d48a", "rootImageUuid": "9a4914937dcd3149810793f8b040e8ad", "installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol-98648a22b2c639ee88571bf1c429caba/98648a22b2c639ee88571bf1c429caba.qcow2", "type": "Root", "format": "qcow2", "size": 107374182400, "actualSize": 21474836480, "deviceId": 0, "state": "Enabled", "status": "Ready", "createDate": "Nov 14, 2017 10:20:57 PM", "lastOpDate": "Nov 14, 2017 10:20:57 PM" } ] } }| Name | Type | Description | Starting Version |
|---|---|---|---|
| success | boolean | 0.6 | |
| error | ErrorCode | Error code. If not null, the operation failed. This field is null when the operation succeeds. See error | 4.1.0 |
| inventory | VmInstanceInventory | See inventory | 4.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code number, a globally unique identifier for the error, for example SYS.1000, HOST.1001 | 4.1.0 |
| description | String | Brief description of the error | 4.1.0 |
| details | String | Detailed error information | 4.1.0 |
| elaboration | String | Reserved field, defaults to null | 4.1.0 |
| opaque | LinkedHashMap | Reserved field, defaults to null | 4.1.0 |
| cause | ErrorCode | Root cause. The source error that triggered the current error. This field is null if there is no original error | 4.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 4.1.0 |
| name | String | Resource name | 4.1.0 |
| description | String | Detailed description of the resource | 4.1.0 |
| zoneUuid | String | Data Center UUID | 4.1.0 |
| clusterUuid | String | Cluster UUID | 4.1.0 |
| imageUuid | String | Image UUID | 4.1.0 |
| hostUuid | String | Host UUID | 4.1.0 |
| lastHostUuid | String | 4.1.0 | |
| instanceOfferingUuid | String | Instance offering UUID | 4.1.0 |
| rootVolumeUuid | String | Root volume UUID | 4.1.0 |
| platform | String | 4.1.0 | |
| defaultL3NetworkUuid | String | 4.1.0 | |
| type | String | 4.1.0 | |
| hypervisorType | String | 4.1.0 | |
| memorySize | Long | 4.1.0 | |
| cpuNum | Integer | 4.1.0 | |
| cpuSpeed | Long | 4.1.0 | |
| allocatorStrategy | String | 4.1.0 | |
| createDate | Timestamp | Creation time | 4.1.0 |
| lastOpDate | Timestamp | Last modification time | 4.1.0 |
| state | String | 4.1.0 | |
| guestOsType | String | 4.1.2 | |
| vmNics | List | See vmNics | 4.1.0 |
| allVolumes | List | See allVolumes | 4.1.0 |
| vmCdRoms | List | See vmCdRoms | 0.6 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 4.1.0 |
| vmInstanceUuid | String | VM UUID | 4.1.0 |
| l3NetworkUuid | String | L3 network UUID | 4.1.0 |
| ip | String | IP address | 4.1.0 |
| mac | String | MAC address | 4.1.0 |
| hypervisorType | String | Hypervisor type | 4.1.0 |
| netmask | String | Netmask | 4.1.0 |
| gateway | String | Gateway | 4.1.0 |
| metaData | String | 4.1.0 | |
| ipVersion | Integer | IP version | 4.1.0 |
| driverType | String | 4.7.13 | |
| internalName | String | 4.7.13 | |
| deviceId | Integer | Device ID | 4.1.0 |
| type | String | NIC type | 4.1.0 |
| state | String | NIC state | 4.7.13 |
| createDate | Timestamp | Creation time | 4.1.0 |
| lastOpDate | Timestamp | Last modification time | 4.1.0 |
| usedIps | List | See usedIps | 4.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 4.1.0 |
| ipRangeUuid | String | IP range UUID | 4.1.0 |
| l3NetworkUuid | String | L3 network UUID | 4.1.0 |
| ipVersion | Integer | IP protocol number | 4.1.0 |
| ip | String | IP address | 4.1.0 |
| netmask | String | Network mask | 4.1.0 |
| gateway | String | Gateway address | 4.1.0 |
| usedFor | String | 4.1.0 | |
| ipInLong | long | 4.1.0 | |
| vmNicUuid | String | VM NIC UUID | 4.1.0 |
| createDate | Timestamp | Creation time | 4.1.0 |
| lastOpDate | Timestamp | Last modification time | 4.1.0 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 4.1.0 |
| name | String | Resource name | 4.1.0 |
| description | String | Detailed description of the resource | 4.1.0 |
| primaryStorageUuid | String | Primary Storage UUID | 4.1.0 |
| vmInstanceUuid | String | VM UUID | 4.1.0 |
| diskOfferingUuid | String | Disk offering UUID | 4.1.0 |
| rootImageUuid | String | Root image UUID | 4.1.0 |
| installPath | String | Volume install path on the primary storage | 4.1.0 |
| type | String | Volume type, data volume/root volume | 4.1.0 |
| format | String | Volume format | 4.1.0 |
| size | Long | Volume size | 4.1.0 |
| actualSize | Long | Actual volume size | 4.1.0 |
| deviceId | Integer | 4.1.0 | |
| state | String | Volume state | 4.1.0 |
| status | String | Volume status | 4.1.0 |
| createDate | Timestamp | Creation time | 4.1.0 |
| lastOpDate | Timestamp | Last modification time | 4.1.0 |
| isShareable | Boolean | Whether it is a shared volume | 4.1.0 |
| volumeQos | String | 4.1.0 | |
| lastDetachDate | Timestamp | 4.7.13 | |
| lastVmInstanceUuid | String | 4.7.13 |
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, uniquely identifies the resource | 4.7.13 |
| vmInstanceUuid | String | VM UUID | 4.7.13 |
| deviceId | Integer | 4.7.13 | |
| isoUuid | String | 4.7.13 | |
| isoInstallPath | String | 4.7.13 | |
| name | String | Resource name | 4.7.13 |
| description | String | Detailed description of the resource | 4.7.13 |
| createDate | Timestamp | Creation time | 4.7.13 |
| lastOpDate | Timestamp | Last modification time | 4.7.13 |
CreateVmInstanceFromVolumeSnapshotAction action = new CreateVmInstanceFromVolumeSnapshotAction(); action.name = "vm1"; action.description = "this is a vm"; action.instanceOfferingUuid = "6900e329296732aca0e3658bcdcdd3ce"; action.l3NetworkUuids = asList("990ffab4793036d29fc92142889f9ef2"); action.volumeSnapshotUuid = "f81c959344783f19ae4fc76f1e770201"; action.clusterUuid = "cd44bab6f1d43e59bbc885f869e89388"; action.strategy = "InstantStart"; action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"; CreateVmInstanceFromVolumeSnapshotAction.Result res = action.call();action = CreateVmInstanceFromVolumeSnapshotAction() action.name = "vm1" action.description = "this is a vm" action.instanceOfferingUuid = "6900e329296732aca0e3658bcdcdd3ce" action.l3NetworkUuids = [990ffab4793036d29fc92142889f9ef2] action.volumeSnapshotUuid = "f81c959344783f19ae4fc76f1e770201" action.clusterUuid = "cd44bab6f1d43e59bbc885f869e89388" action.strategy = "InstantStart" action.sessionId = "b86c9016b4f24953a9edefb53ca0678c" res = action.call()