Hi,
I inherited Java code that creates a VM using a specified Datastore. I'm trying to modify it to use a Datacluster (aka StoragePod) instead of a Datastore.
(Creating a VM with a Datacluster instead of a Datastore appears to be valid when I'm using the vSphere Client UI.)
The code is pretty complex, but the following is snippets that show what I'm doing now.
I tried simply changing the datastoreName to be the name of the Datacluster (aka Storage Pod) but that didn't work.
Can anyone point me in the right direction? Code sample or documentation or instructions for how this code should be modified would be greatly appreciated!
Thanks,
Rob
VirtualMachineConfigSpec configSpec = new VirtualMachineConfigSpec();
VirtualMachineFileInfo vmfi = new VirtualMachineFileInfo();
vmfi.setVmPathName(datastoreName);
configSpec.setFiles(vmfi);
VirtualDeviceConfigSpec diskSpec = new VirtualDeviceConfigSpec();
diskSpec.setFileOperation(VirtualDeviceConfigSpecFileOperation.CREATE);
diskSpec.setOperation(VirtualDeviceConfigSpecOperation.ADD);
VirtualDisk disk = new VirtualDisk();
disk.setKey(new Integer(0));
disk.setControllerKey(new Integer(diskCtlrKey));
disk.setUnitNumber(new Integer(0));
VirtualDiskFlatVer2BackingInfo diskfileBacking = new VirtualDiskFlatVer2BackingInfo();
diskfileBacking.setFileName(datastoreName);
diskfileBacking.setDiskMode("persistent");
disk.setBacking(diskfileBacking);
disk.setCapacityInKB(diskSizeKB);
diskSpec.setDevice(disk);
VirtualDeviceConfigSpec[] deviceConfigSpec = null;
deviceConfigSpec[0] = diskSpec;
configSpec.getDeviceChange().addAll( Arrays.asList( deviceConfigSpec ));
_vimPortType.createVMTask(mor_folder, virtualMachineConfigSpec, mor_resourcePool, mor_hostCluster);