code: func MoveHostsOutOf(cluster *object.ClusterComputeResource, hosts []*object.HostSystem, timeout int) error {
  	for _, host := range hosts {
  		if err := moveHostOutOf(cluster, host, timeout); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // MoveHostsOutOf moves a supplied list of hosts out of the specified cluster.
  // The host is moved to the root host folder for the datacenter that the
  // cluster is in.
  //
  // The host is placed into maintenance mode with evacuate flagged on, ensuring
  // that as many VMs as possible are moved out of the host before removing it
  // from the cluster. The effectiveness of this operation is dictated by the
  // cluster's DRS settings, which also affects if this means that the task will
  // block and require manual intervention. The supplied timeout is passed to the
  // maintenance mode operations, and represents the timeout in seconds.
  //
  // Individual hosts are taken out of maintenance mode after its operation is
  // complete.