Source code for virlsdk.virlsdk
#!/usr/bin/env python3
'''
Bunch of functions to abstract the VIRL STD APIs
'''
import requests
[docs]class Virl(object):
def __init__(self, virl, username, password):
self.virl = virl
self.username = username
self.password = password
def _get(self, path):
self.session = requests.Session()
self.session.auth = (self.username, self.password)
self.auth = self.session.post(self.virl)
response = self.session.get(self.virl + path)
return(response)
def _post(self, path, payload):
self.session = requests.Session()
self.session.auth = (self.username, self.password)
self.auth = self.session.post(self.virl)
headers = {'X-Requested-With': 'Python requests', 'Content-type': \
'text/xml'}
#params = {'mgmt_network': 'Shared flat network', 'mgmt_lxc': 'True'}
response = self.session.post(url = self.virl + path, data = payload, \
headers = headers)
# response = self.session.post(url = self.virl + path, data = payload, \
# headers = headers, params = params)
return(response)
[docs] def getsims(self):
path = "/simengine/rest/list"
return(self._get(path))
[docs] def stopsim(self, simname):
path = "/simengine/rest/stop/" + simname
return(self._get(path))
[docs] def startsim(self, payload):
path = "/simengine/rest/launch"
return(self._post(path, payload))
[docs] def getstatus(self, simname):
path = "/simengine/rest/status/" + simname
return(self._get(path))
[docs] def getnode(self, simname):
path = "/simengine/rest/nodes/" + simname
return(self._get(path))
[docs] def getintf(self, simname):
path = "/simengine/rest/interfaces/" + simname
return(self._get(path))