GeekAfterFive

Infrastructure as Code

vCloud API/GUI Throwdown!

01 Nov 2011

Laaaaaaadies and Gentlemen! Tonight's fight is between two heavyweights in vCloud Director, The GUI and the API!
Alright boys, nothing below the belt! Fight! Ding Ding Ding!
Round 1: Hot CloningGUI: Sorry, no hot cloning here. All grayed out, sorry.API: Heck yeah, I can hot-clone entire vApps! Bring it on!vCO exampleCopy or Move a vApp link in vCloud API: POST API‐URL/vdc/id/action/cloneVAppRound 2: Change VM networksGUI: Oh, I got this one. Here's how. Start by powering off...API: HA. Easy. I can even Add NICs while machines are running.Modify vApp Network Configuration in vCloud API: PUT API‐URL/vApp/vapp‐id/networkConfigSectionRound 3: Change disksGUI: I'm getting beat up pretty bad here...API: Bahahaa. Expand disks and hot add disks on the fly? Yes. I. Can.Modify Virtual Disk Items of the Virtual Machine in vCloud API: PUT API‐URL/vApp/vm‐id/virtualHardwareSection/disks/Bonus round: SnapshotsGUI: Ha. You're funny.API: Well, I uh...Can't. BUT, you can extend the vCloud API, which gives you the ability to write it in. I'd like to see you do that with the GUI!
The moral of the story is: Don't assume just because the GUI can't do it, that it's impossible!
Also, It's obviously much easier to consume the GUI than the API, but the upcoming PowerCLI snapin should even the playing field. More to come!
Update: Part 2 of the vCloud/GUI Throwdown! Plenty of PowerCLI 5.0.1 examples!
vCloud API page: http://communities.vmware.com/community/vmtn/developer/forums/vcloudapi