<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_node(self, node_id, version, node_spec=None):
 """ Update the node's configuration Args: node_id (string):
 ID of the node to be updated. version (int):
 The version number of the node object being updated. This is required to avoid conflicting writes. node_spec (dict):
 Configuration settings to update. Any values not provided will be removed. Default: ``None`` Returns: `True` if the request went through. Raises: :py:class:`docker.errors.APIError` If the server returns an error. Example: 'Name': 'node-name', 'Role': 'manager', 'Labels': {'foo': 'bar'} } node_spec=node_spec) """

        url = self._url('/nodes/{0}/update?version={1}', node_id, str(version))
        res = self._post_json(url, data=node_spec)
        self._raise_for_status(res)
        return True