func resourceVSphereDatastoreClusterVMAntiAffinityRuleObjects(
	d *schema.ResourceData,
	meta interface{},
) (*object.StoragePod, int32, error) {
	if d.Id() != "" {
		return resourceVSphereDatastoreClusterVMAntiAffinityRuleObjectsFromID(d, meta)
	}
	return resourceVSphereDatastoreClusterVMAntiAffinityRuleObjectsFromAttributes(d, meta)
}
func resourceVSphereDatastoreClusterVMAntiAffinityRuleObjects(
	d *schema.ResourceData,
	meta interface{},
) (*object.StoragePod, int32, error) {
	if d.Id() != "" {
		return resourceVSphereDatastoreClusterVMAntiAffinityRuleObjectsFromID(d, meta)
	}
	return resourceVSphereDatastoreClusterVMAntiAffinityRuleObjectsFromAttributes(d, meta)
}
// resourceVSphereDatastoreClusterVMAntiAffinityRuleObjects handles the
// fetching of the cluster and rule key depending on what attributes are
// available:
// * If the resource ID is available, the data is derived from the ID.
// * If not, only the cluster is retrieved from datastore_cluster_id. -1 is
// returned for the key.