Image Storage Related InterfacesImage Related Interfaces

Create Root Volume Template from Volume Snapshot

POST/zstack/v1/images/root-volume-templates/from/volume-snapshots/{snapshotUuid}

Create a Root Volume Image from a Volume Snapshot.

Headers

Authorization: OAuth the-session-uuid

Body

{
  "params": {
    "name": "My Root Volume Template",
    "backupStorageUuids": [
      "41a9753ebf8031ef83b41ebed095b783"
    ],
    "system": false
  },
  "systemTags": [],
  "userTags": []
}

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 Example

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"My Root Volume Template","backupStorageUuids":["41a9753ebf8031ef83b41ebed095b783"],"system":false}}' \
http://localhost:8080/zstack/v1/images/root-volume-templates/from/volume-snapshots/f31fda67d1be32998cef3f3d9a280e1c

Parameter List

Name

Type

Location

Description

Allowed Values

Starting Version

snapshotUuid

String

url

Snapshot UUID

 

0.6

name

String

body (contained in params structure)

Root Volume Image name

 

0.6

description (Optional)

String

body (contained in params structure)

Detailed description of the Root Volume Image

 

0.6

guestOsType (Optional)

String

body (contained in params structure)

Root Volume Guest Operating System type

 

0.6

backupStorageUuids

List

body (contained in params structure)

Image Storage UUID List

 

0.6

platform (Optional)

String

body (contained in params structure)

System platform corresponding to the Root Volume Image

  • Linux
  • Windows
  • WindowsVirtio
  • Other
  • Paravirtualization

0.6

system (Optional)

boolean

body (contained in params structure)

Whether it is a system Root Volume Image

 

0.6

resourceUuid (Optional)

String

body (contained in params structure)

Root Volume Image UUID. If specified, the Root Volume Image will use this field value as its UUID.

 

0.6

architecture (Optional)

String

body (contained in params structure)

 

 

4.0.0

tagUuids (Optional)

List

body (contained in params structure)

Tag UUID List

 

4.0.0

systemTags (Optional)

List

body

System Tags

 

0.6

userTags (Optional)

List

body

User Tags

 

0.6

API Response

Response Example

{
  "inventory": {
    "uuid": "cfe7842a8c1a30a1870965a7d6133760",
    "name": "My Root Volume Template",
    "mediaType": "RootVolumeTemplate",
    "platform": "Linux",
    "format": "raw",
    "backupStorageRefs": [
      {
        "id": 0.0,
        "imageUuid": "cfe7842a8c1a30a1870965a7d6133760",
        "backupStorageUuid": "f5f16e1618323606a7501b50be251c05",
        "installPath": "ceph://zs-images/0cd599ec519249489475112a058bb93a",
        "status": "Ready"
      }
    ]
  }
}
NameTypeDescriptionStarting Version
errorErrorCodeError code. If not null, the operation failed. This field is null when the operation succeeds. See error0.6
inventoryImageInventorySee inventory0.6
failuresListSee failures0.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. This field is null if there is no original error0.6

inventory

NameTypeDescriptionStarting Version
uuidStringResource UUID, uniquely identifies the resource0.6
nameStringResource name0.6
descriptionStringDetailed description of the resource0.6
stateStringImage boot state4.0.0
statusStringImage ready state4.0.0
sizeLongImage size4.0.0
actualSizeLongImage actual capacity4.0.0
md5SumStringImage md5 value4.0.0
urlStringImage URL address4.0.0
mediaTypeStringImage type4.0.0
guestOsTypeStringGuest Operating System type corresponding to the Image4.0.0
typeStringInternal use field4.0.0
platformStringImage system platform4.0.0
formatStringImage format, for example: raw4.0.0
systemBooleanIndicates whether it is a system Image4.0.0
createDateTimestampCreation time0.6
lastOpDateTimestampLast modification time0.6
backupStorageRefsListSee backupStorageRefs0.6

backupStorageRefs

NameTypeDescriptionStarting Version
imageUuidStringImage UUID0.6
backupStorageUuidStringImage Storage UUID0.6
installPathStringInstallation path on the Image Storage4.0.0
exportUrlStringExport Image URL4.0.0
exportMd5SumStringExport Image md5 value4.0.0
statusStringImage ready state4.0.0
createDateTimestampCreation time0.6
lastOpDateTimestampLast modification time0.6

failures

NameTypeDescriptionStarting Version
backupStorageUuidStringImage Storage UUID0.6
errorErrorCodeSee error0.6

SDK Examples

Java SDK

CreateRootVolumeTemplateFromVolumeSnapshotAction action = new CreateRootVolumeTemplateFromVolumeSnapshotAction();
action.snapshotUuid = "f31fda67d1be32998cef3f3d9a280e1c";
action.name = "My Root Volume Template";
action.backupStorageUuids = asList("41a9753ebf8031ef83b41ebed095b783");
action.system = false;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateRootVolumeTemplateFromVolumeSnapshotAction.Result res = action.call();

Python SDK

CreateRootVolumeTemplateFromVolumeSnapshotAction action = CreateRootVolumeTemplateFromVolumeSnapshotAction()
action.snapshotUuid = "f31fda67d1be32998cef3f3d9a280e1c"
action.name = "My Root Volume Template"
action.backupStorageUuids = [41a9753ebf8031ef83b41ebed095b783]
action.system = false
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateRootVolumeTemplateFromVolumeSnapshotAction.Result res = action.call()