In vSphere 4.1, several properties and types have been deprecated. The following table from vSphere Web Services SDK 4.1 release note lists each deprecated API element and its replacement.
| Name of deprecated type, method, or property |
As of vSphere API 4.1, use instead… |
| Methods |
PropertyCollector.CheckForUpdates |
PropertyCollector.WaitForUpdatesEx |
PropertyCollector.RetrieveProperties |
PropertyCollector.RetrievePropertiesEx |
PropertyCollector.WaitForUpdates |
PropertyCollector.WaitForUpdatesEx |
VirtualMachine.AcquireMksTicket |
VirtualMachine.AcquireTicket |
| Data Objects |
VirtualMachineMksTicket |
VirtualMachineTicket |
| Data Object Properties |
ClusterVmToolsMonitoringSettings.enabled |
ClusterVmToolsMonitoringSettings.vmMonitoring |
HostCapability.replayUnsupportedReason |
HostCapability.replayCompatibilityIssues |
VirtualDisk.shares |
StorageIOAllocationInfo.shares |
VirtualMachineRuntimeInfo.memoryOverhead |
PerformanceManager memory overhead counter |
Note that the release note has much more information that you should really read through if you use vSphere 4.1 API.
Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to RSS or Email, and follow on Twitter.
The following tables list all the managed object types in VI 3.5, vSphere 4 and 4.1. A short description is provided for each type explaining its major responsibilities.
Note that the managed object types are added in an incremental way. The types in older versions are still supported in newer versions. The complete types in a verion include ones in the correpsonding table plus all the ones in all older version tables.
Hope this post gives you a high level overview of functionalities of the vSphere APIs. Check out other blogs such as best practices (1-5, 6-10) on how to use them in general. And don’t forget my book which introduces them extensively with many read to use samples.
Table 1 Managed Object Types in VI 3.5 Read more »
Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to RSS or Email, and follow on Twitter.
VMware announced GA of vSphere 4.1 product this Tuesday. Here is the official what’s new in vSphere 4.1. Many bloggers already covered different aspects of the product itself: VMware vSphere 4.1: Advancing the Platform for Cloud Computing, Useful vSphere 4.1 knowledgebase articles, vSphere 4.1 released, Release: VMware vSphere 4.1, etc. I don’t repeat these here, but focus on the new APIs in 4.1 release.
In general, the APIs are the programatic “view” of features. Understanding the features helps a lot on understanding the APIs. So I strongly encourage you to read new features of the product itself. Note that not all the new features especially the performance and scalability features are explicitly reflected in API signatures.
vSphere API 4.1 introduces 7 new managed object types:
vSphere 4.1 adds 23 new methods to 10 existing managed object types: Read more »
Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to RSS or Email, and follow on Twitter.
I got a request a while back for extending the vSphere Java API. The idea is that the API itself is pretty basic and not high level enough for some applications. For example, if you want to add a virtual NIC to a virtual machine, there is no explicit method for doing this. Fair enough.
Now, how to achieve this?
Three possible approaches
- Change the structure of the API. For every managed object type, we have two types: one with implementation, and the other inheriting the first one but really empty. The user can replace the first second one with extra methods as extensions. This approach is smart, but will cause confusion in the future. For instance, we will have many different implementations for the sample types.
- Use composition. You can create a new type that contains an instance of a managed object. How to expose the methods of the managed object? You can either manually add them to the containing type, or expose the instance of the managed object so that others can call its methods.
- Use inheritance. You can create a new type that inherits a managed object type. Once you get an instance of a normal managed object, you can pass into the constructor of extended managed object type. You can use the extended type anywhere a normal type is expected. Let’s pick VirtualMachine as an example, Read more »
Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to RSS or Email, and follow on Twitter.
As system administrators, you may have used the feature that sends a message to all users. It’s very helpful when you want to change something that might affect others, or ask for particular attention from new users who log in later.
It’s simply 3 steps as described vSphere Client Help:
- From the Home page of the vSphere Client, click Sessions.
- Type the message in the Message of the day box.
- Click Change.
The message is sent to all the currently login users, and until the message is changed, any new users see the message upon logining to the vCenter.
Now, how to do with the API? Read more »
Author: Steve Jin is the author of VMware VI and vSphere SDK (Prentice Hall), creator of VMware vSphere Java API. For future articles, please subscribe to RSS or Email, and follow on Twitter.