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)