...
- Request
- type: type of upload request. Possible values are volume or template : required
- type = volume
- format: the format of the volume to be uploaded. Possible values include QCOW2, OVA and VHD : required
- name: the name of the volume : required
zoneid: the UUID of the zone the volume/template is associated to : required- account: an optional account name. Must be used with 'domainid' parameter below.
- checksum: the MD5 checksum of volume/template to be uploaded. If If specified this is used to validate the content of the uploaded volume/template for integrity.
- domainidaccount: an optional account name. Must be used with 'domainid' parameter below.
- domainid: an optional domain to which the account domain to which the account belongs. If the account parameter is used, 'domainid' must also be used.
- imagestoreuuidprojectid: the UUID of the storage pool where project if the uploaded volume gets stored. This can be obtained using listImageStores API call (https://cloudstack.apache.org/docs/api/apidocs-4.4/root_admin/listImageStores.html)
- projectid: the UUID of the project the volume needs to be associated with
volume/template needs to be associated with one- 'type' specified as volume
- format: the format of the volume to be uploaded. Possible values include QCOW2, OVA and VHD : required
- name: the name of the volume : required
- checksum: the MD5 checksum of volume to be uploaded. If specified this is used to validate the content of the uploaded volume for integrity.
- imagestoreuuid: the UUID of the storage pool where the uploaded volume gets stored. This can be obtained using listImageStores API call (https://cloudstack.apache.org/docs/api/apidocs-4.4/root_admin/listImageStores.html)
- 'type' specified as template
- displaytext: the display text of the template. This is used for display purposes. : required
- format: the format of the template to be uploaded. Possible values include QCOW2, RAW and VHD : required
- hypervisor: the target hypervisor for the template : required
- name: the name of the template. Mostly set based on some internal naming convention : required
- ostypeid: the UUID of the OS type that best represents the OS of this template : required
- bits: specifies if template supports 32 or 64 bit. Default is 64 bit.
- details: template details in key/value pairs
type = template- displaytext: the display text of the template. This is used for display purposes. : required
- format: the format of the template to be uploaded. Possible values include QCOW2, RAW and VHD : required
- hypervisor: the target hypervisor for the template : required
- name: the name of the template : required
- ostypeid: the UUID of the OS type that best represents the OS of this template : required
- zoneid: the UUID of the zone the template is associated to : required
- account: an optional account name. Must be used with 'domainid' parameter.
- bits: 32 or 64 bits support. Default is 64 bit.
- checksum: the MD5 checksum of template to be uploaded. If specified this is used to validate the content of the uploaded template for integrity.
- details: Template details in key/value pairs.
- domainid: an optional domainId. If the account parameter is used, domainId must also be used.
- isdynamicallyscalable: true if template contains XS/VMWare tools inorder in order to support dynamic scaling of VM cpu/memory
- isextractable: true if the template or its derivatives are extractable; default . Default is false
- isfeatured: true if this the template is a featured template, false otherwise
- ispublic: true if the template is available to all accounts; default users. Default is true.
- isrouting: true if the template type is routing i.e., if template is used to deploy router
- passwordenabled: true if the template supports the password reset feature; default . Default is falseprojectid: Register template for the project.
- requireshvm: true if this template requires HVM support
- sshkeyenabled: true if the template supports the sshkey upload feature; default . Default is false.
- templatetag: the tag for this template.
- Response
- uuid: Unique UUID to identify the template/volume. This is used to query the status of after successful completion of upload
- postURL: POST url to upload the file to. ; for e.g. "https://ssvmpublicip/upload/uuid". The URL has the uuid to query the status using listtemplate/volumes API subsequently
- payload: payload to be sent in the POST request
- expires: the timestamp after which the signature expires
- signature: signature is SHA1 key generated using PSK based on payload, expires and postURL 'postURL', 'payload' and 'expires' in the response.uuid: uuid of the template/volume. This can be used to query the status of itexpires: the time at which the signature expires
POST URL to post the data on to SSVM. This post url is returned from the getUploadParams api call Ex: https://ssvmpublicip/upload/uuid
...