'Update the node, the name, CPU or RAM
:param      node: Node which should be used
:type       node: :class:`Node`
:param      name: The new name (optional)
:type       name: ``str``
:param      description: The new description (optional)
:type       description: ``str``
:param      cpu_count: The new CPU count (optional)
:type       cpu_count: ``int``
:param      ram_mb: The new Memory in MB (optional)
:type       ram_mb: ``int``
:rtype: ``bool``'

def ex_update_node(self, node, name=None, description=None, cpu_count=None, ram_mb=None):

    data = {}
    if (name is not None):
        data['name'] = name
    if (description is not None):
        data['description'] = description
    if (cpu_count is not None):
        data['cpuCount'] = str(cpu_count)
    if (ram_mb is not None):
        data['memory'] = str(ram_mb)
    body = self.connection.request_with_orgId_api_1(('server/%s' % node.id), method='POST', data=urlencode(data, True)).object
    response_code = findtext(body, 'result', GENERAL_NS)
    return (response_code in ['IN_PROGRESS', 'SUCCESS'])
