VM Related Interfaces

Reimage Virtual Machine

PUT/zstack/v1/vm-instances/{vmInstanceUuid}/actions

Reimage a Virtual Machine root volume to its initial state. This API is only valid for Virtual Machines created from non-ISO images.

Warning: After executing this API, the Virtual Machine root volume will be reset to its initial state created, meaning all data written afterward will be lost. This operation cannot be reversed!

Headers

Authorization: OAuth the-session-uuid

Body

{
  "reimageVmInstance": {},
  "systemTags": [],
  "userTags": []
}

The systemTags and userTags fields in the example above are optional. Listed to indicate these fields can be included in the body.

Curl Example

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"reimageVmInstance":{}}' \
http://localhost:8080/zstack/v1/vm-instances/f38615d717a438c39eca3b8b560a00ef/actions

Parameter List

NameTypeLocationDescriptionAllowed ValuesStarting Version
vmInstanceUuidStringurlVirtual Machine UUID 0.6
systemTags (optional)ListbodySystem Tags 0.6
userTags (optional)ListbodyUser Tags 0.6

API Response

Return Example

{
  "inventory": {
    "uuid": "efb855424e2b38d3bc320f105a13bc0b",
    "name": "Test-VM",
    "description": "web server VM",
    "zoneUuid": "33a8c6dea1773921b68e25fcb24ac6be",
    "clusterUuid": "18425d00b5323689892b7486cf73ddaf",
    "imageUuid": "7386cfa57d8530e3a41b7f55a3a5509c",
    "hostUuid": "1e7f7702093d3c2e92497116a4dfd8b2",
    "lastHostUuid": "99a8c35c2f283c4799752e4656e8628f",
    "instanceOfferingUuid": "29307f05cde03ec5bd559bb88fd8aefe",
    "rootVolumeUuid": "5cf22d393d493a15866a172f5d5429b4",
    "platform": "Linux",
    "defaultL3NetworkUuid": "249a8e5928ca3b2694766c235c1111ea",
    "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": "cae339f2a70834fe9e7d65f88f09f6f6",
        "vmInstanceUuid": "efb855424e2b38d3bc320f105a13bc0b",
        "usedIpUuid": "47d53a778b1a38c9992cc87e536ade2b",
        "l3NetworkUuid": "249a8e5928ca3b2694766c235c1111ea",
        "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": "5cf22d393d493a15866a172f5d5429b4",
        "name": "Root-Volume-For-VM-efb855424e2b38d3bc320f105a13bc0b",
        "primaryStorageUuid": "ed936519554c3237b5dd13745625defa",
        "vmInstanceUuid": "efb855424e2b38d3bc320f105a13bc0b",
        "diskOfferingUuid": "3f94a3d296b43309bb1be95baabf088c",
        "rootImageUuid": "7386cfa57d8530e3a41b7f55a3a5509c",
        "installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol-5cf22d393d493a15866a172f5d5429b4/5cf22d393d493a15866a172f5d5429b4.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"
      }
    ]
  }
}
NameTypeDescriptionStarting Version
successboolean 0.6
errorErrorCodeError code. If not null, indicates operation failure. This field is null when the operation succeeds. See error0.6
inventoryVmInstanceInventorySee inventory0.6

error

NameTypeDescriptionStarting Version
codeStringError code number, a globally unique identifier for the error, for example SYS.1000, HOST.10010.6
descriptionStringBrief description of the error0.6
detailsStringDetailed error information0.6
elaborationStringReserved field, defaults to null0.6
opaqueLinkedHashMapReserved field, defaults to null0.6
causeErrorCodeRoot cause, the source error that triggered the current error. If there is no original error, this field is null0.6

inventory

