Home > vSphere API > Features Not Exposed in vSphere Client but vSphere APIs

Features Not Exposed in vSphere Client but vSphere APIs

If you think vSphere Client exposes everything, you are wrong. The vSphere APIs actually expose more features than the vSphere Client, which is a great product. This is one reason why system administrators should learn vSphere APIs.

While writing my book, for example, I noticed that vSphere APIs actually allow you to change guest OS screen size with a simple call setScreenResolution(int width, int height).

Time to learn how to "Google" and manage your VMware and clouds in a fast and secure


Given the time pressure, I didn’t summarize these API only features at that time. To be honest, even if I tried, there would be a big chance that I had missed quite some due to the size of vSphere APIs.

Days ago when reading the vSphere Web Service SDK Programming Guide, I found yet another good sample. On the page 116, it says:

Linked children gives better flexibility. In particular, you can create virtual applications that span clusters. The vSphere Client does not support adding or removing links, though it does show links.

To give you a little context, the linked children of a virtual application are like the linked files in Linux or shortcut files in Windows. You can use updateLinkedChildren() to change them.

I think you may also know more such features that are exposed only via APIs. Please feel free to add them in the comments.

  1. April 6th, 2011 at 06:59 | #1

    I used the HostNicFailureCriteria sample in several sessions. You can trigger NIC failovers on many criteria that are not available in the vSphere Client afaik.

  2. April 6th, 2011 at 10:49 | #2

    Thanks LucD, This is a good example of partial vs. full exposure of features.

  3. April 10th, 2011 at 13:04 | #3

    To name a few:
    1) Custom fields for folders, networks and other objects
    2) Ability to take screenshot of VM console
    3) Timezone of ESX server

  4. April 11th, 2011 at 22:40 | #4

    Thanks Michael!

  5. Tejaswi
    January 7th, 2013 at 01:15 | #5

    hey!!,i m trying to execute sample programs of vijava, but the programs containing commandline parsers are not working,
    for eg getVirtualDiskFile program is not running,its showing me

    “Exception in thread “main” java.lang.IllegalArgumentException: Exception running : java.lang.IllegalArgumentException: usage
    at com.vmware.vim25.mo.util.CommandLineParser.parseInput(CommandLineParser.java:118)
    at com.vmware.vim25.mo.util.CommandLineParser.(CommandLineParser.java:53)
    at com.vmware.vim25.mo.samples.GetVirtualDiskFiles.main(GetVirtualDiskFiles.java:28)

  6. Tejaswi
    January 7th, 2013 at 01:21 | #6

    although its showing error at ‘task.waitForMe();’ why this is so?? i have vsphere client 5.0..

  7. January 7th, 2013 at 18:42 | #7

    Hi Tejaswi,
    The commandline parser is not really a key part of the APIs but for samples illustrating the usage of the APIs. Please remove it and fill in with real values in the sample code.

  8. Tejaswi
    January 8th, 2013 at 03:27 | #8

    ok,thanx…. :)

  9. amogh
    January 11th, 2013 at 02:05 | #9

    how to get vCenter name? uuid via vijava?

  10. amogh
    January 11th, 2013 at 05:33 | #10

    i want to retrieve vcenter uuid, name through vijava… plz help me..:(
    what is the code for it?

  1. No trackbacks yet.