Example #1
0
    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
Example #2
0
    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
Example #3
0
    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)
Example #4
0
    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)