2 ms·
I love the vSphere API. It's solid, complete, well documented (also available in Dash). The only time it's failed to do what was asked is when it crashed becaus
by switch007 9y ago
I love the vSphere API. It's solid, complete, well documented (also available in Dash). The only time it's failed to do what was asked is when it crashed because I passed it a null instead of a value, or when there's something outside its control like a network issue. In case it's not obvious: for python there is the official pyVmomi project
- compsciphd 9y agoreally? At least when I looked at it a year ago, govmomi was terrible. Little documentation. Most return values being opaque objects that you have no idea what to do with (and if pass to another function that takes the opaque object, but not what its wrapping) it errors out. I only was able to manage to get things done via lots of trial and error and seeing examples others had written.
- antoncohen 9y agoWow, I've never heard anyone say anything nice about the API before. In my brief experience with using it via pyvmomi it was almost completely undocumented. Or maybe just documented at such a low level that it didn't help much. As someone else in this thread mentioned, the libraries are "string oriented" (for lack of a better term), but finding what string to enter is a pain. I'd have to make API call after API call, printing the objects each time, find the string I needed, do another API call to get the next string, and go on and on, like digging into a deeply nested data structure. Compared to AWS via boto, it's hard to imagine not hating the vSphere API, let alone loving it. But it is good that some people like it, these libraries must be hitting their target market to some extent.
- switch007 9y agoThere's a 250+ page PDF "Programming Guide" for the vSphere SDK, on top of almost every Object/Type/Fault/Method etc documented, and a built-in API/object browser. What more do you want? There are community samples for pyvmomi, multiple blogs explaining common use cases etc. But yes, sometimes it's quicker/easier to create thing in the UI and read back the values. Maybe my standards are low. EDIT: I also don't understand your "string oriented" comment. Do you mean the object IDs (MOIDs/morefs)? In pyvmomi you can do this: vm = vim.VirtualMachine("vm-1297") vm._stub = service_instance._stub You now have a VM object, not a string. vm.RebootGuest() etc (yes you need some helper methods to lookup things by name etc, but various things by name are not unique)