code: def update(self, rotate_worker_token=False, rotate_manager_token=False,
                 **kwargs):
          
          # this seems to have to be set
          if kwargs.get('node_cert_expiry') is None:
              kwargs['node_cert_expiry'] = 7776000000000000
  
          return self.client.api.update_swarm(
              version=self.version,
              swarm_spec=self.client.api.create_swarm_spec(**kwargs),
              rotate_worker_token=rotate_worker_token,
              rotate_manager_token=rotate_manager_token
          )
docs: 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.