def getFromDict(cls, _dict): """ Get nic from _dict. """ nic = super(Nic, cls).getFromDict(_dict) networkDict = _dict.get(Network.ROOT_TAG) if networkDict: nic.setNetwork(Network.getFromDict(networkDict)) networkDeviceDict = _dict.get(NetworkDevice.ROOT_TAG) if networkDeviceDict: nic.setNetworkDevice(NetworkDevice.getFromDict(networkDeviceDict)) return nic
def getFromDict(cls, _dict, ignore: Optional[Iterable[str]] = None): """ Get nic from _dict. """ nic = super(Nic, cls).getFromDict(_dict) networkDict = _dict.get(Network.ROOT_TAG) if networkDict: nic.setNetwork(Network.getFromDict(networkDict)) networkDeviceDict = _dict.get(NetworkDevice.ROOT_TAG) if networkDeviceDict: nic.setNetworkDevice(NetworkDevice.getFromDict(networkDeviceDict)) return nic
def getNetworkById(self, id_): """ Get network information by id. Returns: network Throws: UserNotAuthorized NetworkNotFound TortugaException """ url = 'v1/networks/%s' % (id_) try: _, responseDict = self.sendSessionRequest(url) return Network.getFromDict(responseDict.get(Network.ROOT_TAG)) except TortugaException: raise except Exception as ex: raise TortugaException(exception=ex)
def addNetwork(self, address, netmask): ''' Handle put to networks/:(address)/:(netmask)/) ''' response = None postdata = cherrypy.request.json network = Network.getFromDict(postdata) try: # Make sure the values are synced network.setAddress(address) network.setNetmask(netmask) self.app.network_api.addNetwork(cherrypy.request.db, network) except Exception as ex: self._logger.error(str(ex)) self.handleException(ex) response = self.errorResponse(str(ex)) return self.formatResponse(response)