I have written a solution to this in TypeScript for the Aria Build Tools
https://github.com/vmware/build-tools-for-vmware-aria
public VcStoragePodGetAll(): VcStoragePod[] {
let arrVcStoragePod: VcStoragePod[] = this.serverFindAllForType<VcStoragePod>("VC:StoragePod");
this.objLogger.info(`Found '${arrVcStoragePod.length}' VcStoragePod(s).`);
arrVcStoragePod.forEach((objVcStoragePod: VcStoragePod): void => {
let arrVcDatastore: VcDatastore[] = objVcStoragePod.childEntity as VcDatastore[];
let objVcStoragePodSummary:VcStoragePodSummary = objVcStoragePod.summary;
this.objLogger.info(`VcStoragePod Name = ${objVcStoragePod.name} has ${arrVcDatastore.length} datastores with a total capacity of ${objVcStoragePodSummary.capacity} and a free space of ${objVcStoragePodSummary.freeSpace}.`);
});
this.objLogger.info(`Returning '${arrVcStoragePod.length}' Combined VcStoragePod(s).`);
return arrVcStoragePod;
}