def getVportFromPortList(self, portList): """ Description Get a list of vports from the specified portList. Parameter portList: : Format: [[ixChassisIp, cardNumber1, portNumber1], [ixChassisIp, cardNumber1, portNumber2]] Return A list of vports. [] if vportList is empty. """ vportList = [] for eachPort in portList: chassisIp = eachPort[0] card = eachPort[1] portNum = eachPort[2] port = chassisIp+':'+card+':'+portNum # {'href': '/api/v1/sessions/1/ixnetwork/', # 'vport': [{'id': 2, 'href': '/api/v1/sessions/1/ixnetwork/vport/2', 'assignedTo': '10.10.10.8:1:2'}]} queryData = {"from": "/", "nodes": [{"node": "vport", "properties": ["assignedTo"], "where": [{"property": "assignedTo", "regex": port}] }]} queryResponse = self.ixnObj.query(data=queryData, silentMode=False) vport = queryResponse.json()['result'][0]['vport'] if vport == []: raise IxNetRestApiException('getVportFromPortList error: The port has no vport and not assigned. Check for port typo: {0}'.format(port)) if vport: # Appending vportList: ['/api/v1/sessions/1/ixnetwork/vport/1', '/api/v1/sessions/1/ixnetwork/vport/2'] vportList.append(vport[0]['href']) return vportList