def METHOD_NAME(
    vms: List[virtual_machine.BaseVirtualMachine]) -> List[sample.Sample]:
  """Creates Samples for the suspend time of a list of vms.
  The suspend time is the duration form when the VM is suspended to when the VM
  is no longer responsive to SSH commands.
  Args:
    vms: A list of Virtual Machines(GCE) (already booted/running)
  Returns:
    List of samples containing the suspend times and cluster suspend time.
  """
  if not vms:
    return []
  before_suspend_timestamp = time.time()
  # call suspend function on the list of vms.
  suspend_durations = background_tasks.RunThreaded(lambda vm: vm.Suspend(), vms)
  # get cluster_suspend_time(duration)
  cluster_suspend_time = time.time() - before_suspend_timestamp
  # get samples for the cluster of vms
  return _GetVmOperationDataSamples(suspend_durations, cluster_suspend_time,
                                    'Suspend', vms)