def ex_edit_node(self, **kwargs):
        """Change attributes of a node.

        :keyword    node: node to be edited (required)
        :type       node: :class:`GoGridNode`

        :keyword    size: new size of a node (required)
        :type       size: :class:`NodeSize`

        :keyword    ex_description: new description of a node
        :type       ex_description: ``str``

        :rtype: :class:`Node`
        """
        node = kwargs['node']
        size = kwargs['size']

        params = {'id': node.id,
                  'server.ram': size.id}

        if 'ex_description' in kwargs:
            params['description'] = kwargs['ex_description']

        object = self.connection.request('/api/grid/server/edit',
                                         params=params).object

        return self._to_node(object['list'][0])
dataset/ETHPy150Open apache/libcloud/libcloud/compute/drivers/gogrid.py/GoGridNodeDriver.ex_edit_node/original