UpdateVmInstance
Update Virtual Machine Instance
API Request
URLs
PUT zstack/v1/vm-instances/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
Note: In the preceding example, the
{
"updateVmInstance": {
"name": "new vm name"
},
"systemTags": [],
"userTags": []
}
Note: In the preceding example, the systemTags and userTags fields can be omitted. They are shown to indicate that the body can contain these two fields.Curl Example
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X PUT -d '{"updateVmInstance":{"name":"new vm name"}}' http://localhost:8080/zstack/v1/vm-instances/dfa2feae60f431ac8d5f071f5594cfc1/actions
Parameter List
| Name | Type | Location | Description | Allowed Values | Starting Version |
|---|---|---|---|---|---|
| uuid | String | url | Virtual Machine UUID | 0.6 | |
| name (Optional) | String | body (included in the updateVmInstance structure) |
Virtual machine name | 0.6 | |
| description (Optional) | String | body (included in the updateVmInstance structure) |
Detailed virtual machine description | 0.6 | |
| state (Optional) | String | body (included in the updateVmInstance structure) |
Virtual machine state. Notice. In general, you should not directly update the virtual machine state because doing so may cause ZStack to misjudge it. This field should be used only when the actual virtual machine state is inconsistent with the state recorded by ZStack, the ZStack synchronization mechanism has failed (which usually indicates a bug), and the administrator fully understands the consequences of using this field. |
|
0.6 |
| defaultL3NetworkUuid (Optional) | String | body (included in the updateVmInstance structure) |
Default Distributed Port Group UUID | 0.6 | |
| platform (Optional) | String | body (included in the updateVmInstance structure) |
Virtual machine platform type |
|
0.6 |
| cpuNum (Optional) | Integer | body (included in the updateVmInstance structure) |
Number of virtual machine CPUs. The change takes effect after the virtual machine is stopped and started | 0.6 | |
| memorySize (Optional) | Long | body (included in the updateVmInstance structure) |
Virtual machine memory size. The change takes effect after the virtual machine is stopped and started | 0.6 | |
| systemTags (Optional) | List | body | System tags | 0.6 | |
| userTags (Optional) | List | body | User tags | 0.6 | |
| guestOsType (Optional) | String | body (included in the updateVmInstance structure) |
Optional. The guest OS type. | 3.11.2 | |
| reservedMemorySize (Optional) | Long | body (included in the updateVmInstance structure) |
Optional. The reserved memory size. | 3.17.21 | |
| allocatorStrategy (Optional) | String | body (included in the updateVmInstance structure) |
Virtual Machine allocation strategy | 4.10.10 | |
| vmEncryption (Optional) | Boolean | body (included in the updateVmInstance structure) |
Whether the virtual machine is encrypted | 5.1.0 |
API Response
Response Example
{
"inventory": {
"uuid": "6710cdffb0653455809b6511a6b3aaa4",
"name": "new vm name",
"description": "web server VM",
"zoneUuid": "aa63c5a3b3c436fa94e5e851f057fe23",
"clusterUuid": "48b424d94ed239f1b18e1ce37db24cf8",
"imageUuid": "4e1ac550da8d30c7b07162acc39773c1",
"hostUuid": "1f3ffea4673e3e4197681ee030d1794b",
"lastHostUuid": "d334dadb7cfc34da8f6f7d74dfd04692",
"instanceOfferingUuid": "33b38aff5cbe3e24a9266300f7163d20",
"rootVolumeUuid": "761df8e1eef933ee8d7f3b7f8551b754",
"platform": "Linux",
"defaultL3NetworkUuid": "3a3c91f4a28a31beb410d6d1c3dc862c",
"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": "ae19167e24713aeea9c45e6f2d27249d",
"vmInstanceUuid": "6710cdffb0653455809b6511a6b3aaa4",
"usedIpUuid": "010f4817011b32d3b476faa3f393d765",
"l3NetworkUuid": "3a3c91f4a28a31beb410d6d1c3dc862c",
"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": "761df8e1eef933ee8d7f3b7f8551b754",
"name": "Root-Volume-For-VM-6710cdffb0653455809b6511a6b3aaa4",
"primaryStorageUuid": "da81ed018a9738ff97a16d7b7a43327d",
"vmInstanceUuid": "6710cdffb0653455809b6511a6b3aaa4",
"diskOfferingUuid": "bd9b406d36c13fc7ad3f995535415898",
"rootImageUuid": "4e1ac550da8d30c7b07162acc39773c1",
"installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol-761df8e1eef933ee8d7f3b7f8551b754/761df8e1eef933ee8d7f3b7f8551b754.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 | Whether the operation succeeded. | 0.6 |
| error | ErrorCode | Error code. If this field is not null, the operation failed. This field is null when the operation succeeds. For details, see error | 0.6 |
| inventory | VmInstanceInventory | For details, see inventory | 0.6 |
#error
| Name | Type | Description | Starting Version |
|---|---|---|---|
| code | String | Error code, which globally and uniquely identifies the error, for example, SYS.1000 or HOST.1001 | 0.6 |
| description | String | Summary description of the error | 0.6 |
| details | String | Details of the error | 0.6 |
| elaboration | String | Reserved field. The default value is null | 0.6 |
| opaque | LinkedHashMap | Reserved field. The default value is null | 0.6 |
| cause | ErrorCode | Root error that caused the current error. This field is null if there is no source error | 0.6 |
#inventory
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 0.6 |
| name | String | Resource name | 0.6 |
| description | String | Detailed 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 | Last Host UUID | 0.6 |
| instanceOfferingUuid | String | Instance Offering UUID | 0.6 |
| rootVolumeUuid | String | Root disk UUID | 0.6 |
| platform | String | Virtual Machine platform type, Windows / Linux / Other | 0.6 |
| architecture | String | Virtual Machine architecture, x86_64 / aarch64 / Other | 0.6 |
| defaultL3NetworkUuid | String | Default Distributed Port Group UUID | 0.6 |
| type | String | Virtual Machine type, User virtual machine or platform special purpose virtual machine | 0.6 |
| hypervisorType | String | Virtual Machine hypervisor type, typically KVM | 0.6 |
| memorySize | Long | Memory size | 0.6 |
| cpuNum | Integer | CPU number | 0.6 |
| cpuSpeed | Long | CPU speed | 0.6 |
| allocatorStrategy | String | Virtual Machine allocation strategy | 0.6 |
| createDate | Timestamp | Creation time | 0.6 |
| lastOpDate | Timestamp | Last modification time | 0.6 |
| state | String | Virtual Machine enabled state | 0.6 |
| guestOsType | String | Virtual Machine host operating system type | 3.11.2 |
| vmNics | List | For details, see vmNics | 0.6 |
| allVolumes | List | For details, see allVolumes | 0.6 |
| vmCdRoms | List | For details, see vmCdRoms | 0.6 |
#vmNics
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 3.17.13 |
| vmInstanceUuid | String | Virtual Machine UUID | 3.17.13 |
| l3NetworkUuid | String | Distributed Port Group UUID | 3.17.13 |
| ip | String | The IP address. | 3.17.13 |
| mac | String | The MAC address. | 3.17.13 |
| hypervisorType | String | The hypervisor type. | 3.17.13 |
| netmask | String | The netmask. | 3.17.13 |
| gateway | String | The gateway IP address. | 3.17.13 |
| metaData | String | The metadata. | 3.17.13 |
| ipVersion | Integer | The IP version. | 3.17.13 |
| driverType | String | The driver type. | 3.17.13 |
| internalName | String | The internal name. | 3.17.13 |
| deviceId | Integer | The device ID. | 3.17.13 |
| type | String | The resource type. | 3.17.13 |
| state | String | NIC Status | 3.17.13 |
| createDate | Timestamp | Creation time | 3.17.13 |
| lastOpDate | Timestamp | Last modification time | 3.17.13 |
| usedIps | List | For details, see usedIps | 3.17.13 |
#usedIps
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 4.10.0 |
| ipRangeUuid | String | IP Range UUID | 4.10.0 |
| l3NetworkUuid | String | Distributed Port Group UUID | 4.10.0 |
| ipVersion | Integer | IP protocol number | 4.10.0 |
| ip | String | IP address | 4.10.0 |
| netmask | String | Subnet mask | 4.10.0 |
| gateway | String | Gateway address | 4.10.0 |
| usedFor | String | Allocation reason | 4.10.0 |
| ipInLong | long | Long stored IP address, only valid for ipv4 | 4.10.0 |
| vmNicUuid | String | Virtual Machine NIC UUID | 4.10.0 |
| createDate | Timestamp | Creation time | 4.10.0 |
| lastOpDate | Timestamp | Last modification time | 4.10.0 |
#allVolumes
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 3.17.13 |
| name | String | Resource name | 3.17.13 |
| description | String | Detailed resource description | 3.17.13 |
| primaryStorageUuid | String | Data Storage UUID | 3.17.13 |
| vmInstanceUuid | String | Virtual Machine UUID | 3.17.13 |
| diskOfferingUuid | String | Disk Offering UUID | 3.17.13 |
| rootImageUuid | String | The root image UUID. | 3.17.13 |
| installPath | String | The installation path. | 3.17.13 |
| type | String | The resource type. | 3.17.13 |
| format | String | The format. | 3.17.13 |
| size | Long | The size. | 3.17.13 |
| actualSize | Long | The actual size. | 3.17.13 |
| deviceId | Integer | The device ID. | 3.17.13 |
| state | String | The resource state. | 3.17.13 |
| status | String | The resource status. | 3.17.13 |
| createDate | Timestamp | Creation time | 3.17.13 |
| lastOpDate | Timestamp | Last modification time | 3.17.13 |
| isShareable | Boolean | Whether the resource is shareable. | 3.17.13 |
| volumeQos | String | The volume QoS. | 3.17.13 |
| lastDetachDate | Timestamp | The last detach date. | 3.17.13 |
| lastVmInstanceUuid | String | The last VM instance UUID. | 3.17.13 |
| encrypted | Boolean | Whether the resource is encrypted. | 5.1.0 |
#vmCdRoms
| Name | Type | Description | Starting Version |
|---|---|---|---|
| uuid | String | Resource UUID, which uniquely identifies the resource | 3.17.13 |
| vmInstanceUuid | String | Virtual Machine UUID | 3.17.13 |
| deviceId | Integer | The device ID. | 3.17.13 |
| isoUuid | String | The ISO UUID. | 3.17.13 |
| isoInstallPath | String | The ISO install path. | 3.17.13 |
| name | String | Resource name | 3.17.13 |
| description | String | Detailed resource description | 3.17.13 |
| createDate | Timestamp | Creation time | 3.17.13 |
| lastOpDate | Timestamp | Last modification time | 3.17.13 |
SDK Examples
Java SDK
UpdateVmInstanceAction action = new UpdateVmInstanceAction();
action.uuid = "dfa2feae60f431ac8d5f071f5594cfc1";
action.name = "new vm name";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateVmInstanceAction.Result res = action.call();
Python SDK
action = UpdateVmInstanceAction()
action.uuid = "dfa2feae60f431ac8d5f071f5594cfc1"
action.name = "new vm name"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
