Develop for XenServer

Relationships Between Classes

Fields that are bound together are shown in the following table:

object.field object.field relationship
VM.snapshot_of VM.snapshots one-to-many
VDI.snapshot_of VDI.snapshots one-to-many
VM.parent VM.children one-to-many
task.subtask_of task.subtasks one-to-many
PIF.bond_slave_of Bond.slaves one-to-many
Bond.master PIF.bond_master_of one-to-many
VLAN.tagged_PIF PIF.VLAN_slave_of one-to-many
tunnel.access_PIF PIF.tunnel_access_PIF_of one-to-many
tunnel.transport_PIF PIF.tunnel_transport_PIF_of one-to-many
PBD.host host.PBDs one-to-many
PBD.SR SR.PBDs one-to-many
VBD.VDI VDI.VBDs one-to-many
crashdump.VDI VDI.crash_dumps one-to-many
VBD.VM VM.VBDs one-to-many
crashdump.VM VM.crash_dumps one-to-many
VIF.VM VM.VIFs one-to-many
VIF.network network.VIFs one-to-many
Cluster_host.cluster Cluster.cluster_hosts one-to-many
PIF.host host.PIFs one-to-many
PIF.network network.PIFs one-to-many
VDI.SR SR.VDIs one-to-many
VTPM.VM VM.VTPMs one-to-many
console.VM VM.consoles one-to-many
VM.resident_on host.resident_VMs one-to-many
host_cpu.host host.host_CPUs one-to-many
host_crashdump.host host.crashdumps one-to-many
host_patch.host host.patches one-to-many
host_patch.pool_patch pool_patch.host_patches one-to-many
host.updates pool_update.hosts many-to-many
subject.roles subject.roles unknown type
role.subroles role.subroles many-to-many
VM.protection_policy VMPP.VMs one-to-many
VM.snapshot_schedule VMSS.VMs one-to-many
VM.appliance VM_appliance.VMs one-to-many
PGPU.GPU_group GPU_group.PGPUs one-to-many
VGPU.GPU_group GPU_group.VGPUs one-to-many
VGPU.type VGPU_type.VGPUs one-to-many
VGPU.VM VM.VGPUs one-to-many
VGPU.resident_on PGPU.resident_VGPUs one-to-many
PGPU.supported_VGPU_types VGPU_type.supported_on_PGPUs many-to-many
PGPU.enabled_VGPU_types VGPU_type.enabled_on_PGPUs many-to-many
GPU_group.supported_VGPU_types VGPU_type.supported_on_GPU_groups many-to-many
GPU_group.enabled_VGPU_types VGPU_type.enabled_on_GPU_groups many-to-many
PCI.host host.PCIs one-to-many
PGPU.host host.PGPUs one-to-many
VDI.metadata_of_pool pool.metadata_VDIs one-to-many
SR.introduced_by DR_task.introduced_SRs one-to-many
PVS_server.site PVS_site.servers one-to-many
PVS_proxy.site PVS_site.proxies one-to-many
PVS_cache_storage.site PVS_site.cache_storage one-to-many
PUSB.host host.PUSBs one-to-many
PUSB.USB_group USB_group.PUSBs one-to-many
VUSB.USB_group USB_group.VUSBs one-to-many
VUSB.VM VM.VUSBs one-to-many
Feature.host host.features one-to-many
network_sriov.physical_PIF PIF.sriov_physical_PIF_of one-to-many
network_sriov.logical_PIF PIF.sriov_logical_PIF_of one-to-many
Certificate.host host.certificates one-to-many
VM.groups VM_group.VMs many-to-many

The following figure represents bound fields (as specified above) using crow’s foot notation to specify one-to-one, one-to-many, or many-to-many relationships:

Class relationships

Relationships Between Classes

In this article