NameTypeDescriptionStarting Version
uuidStringResource UUID, uniquely identifies the resource0.6
nameStringResource name0.6
descriptionStringDetailed description of the resource0.6
zoneUuidStringData Center UUID0.6
clusterUuidStringCluster UUID0.6
imageUuidStringImage UUID0.6
hostUuidStringHost UUID0.6
lastHostUuidString 0.6
instanceOfferingUuidStringCompute Offering UUID0.6
rootVolumeUuidStringRoot Volume UUID0.6
platformString 0.6
architectureString 0.6
defaultL3NetworkUuidString 0.6
typeString 0.6
hypervisorTypeString 0.6
memorySizeLong 0.6
cpuNumInteger 0.6
cpuSpeedLong 0.6
allocatorStrategyString 0.6
createDateTimestampCreation Time0.6
lastOpDateTimestampLast Operation Date0.6
stateString 0.6
guestOsTypeString 4.1.2
vmNicsListSee vmNics0.6
allVolumesListSee allVolumes0.6
vmCdRomsListSee vmCdRoms0.6

vmNics

NameTypeDescriptionStarting Version
uuidStringResource UUID, uniquely identifies the resource0.6
vmInstanceUuidStringVirtual Machine UUID0.6
l3NetworkUuidStringL3 Network UUID0.6
ipString 0.6
macString 0.6
hypervisorTypeString 4.7.13
netmaskString 0.6
gatewayString 0.6
metaDataString 0.6
ipVersionIntegerIP protocol version3.1.0
driverTypeString 4.7.13
internalNameString 4.7.13
deviceIdInteger 0.6
createDateTimestampCreation Time0.6
lastOpDateTimestampLast Operation Date0.6
usedIpsListSee usedIps0.6

usedIps

NameTypeDescriptionStarting Version
uuidStringResource UUID, uniquely identifies the resource0.6
ipRangeUuidStringIP Range UUID0.6
l3NetworkUuidStringL3 Network UUID0.6
ipVersionIntegerIP Protocol Version3.1.0
ipStringIP Address0.6
netmaskStringNetwork Mask0.6
gatewayStringGateway Address0.6
usedForString 0.6
ipInLonglong 0.6
vmNicUuidStringVirtual Machine NIC UUID3.1.0
createDateTimestampCreation Time0.6
lastOpDateTimestampLast Operation Date0.6

allVolumes

NameTypeDescriptionStarting Version
uuidStringResource UUID, uniquely identifies the resource0.6
nameStringResource name0.6
descriptionStringDetailed description of the resource0.6
primaryStorageUuidStringPrimary Storage UUID0.6
vmInstanceUuidStringVirtual Machine UUID0.6
diskOfferingUuidStringDisk Offering UUID0.6
rootImageUuidString 0.6
installPathString 0.6
typeString 0.6
formatString 0.6
sizeLong 0.6
actualSizeLong 0.6
deviceIdInteger 0.6
stateString 0.6
statusString 0.6
createDateTimestampCreation Time0.6
lastOpDateTimestampLast Operation Date0.6
isShareableBoolean 0.6
volumeQosString 4.7.13
lastDetachDateTimestamp 4.7.13
lastVmInstanceUuidString 4.7.13

vmCdRoms

NameTypeDescriptionStarting Version
uuidStringResource UUID, uniquely identifies the resource4.7.13
vmInstanceUuidStringVirtual Machine UUID4.7.13
deviceIdInteger 4.7.13
isoUuidString 4.7.13
isoInstallPathString 4.7.13
nameStringResource name4.7.13
descriptionStringDetailed description of the resource4.7.13
createDateTimestampCreation Time4.7.13
lastOpDateTimestampLast Operation Date4.7.13

SDK Examples

Java SDK

ReimageVmInstanceAction action = new ReimageVmInstanceAction();
action.vmInstanceUuid = "b733a61173bc4a85974a5a1391b62d12";
action.sessionId = "04d122b7e2934964af3c2af59130e600";
ReimageVmInstanceAction.Result res = action.call();

Python SDK

action = ReimageVmInstanceAction()
action.vmInstanceUuid = "f38615d717a438c39eca3b8b560a00ef"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()