code: func resourceVSphereComputeClusterValidateEmptyCluster(
  	d structure.ResourceIDStringer,
  	cluster *object.ClusterComputeResource,
  ) error {
  	log.Printf("[DEBUG] %s: Checking to ensure that cluster is empty", resourceVSphereComputeClusterIDString(d))
  	ne, err := clustercomputeresource.HasChildren(cluster)
  	if err != nil {
  		return fmt.Errorf("error checking for cluster contents: %s", err)
  	}
  	if ne {
  		return fmt.Errorf(
  			"cluster %q still has hosts or virtual machines. Please move or remove all items before deleting",
  			cluster.InventoryPath,
  		)
  	}
  	return nil
  }
docs: // resourceVSphereComputeClusterValidateEmptyCluster validates that the cluster
  // is empty. This is used to ensure a safe deletion of the cluster - we do not
  // allow deletion of clusters that still virtual machines or hosts in them.