...
A new API getUploadParams to enable users to upload volume/template from a local or network file share. The API response has a POST URL to which the volume/template needs to be uploaded. This is available to regular and admin users of Cloudstack. The request and response parameters are described below. Required parameters are marked with 'required', some . Some of the parameters are exclusive for admin user and are marked 'admin only'.
- Request
- type: type of upload request. Possible values are volume or template : required
- name: the name of the volume/template : required
- format: the format of the volume/template to be uploaded. Possible values for volume include QCOW2, OVA and VHD. Possible values for template include QCOW2, RAW and VHD : required
- zoneid: the UUID of the zone the volume/template is associated to : required
- checksum: the MD5 checksum of volume/template to be uploaded. If specified this is used to validate the content of the uploaded volume/template for integrity.
- account: an optional account name. Must be used with 'domainid' parameter below. Defaulted to account name of caller if not specified.
- domainid: an optional domain to which the account belongs. If the account parameter is used, 'domainid' must also be used. Defaulted to domain of the caller if not specified.
- projectid: the UUID of the project if the volume/template needs to be associated with one
- 'type' specified as volume
- 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)
- diskofferingid: the UUID of the disk offering. This must be a custom disk offering as the volume size is not known before the actual upload. If not specified the default custom disk offering is used.
- 'type' specified as template
- displaytext: the display text of the template. This is used for setting a suitable name for display purposes. : required
- hypervisor: the target hypervisor for the template : 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: additional template details in key/value pairs
- isdynamicallyscalable: true if template contains XS/VMWare tools in order to support dynamic scaling of VM cpu/memory
- isextractable: true if the template or its derivatives are extractable. Default is false
- isfeatured: true if the template is a featured template, false otherwise
- ispublic: true if the template is available to all users. Default is true. Regular users are allowed to create public templates based on global config 'allow.public.user.templates'
- isrouting: true if the template type is routing i.e. if template is used to deploy router : admin only
- passwordenabled: true if the template supports the password reset feature. Default is false.
- requireshvm: true if this template requires hardware assisted virtualization support
- sshkeyenabled: true if the template supports the sshkey upload feature. Default is false.
- templatetag: the tag for this template. Used to deploy VMs on hosts with this tag. : admin only
...