Below is a python script that will allow you to accomplish what you desire.
`#this package is for common API task import urllib from xml.dom import minidom
class UrlBuilder: def init(self,domain, path, params): self.domain = domain self.path = path self.params = params
def withPath(self,path): self.path = path return self
def withParams(self,params): self.params = params return self
def str(self): return ‘https://’ + self.domain + self.path + self.params # or return urlparse.urlunparse( ( “http”, self.domain, self.path, self.params, “”, “” )
def build(self): return self.str()
class auth: @classmethod def sessionID(cls, host, username, password): services_path = “/services/rest/V2/” builder_auth_params = ‘’ sid_url = UrlBuilder(host, services_path, builder_auth_params) method = ‘authenticate’ authparams = urllib.urlencode({ ‘method’: method, ‘username’: username, ‘password’: password }) sessionID = minidom.parse(urllib.urlopen(sid_url.str(), authparams)).getElementsByTagName(‘session_id’)[0].childNodes[0].nodeValue return sessionID
@classmethod def sessionClose(cls, host, sid): method = “method=session.close” response = req.get(host, method, sid) return response
class path: @classmethod def v2(cls): return “/services/rest/V2/” @classmethod def sessionID(cls): return “?session_id=”
class req: @classmethod def get(cls,host, method, sid): url = UrlBuilder(host, path.v2(), path.sessionID() + sid + “&” + method.str() + “&format=json”) data = urllib.urlopen(url.str()).read() return data @classmethod def post(cls, host, method, sid, config): #print host, method, sid, config #exit() url = UrlBuilder(host, path.v2(), path.sessionID() + sid + “&” + method.str() + “&format=json”) #body = urllib.urlencode(config) #print body data = urllib.urlopen(url.str(),config).read() return data
class partition: @classmethod def active(cls, host, sid, name): data = req.get(host, ‘method=system.partition.active&name=’+name, sid) return data
username = “admin” password = “a10” host = “172.21.21.254” ‘’’ Separate request by \n
‘’’ config = “show vrrp-a \n sh int br \n show session” sid = auth.sessionID(host, username, password) vrrpStatus = req.post(host, ‘method=cli.show_info’, sid, config)
print vrrpStatus`
Output: show vrrp-a vrid default Unit State Weight Priority 1 (Local) Active 65534 150 vrid that is running: default