def createVports(self, portList=None, rawTrafficVportStyle=False): """ Description This API creates virtual ports based on a portList. Next step is to call assignPort. Parameters portList: : Pass in a list of ports in the format of ixChassisIp, slotNumber, portNumber portList = [[ixChassisIp, '1', '1'], [ixChassisIp, '2', '1']] rawTrafficVportStyle: : For raw Traffic Item src/dest endpoints, vports must be in format: /api/v1/sessions1/vport/{id}/protocols Return A list of vports """ createdVportList = [] for index in range(0, len(portList)): self.ixnObj.logInfo('Creating a new virtual port') response = self.ixnObj.post(self.ixnObj.sessionUrl+'/vport') vportObj = response.json()['links'][0]['href'] if rawTrafficVportStyle: createdVportList.append(vportObj+'/protocols') else: createdVportList.append(vportObj) if portList != None: response = self.ixnObj.get(self.ixnObj.httpHeader+vportObj) card = portList[index][1] port = portList[index][2] portNumber = str(card)+'/'+str(port) self.ixnObj.logInfo('\tName: %s' % portNumber) response = self.ixnObj.patch(self.ixnObj.httpHeader+vportObj, data={'name': portNumber}) if createdVportList == []: raise IxNetRestApiException('No vports created') self.ixnObj.logInfo('createVports: %s' % createdVportList) return createdVportList