'Update the swarm\'s configuration.
It takes the same arguments as :py:meth:`init`, except
``advertise_addr``, ``listen_addr``, and ``force_new_cluster``. In
addition, it takes these arguments:
Args:
rotate_worker_token (bool): Rotate the worker join token. Default:
``False``.
rotate_manager_token (bool): Rotate the manager join token.
Default: ``False``.
Raises:
:py:class:`docker.errors.APIError`
If the server returns an error.'

def update(self, rotate_worker_token=False, rotate_manager_token=False, **kwargs):

    if (kwargs.get('node_cert_expiry') is None):
        kwargs['node_cert_expiry'] = 7776000000000000
    return self.client.api.update_swarm(version=self.version, swarm_spec=SwarmSpec(**kwargs), rotate_worker_token=rotate_worker_token, rotate_manager_token=rotate_manager_token)
