func resourceVSphereDPMHostOverrideObjects(
	d *schema.ResourceData,
	meta interface{},
) (*object.ClusterComputeResource, *object.HostSystem, error) {
	if d.Id() != "" {
		return resourceVSphereDPMHostOverrideObjectsFromID(d, meta)
	}
	return resourceVSphereDPMHostOverrideObjectsFromAttributes(d, meta)
}
func resourceVSphereDPMHostOverrideObjects(
	d *schema.ResourceData,
	meta interface{},
) (*object.ClusterComputeResource, *object.HostSystem, error) {
	if d.Id() != "" {
		return resourceVSphereDPMHostOverrideObjectsFromID(d, meta)
	}
	return resourceVSphereDPMHostOverrideObjectsFromAttributes(d, meta)
}
// resourceVSphereDPMHostOverrideObjects handles the fetching of the cluster
// and host 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 host_system_id
// attributes.