Hi, You can either use the API directly (look at extractVolume) or through Cloudmonkey. This is how I would use Cloudmonkey to retrieve a volume:
"extract volume id=fe81e6ff-a08f-4601-b2b3-2e02ce2b6588 zoneid=19345de0-b40b-4cfa-83b6-6d821367afa8 mode=HTTP_DOWNLOAD" which will return: accountid = 2c4c9cd2-ab73-11e3-b654-9660573836d5 cmd = org.apache.cloudstack.api.command.user.volume.ExtractVolumeCmd created = 2014-06-13T11:24:24+0100 jobid = 69e6bf53-ab95-44ab-8efc-2f436dba9ecc jobprocstatus = 0 jobresult: volume: name = ROOT-7 id = fe81e6ff-a08f-4601-b2b3-2e02ce2b6588 accountid = 2c4c9cd2-ab73-11e3-b654-9660573836d5 extractMode = HTTP_DOWNLOAD state = DOWNLOAD_URL_CREATED url = https://1-2-3-4.realhostip.com/userdata/32050352-899f-4f56-8e38-018110f8e973.qcow2 zoneid = 19345de0-b40b-4cfa-83b6-6d821367afa8 zonename = advsg jobresultcode = 0 jobresulttype = object jobstatus = 1 userid = 2c4cc626-ab73-11e3-b654-9660573836d5 It's the URL field that you are interested in, you can retrieve that freely. I do not know if there is an expiry time for it, there might be. You can extract templates, snapshots of the volumes of stopped VMs. HTH Lucian -- Sent from the Delta quadrant using Borg technology! Nux! www.nux.ro ----- Original Message ----- From: "chris" <cdca...@gmail.com> To: users@cloudstack.apache.org Sent: Friday, 13 June, 2014 12:19:47 AM Subject: Possible to upload/download a VM? I'm trying to figure out a way to programmatically upload and download VM images, and I haven't yet found anything in the docs or playing around in the UI that jumps out at me. To download from OpenStack, the story I would follow is 1) Snapshot a VM. This would create an image (or set of images) that I could easily download from glance (the image storage service) 2) Download the resulting image(s). Uploading is just as straightforward: 1) Upload to glance 2) Create an instance. I can see from what I've looked at so far that CloudStack does things a bit differently. Is there a path to what I want to accomplish? Templates & Volumes don't look to have quite what I want, but I could be wrong. Looking at the UI, I couldn't even figure out how to upload local files, only files being served up via HTTP or FTP. I'm currently using the .NET SDK and CloudStack 4.2.1. I've got to say, as SDKs go, this one has been pretty great to work with. I'm just stumped by this task. Thanks, Chris