예제 #1
0
  /**
   * Creates the virtual disk.
   *
   * @param volName the vol name
   * @param diskCtlrKey the disk ctlr key
   * @param datastoreRef the datastore ref
   * @param diskSizeMB the disk size in mb
   * @return the virtual device config spec object
   */
  VirtualDeviceConfigSpec createVirtualDisk(
      String volName, int diskCtlrKey, ManagedObjectReference datastoreRef, int diskSizeMB) {
    String volumeName = getVolumeName(volName);
    VirtualDeviceConfigSpec diskSpec = new VirtualDeviceConfigSpec();

    diskSpec.setFileOperation(VirtualDeviceConfigSpecFileOperation.CREATE);
    diskSpec.setOperation(VirtualDeviceConfigSpecOperation.ADD);

    VirtualDisk disk = new VirtualDisk();
    VirtualDiskFlatVer2BackingInfo diskfileBacking = new VirtualDiskFlatVer2BackingInfo();

    diskfileBacking.setFileName(volumeName);
    diskfileBacking.setDiskMode("persistent");

    disk.setKey(new Integer(0));
    disk.setControllerKey(new Integer(diskCtlrKey));
    disk.setUnitNumber(new Integer(0));
    disk.setBacking(diskfileBacking);
    disk.setCapacityInKB(1024);

    diskSpec.setDevice(disk);

    return diskSpec;
  }