def connectVportTo(self, portList): """ Description This function assumes that a list of virtual ports are created. Connect the portList to the next vport that is not connected to any physical port. portList: : A list of ports in a list: [[ixChassisIp, card, port]] """ self.createVports(portList) vportObjectList = self.ixnObj.get(self.ixnObj.sessionUrl+'/vport') portListIndex = 0 for vportObj in vportObjectList.json(): print('\n', vportObj) connectedTo = vportObj['connectedTo'] vportHref = vportObj['links'][0]['href'] if connectedTo == 'null': # RW: 'connectedTo': '/api/v1/sessions/1/ixnetwork/availableHardware/chassis/1/card/1/port/1' # ReadOnly: 'assignedTo': '192.168.70.11:1:1' chassisIp = portList[portListIndex][0] cardNumber = portList[portListIndex][1] portNumber = portList[portListIndex][2] chassisId = self.getChassisId(chassisIp) self.ixnObj.patch(self.ixnObj.sessionUrl+'/availableHardware/chassis/'+str(chassisId)+'/card/'+str(cardNumber)+'/port/'+str(portNumber)) data = '/api/v1/sessions/{0}/ixnetwork/availableHardware/chassis/{1}/card/{2}/port/{3}'.format( self.ixnObj.sessionIdNumber, chassisId, cardNumber, portNumber) self.ixnObj.patch(self.ixnObj.httpHeader+vportHref, data={'connectedTo': data}) if portListIndex < len(portList): portListIndex += 1 continue else: break