2.2.2. インスタンス属性の取得
対応する属性リーダーを使用して、インスタンス属性を取得できます。
次の例では、仮想マシンインスタンスの名前とメモリーを取得します。
仮想マシンインスタンス属性の取得
puts "vm.name: #{vm.name}" puts "vm.memory: #{vm.memory}" vm.custom_properties.each do |custom_property| ... end
puts "vm.name: #{vm.name}"
puts "vm.memory: #{vm.memory}"
vm.custom_properties.each do |custom_property|
...
end
リンクとしてのインスタンス属性の取得
一部のインスタンス属性はリンクとして返され、データを取得するには follow_link
メソッドが必要です。次の例では、仮想マシンの属性の要求に対する応答は、リンク付きの XML としてフォーマットされています。
リンクとしての仮想マシン属性の取得
<vm id="123" href="/ovirt-engine/api/vms/123"> <name>myvm</name> <link rel="diskattachments" href="/ovirt-engine/api/vms/123/diskattachments/"> ... </vm>
<vm id="123" href="/ovirt-engine/api/vms/123">
<name>myvm</name>
<link rel="diskattachments" href="/ovirt-engine/api/vms/123/diskattachments/">
...
</vm>
リンク vm.disk_attachments
には、実際のディスクアタッチメントが含まれていません。データを取得するために、Connection クラスは、href
XML 属性の値を使用して実際のデータを取得する follow_link メソッドを提供します。
次の例で、follow_link
を使用すると、ディスクの添付ファイル、そして各ディスクに移動して、alias
を取得することができます。
仮想マシンサービスの取得
vm = vm_service.get
vm = vm_service.get
follow_link
を使用したディスクアタッチメントとディスクエイリアスの取得
attachments = connection.follow_link(vm.disk_attachments) attachments.each do |attachment| disk = connection.follow_link(attachment.disk) puts "disk.alias: #{disk.alias}" end
attachments = connection.follow_link(vm.disk_attachments)
attachments.each do |attachment|
disk = connection.follow_link(attachment.disk)
puts "disk.alias: #{disk.alias}"
end