code: def alter(self, operation, timeout=None, metadata=None, credentials=None):
          
          new_metadata = self.add_login_metadata(metadata)
  
          try:
              return self.any_client().alter(operation, timeout=timeout,
                                             metadata=new_metadata,
                                             credentials=credentials)
          except Exception as error:
              if util.is_jwt_expired(error):
                  self.retry_login()
                  new_metadata = self.add_login_metadata(metadata)
                  return self.any_client().alter(operation, timeout=timeout,
                                                 metadata=new_metadata,
                                                 credentials=credentials)
              else:
                  raise error
docs: Runs a modification via this client.