Virtual Infrastructure Service Instance APIs
The ServiceInstance managed object is the singleton root object of the inventory on both vCenter servers and servers running on standalone host agents.
The server creates the ServiceInstance automatically, and also automatically creates the various manager entities that provide services in the virtual environment. Some examples of manager entities are LicenseManager, PerformanceManager, and ViewManager. You can access the manager entities through the content property.
A vSphere API client application begins by connecting to a server and obtaining a reference to the ServiceInstance. The client can then use the RetrieveServiceContent method to gain access to the various vSphere manager entities and to the root folder of the inventory.
When you create managed objects, the server adds them to the inventory. The inventory of managed objects includes instances the following object types:
- ServiceInstance -- Root of the inventory; created by vSphere.
- Datacenter -- A container that represents a virtual data center. It contains hosts, network entities, virtual machines and virtual applications, and datastores.
- Folder -- A container used for hierarchical organization of the inventory.
- VirtualMachine -- A virtual machine.
- VirtualApp -- A virtual application.
- ComputeResource -- A compute resource (either a cluster or a stand-alone host).
- ResourcePool -- A subset of resources provided by a ComputeResource.
- HostSystem -- A single host (ESX Server or VMware Server).
- Network -- A network available to either hosts or virtual machines.
- DistributedVirtualSwitch -- A distributed virtual switch.
- DistributedVirtualPortgroup -- A distributed virtual port group.
- Datastore -- Platform-independent, host-independent storage for virtual machine files.
The following figure shows the organization of managed objects in the vCenter hierarchy:
Every Datacenter has the following set of dedicated folders. These folders are empty until you create entities for the Datacenter.
- A folder for any combination of VirtualMachine and/or VirtualApp objects. VirtualApp objects can be nested, but only the parent VirtualApp can be visible in the folder. Virtual machines that are children of virtual applications are not associated with a VirtualMachine/VirtualApp folder.
- A folder for a ComputeResource hierarchy.
- A folder for network entities - any combination of Network, DistributedVirtualSwitch, and/or DistributedVirtualPortgroup objects.
- A folder for Datastore objects.
The host agent hierarchy has the same general form as the vCenter hierarchy, but most of the objects are limited to one instance: