Document navigation

CreateVmInstanceFromTemplatedVmInstance

Create Virtual Machine Instance From Templated Virtual Machine Instance

API Request

URLs
POST zstack/v1/vm-instances/{templatedVmInstanceUuid}/create-vmInstance-from-templated-vmInstance
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "names": [
      "vm1",
      "vm2"
    ],
    "strategy": "InstantStart"
  },
  "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 POST -d '{"params":{"names":["vm1","vm2"],"strategy":"InstantStart"}}' http://localhost:8080/zstack/v1/vm-instances/ff09d4fb092a31e681abdfda0e709900/create-vmInstance-from-templated-vmInstance
Parameter List
Name Type Location Description Allowed Values Starting Version
names List body (included in the params structure) List of virtual machine names zsv 4.2.6
templatedVmInstanceUuid String url Template virtual machine instance UUID zsv 4.2.6
strategy (Optional) String body (included in the params structure) Creation strategy
  • InstantStart
  • JustCreate
  • CreateStopped
zsv 4.2.6
description (Optional) String body (included in the params structure) Detailed resource description zsv 4.2.6
cpuNum (Optional) Integer body (included in the params structure) Number of CPU cores zsv 4.2.6
memorySize (Optional) Long body (included in the params structure) Memory size zsv 4.2.6
reservedMemorySize (Optional) Long body (included in the params structure) Reserved memory size zsv 4.2.6
l3NetworkUuids (Optional) List body (included in the params structure) List of distributed port group UUIDs. You can specify one or more distributed port groups, and the virtual machine creates one NIC on each network zsv 4.2.6
defaultL3NetworkUuid (Optional) String body (included in the params structure) Default Distributed Port Group UUID zsv 4.2.6
vmNicParams (Optional) String body (included in the params structure) NIC information zsv 4.2.6
diskAOs (Optional) List body (included in the params structure) Disk zsv 4.2.6
zoneUuid (Optional) String body (included in the params structure) Data Center UUID zsv 4.2.6
clusterUuid (Optional) String body (included in the params structure) Cluster UUID zsv 4.2.6
hostUuid (Optional) String body (included in the params structure) Host UUID zsv 4.2.6
instanceOfferingUuid (Optional) String body (included in the params structure) Instance Offering UUID zsv 4.2.6
type (Optional) String body (included in the params structure) Virtual Machine type zsv 4.2.6
vmCustomSpecification (Optional) VmCustomSpecificationStruct body (included in the params structure) Custom virtual machine operating system 4.10.18
systemTags (Optional) List body System tags zsv 4.2.6
userTags (Optional) List body User tags zsv 4.2.6
resetTpm (Optional) Boolean body (included in the params structure) Whether to reset the TPM state of the virtual machine to be created 5.0.0
vmEncryption (Optional) Boolean body (included in the params structure) Whether the virtual machine is encrypted 5.1.0

API Response

Response Example
{
  "result": {
    "numberOfClonedVm": 1,
    "inventories": [
      {
        "inventory": {
          "uuid": "ab705dd924a9364f894ae26e809ec49b",
          "name": "new vm name",
          "description": "web server VM",
          "zoneUuid": "b46d69aa62a6367ab22697617734ad20",
          "clusterUuid": "bdbde667b79b341391c61492d6710585",
          "imageUuid": "3d0ed05e73e43bd1ac7be7e083286977",
          "hostUuid": "f356b94b091c33619e50ee93c63ea1e2",
          "lastHostUuid": "0accca7bf978353a852a0dba7379efc6",
          "instanceOfferingUuid": "e41ee31d1eae3f239d2f8736ac2eda2d",
          "rootVolumeUuid": "7367b12147a5355fbdbcdc3379a4f776",
          "platform": "Linux",
          "defaultL3NetworkUuid": "31f5ccd03eb031e3a652fe24cc6483f3",
          "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",
          "allVolumes": [
            {
              "uuid": "7367b12147a5355fbdbcdc3379a4f776",
              "name": "Root-Volume-For-VM-ab705dd924a9364f894ae26e809ec49b",
              "primaryStorageUuid": "6d24676efd2c3b028ea6bfdef66cc6a1",
              "vmInstanceUuid": "ab705dd924a9364f894ae26e809ec49b",
              "diskOfferingUuid": "3431860972293269988a28f4b6f8ad68",
              "rootImageUuid": "3d0ed05e73e43bd1ac7be7e083286977",
              "installPath": "/zstack_ps/rootVolumes/acct-36c27e8ff05c4780bf6d2fa65700f22e/vol-7367b12147a5355fbdbcdc3379a4f776/7367b12147a5355fbdbcdc3379a4f776.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. zsv 4.2.6
result CloneVmInstanceResults For details, see result zsv 4.2.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 zsv 4.2.6
#result
Name Type Description Starting Version
numberOfClonedVm int The number of cloned VM instance. zsv 4.2.6
inventories List For details, see inventories zsv 4.2.6
#inventories
Name Type Description Starting Version
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
#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

SDK Examples

Java SDK
CreateVmInstanceFromTemplatedVmInstanceAction action = new CreateVmInstanceFromTemplatedVmInstanceAction();
action.names = asList("vm1","vm2");
action.templatedVmInstanceUuid = "ff09d4fb092a31e681abdfda0e709900";
action.strategy = "InstantStart";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateVmInstanceFromTemplatedVmInstanceAction.Result res = action.call();
Python SDK
action = CreateVmInstanceFromTemplatedVmInstanceAction()
action.names = [vm1, vm2]
action.templatedVmInstanceUuid = "ff09d4fb092a31e681abdfda0e709900"
action.strategy = "InstantStart"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()
API Reference | ZStack ZSphere · ZVF | ZStack Resource Center