Python client library for the CloudStack User API v3.0.0. For older versions, see the tags.
List all virtual machines
#!/usr/bin/python
import CloudStack
api = 'http://example.com:8080/client/api'
apikey = 'API KEY'
secret = 'API SECRET'
cloudstack = CloudStack.Client(api, apikey, secret)
vms = cloudstack.listVirtualMachines()
for vm in vms:
print "%s %s %s" % (vm['id'], vm['name'], vm['state'])
Asynchronous tasks
#!/usr/bin/python
import CloudStack
api = 'http://example.com:8080/client/api'
apikey = 'API KEY'
secret = 'API SECRET'
cloudstack = CloudStack.Client(api, apikey, secret)
job = cloudstack.deployVirtualMachine({
'serviceofferingid': '2',
'templateid': '214',
'zoneid': '2'
})
print "VM being deployed. Job id = %s" % job['jobid']
print "All Jobs:"
jobs = cloudstack.listAsyncJobs({})
for job in jobs:
print "%s : %s, status = %s" % (job['jobid'], job['cmd'], job['jobstatus'])
There is a lot to do to clean up the code and make it worthy of production. This was just a rough first pass.