Skip to content

Instantly share code, notes, and snippets.

@kclinden
Created January 31, 2019 15:36
Show Gist options
  • Save kclinden/9897235c59ed1b0102c7ed97f3958822 to your computer and use it in GitHub Desktop.
Save kclinden/9897235c59ed1b0102c7ed97f3958822 to your computer and use it in GitHub Desktop.
//Description: vRO Action to get the Create a virtual disk config spec
//Inputs: [Any] sizeInGb, [string] datastore, [number] controllerKey, [number] diskIndex, [VC:VirtualDiskMode] diskMode, [boolean] thinProvisioned, [string] sharingType, [number] diskKey
//Return Type: Any
// Create Disk BackingInfo
var diskBackingInfo = new VcVirtualDiskFlatVer2BackingInfo();
diskBackingInfo.diskMode = diskMode.value;
var datastorePath = "[" + datastore + "]";
diskBackingInfo.fileName = datastorePath;
diskBackingInfo.thinProvisioned = thinProvisioned;
diskBackingInfo.eagerlyScrub = true;
diskBackingInfo.sharing = sharingType;
System.debug(diskBackingInfo);
// Create VirtualDisk
var disk = new VcVirtualDisk();
disk.backing = diskBackingInfo;
disk.controllerKey = controllerKey;
disk.key = diskKey;
// Index 0 is not valid since Vi 4.0 (probably a bug)
disk.unitNumber = diskIndex;
disk.capacityInKB = parseInt( "" + (sizeInGB*1024*1024) );
// Create Device Config Spec
deviceConfigSpec = new VcVirtualDeviceConfigSpec();
deviceConfigSpec.device = disk;
deviceConfigSpec.fileOperation = VcVirtualDeviceConfigSpecFileOperation.create;
deviceConfigSpec.operation = VcVirtualDeviceConfigSpecOperation.add;
System.debug(deviceConfigSpec);
return deviceConfigSpec;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment