def modifyProtocolRoutes(self, **kwargs): """ Description Parameters protocol: startingAddress: endingAddress: Example: configNetworkGroup(deviceGroupObj2, name='networkGroup2', multiplier = 100, networkAddress = {'start': '180.1.0.0', 'step': '0.0.0.1', 'direction': 'increment'}, prefixLength = 24) """ response = self.ixnObj.get(self.ixnObj.sessionUrl+networkGroupPrefixPoolObj) print(response.json()) prefixPoolAddressMultivalue = response.json()['networkAddress'] print('modifyProtocolRoutes:', prefixPoolAddressMultivalue) #self.ixnObj.patch(self.ixnObj.httpHeader+/networkGroupObj, data=data) if 'networkGroupObj' not in kwargs: response = self.ixnObj.post(self.ixnObj.httpHeader+deviceGroupObj+'/networkGroup') networkGroupObj = response.json()['links'][0]['href'] if 'networkGroupObj' in kwargs: networkGroupObj = kwargs['networkGroupObj'] self.ixnObj.logInfo('configNetworkGroup: %s' % networkGroupObj) if 'name' in kwargs: self.ixnObj.patch(self.ixnObj.httpHeader+networkGroupObj, data={'name': kwargs['name']}) if 'multiplier' in kwargs: self.ixnObj.patch(self.ixnObj.httpHeader+networkGroupObj, data={'multiplier': kwargs['multiplier']}) if 'networkAddress' in kwargs: response = self.ixnObj.post(self.ixnObj.httpHeader+networkGroupObj+'/ipv4PrefixPools') prefixPoolObj = self.ixnObj.httpHeader + response.json()['links'][0]['href'] # prefixPoolId = /api/v1/sessions/1/ixnetwork/topology/1/deviceGroup/1/networkGroup/3/ipv4PrefixPools/1 ipv4PrefixResponse = self.ixnObj.get(prefixPoolObj) if 'networkAddress' in kwargs: multiValue = ipv4PrefixResponse.json()['networkAddress'] self.ixnObj.patch(self.ixnObj.httpHeader+multiValue+"/counter", data={'start': kwargs['networkAddress']['start'], 'step': kwargs['networkAddress']['step'], 'direction': kwargs['networkAddress']['direction']}) if 'prefixLength' in kwargs: multiValue = ipv4PrefixResponse.json()['prefixLength'] self.ixnObj.patch(self.ixnObj.httpHeader+multiValue+"/singleValue", data={'value': kwargs['prefixLength']}) return prefixPoolObj