3.2. Object Model Overview
This section gives a high-level overview of the object model of the API.
A more detailed description of the parameters and methods of each class outlined here can be found in the XenEnterprise Management API document.
Python, C and C# sample programs that demonstrate how the API can be used practice to accomplish a variety of tasks are available in the SDKVM and described in the following Chapter.
We start by giving a brief outline of some of the core classes that make up the API. (Don't worry if these definitions seem somewhat abstract in their initial presentation; the textual description in subsequent sections, and the code-sample walk through in the next Chapter will help make these concepts concrete.)
At this point, readers who are finding this enumeration of classes rather terse may wish to skip to the code walk-throughs of the next chapter: there are plenty of useful applications that can be written using only a subset of the classes already described! For those who wish to continue this description of classes in the abstract, read on.
On top of the classes listed above, there are 4 more that act as connectors, specifying relationships between VMs and Hosts, and Storage and Networks. The first 2 of these classes that we will consider, VBD and VIF, determine how VMs are attached to virtual disks and network objects respectively:
The second set of "connector classes" that we will consider determine how Hosts are attached to Networks and Storage.
Figure 3.1, “Graphical overview of API classes for managing VMs, Hosts, Storage and Networking” presents a graphical overview of the API classes involved in managing
VMs, Hosts, Storage and Networking. From this diagram, the symmetry between storage and network configuration, and also
the symmetry between virtual machine and host configuration is plain to see.