2.4. リンクの使用
タイプの一部の属性は、API によってリンクとして定義されています。この規則は、そのオブジェクトの表現を取得するときに、値が通常は入力されないことを示しています。代わりにリンクが返されます。たとえば、仮想マシンを取得する場合、サーバーからの XML レスポンスには <link> 属性が含まれます。
<vm id="123" href="/ovirt-engine/api/vms/123">
<name>vm1</name>
<link rel="diskattachments" href="/ovirt-engine/api/vms/123/diskattachments/>
...
</vm>
vm.diskattachments へのリンクには、実際のディスクアタッチメントは含まれません。データを取得するために、Connection クラスは、href XML 属性の値を使用して実際のデータを取得する follow_link メソッドを提供します。たとえば、仮想マシンのディスクの詳細を取得するには、ディスクアタッチメントへのリンクをたどり、次に各ディスクへのリンクをたどります。
# Retrieve the virtual machine:
vm = vm_service.get()
# Follow the link to the disk attachments, and then to the disks:
attachments = connection.follow_link(vm.disk_attachments)
for attachment in attachments:
disk = connection.follow_link(attachment.disk)
print("disk.alias: " % disk.alias)