vsphere/resource_vsphere_datastore_cluster.go
func resourceVSphereDatastoreClusterGetPodFromPath(meta interface{}, path string, dcID string) (*object.StoragePod, error) {
	client := meta.(*VSphereClient).vimClient
	var dc *object.Datacenter
	if dcID != "" {
		var err error
		dc, err = datacenterFromID(client, dcID)
		if err != nil {
			return nil, fmt.Errorf("cannot locate datacenter: %s", err)
		}
		log.Printf("[DEBUG] Looking for datastore cluster %q in datacenter %q", path, dc.InventoryPath)
	} else {
		log.Printf("[DEBUG] Fetching datastore cluster at path %q", path)
	}
	if err := viapi.ValidateVirtualCenter(client); err != nil {
		return nil, err
	}

	return storagepod.FromPath(client, path, dc)
}
func resourceVSphereDatastoreClusterGetPodFromPath(meta interface{}, path string, dcID string) (*object.StoragePod, error) {
	client := meta.(*VSphereClient).vimClient
	var dc *object.Datacenter
	if dcID != "" {
		var err error
		dc, err = datacenterFromID(client, dcID)
		if err != nil {
			return nil, fmt.Errorf("cannot locate datacenter: %s", err)
		}
		log.Printf("[DEBUG] Looking for datastore cluster %q in datacenter %q", path, dc.InventoryPath)
	} else {
		log.Printf("[DEBUG] Fetching datastore cluster at path %q", path)
	}
	if err := viapi.ValidateVirtualCenter(client); err != nil {
		return nil, err
	}

	return storagepod.FromPath(client, path, dc)
}
// resourceVSphereDatastoreClusterGetPodFromPath gets the StoragePod from a
// supplied path. If no datacenter is supplied, the path must be a full path.