Create an instance of VssManager
passing your ITS Private Cloud API access token and your are all set to start calling any of the self-descriptive methods included:
from pyvss.manager import VssManager vss = VssManager(tk='api_token') # list vms vms = vss.get_vms() # list folders folders = vss.get_folders(name='dev') # networks networks = vss.get_networks(name='PUBLIC') # domains domains = vss.get_domains() # power cycle vm vss.power_cycle_vm(vm_id='<uuid-or-moref>') # vss-service service = vss.get_vss_services(filter='name,like,%Shibboleth%') # create vm with vss-service req = vss.create_vm( os='ubuntu64Guest', built='os_install', description='Testing python wrapper', folder='group-v9270', bill_dept='EIS', disks=[8, 50], vss_service=service[0].get('id'), networks=[networks[0].get('moref')] ) ids = vss.wait_for_request(req['_links']['request'], 'vm_moref', 'PROCESSED') # creating multiple vms reqs = vss.create_vms( count=3, name='python', os='ubuntu64Guest', bill_dept='EIS', description='Testing multiple deployment from python wrapper', folder='group-v6736', built='os_install', networks=[networks[0].get('moref')] ) ids = [vss.wait_for_request(r['_links']['request'], 'vm_moref', 'PROCESSED') for r in reqs] # power on recently created vms for vm_id in ids: vss.power_on_vm(vm_id) # create snapshot req = vss.create_vm_snapshot( vm_id='5012abcb-a9f3-e112-c1ea-de2fa9dab90a', desc='Snapshot description', date_time='2016-08-04 15:30', valid=1 ) snap_id = vss.wait_for_request(req['_links']['request'], 'snap_id', 'PROCESSED') # revert to snapshot req = vss.revert_vm_snapshot(vm_id, snap_id)
An alternative is to generate a token from within the VssManager
class and this can be done by setting the following environment variables
export VSS_API_USER='username' export VSS_API_USER_PASS='username_password'
Then, from the VssManager
call the get_token
method as follows:
from pyvss.manager import VssManager vss = VssManager() vss.get_token()