func resourceVSphereComputeClusterHostGroupObjects(
	d *schema.ResourceData,
	meta interface{},
) (*object.ClusterComputeResource, string, error) {
	if d.Id() != "" {
		return resourceVSphereComputeClusterHostGroupObjectsFromID(d, meta)
	}
	return resourceVSphereComputeClusterHostGroupObjectsFromAttributes(d, meta)
}
func resourceVSphereComputeClusterHostGroupObjects(
	d *schema.ResourceData,
	meta interface{},
) (*object.ClusterComputeResource, string, error) {
	if d.Id() != "" {
		return resourceVSphereComputeClusterHostGroupObjectsFromID(d, meta)
	}
	return resourceVSphereComputeClusterHostGroupObjectsFromAttributes(d, meta)
}
// resourceVSphereComputeClusterHostGroupObjects handles the fetching of the
// cluster and group name depending on what attributes are available:
// * If the resource ID is available, the data is derived from the ID.
// * If not, it's derived from the compute_cluster_id and name attributes.