15.7. アクション
15.7.1. 仮想マシンを起動するアクション リンクのコピーリンクがクリップボードにコピーされました!
例15.46 仮想マシンを起動するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
vm 要素をパラメーターとして指定できます。vm 要素が指定された場合は、仮想マシンは指定された要素の値を使用します (起動時のシステム設定よりも優先されます)。REST API で vm 要素を指定して start アクションを使用する操作は、管理ポータルやユーザーポータルで 1 回実行 ウィンドウを使用する操作と同じです。これらの設定は、ユーザーが仮想マシンが停止するまで維持されます。たとえば、このような要素には os、domain、placement_policy、cdroms、stateless、display type などが挙げられます。
例15.47 上書きされたパラメーターを使用して仮想マシンを起動するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<pause>true</pause>
<vm>
<stateless>true</stateless>
<display>
<type>spice</type>
</display>
<os>
<boot dev="cdrom"/>
</os>
<cdroms>
<cdrom>
<file id="windows-xp.iso"/>
</cdrom>
</cdroms>
<floppies>
<floppy>
<file id="virtio-win_x86.vfd"/>
</floppy>
</floppies>
<domain>
<name>domain.example.com</name>
<user>
<user_name>domain_user</user_name>
<password>domain_password</password>
</user>
</domain>
<placement_policy>
<host id="02447ac6-bcba-448d-ba2b-f0f453544ed2"/>
</placement_policy>
</vm>
</action>
注記
domain要素は、Windows システムでstartのアクションでブート時にパラメーターを上書きする場合のみ使用します。domain要素は、Windows 仮想マシンが参加するドメインを決定します。そのドメインがdomainsコレクションに存在しない場合は、user_nameやpasswordなどの追加のuser認証情報がこの要素に必要になります。ドメインがdomainsコレクションに存在する場合は、アクションにuser認証情報は追加する必要はありません。- CD イメージとフロッピーディスクファイルはすでに ISO ドメインで利用できる状態でなければなりません。まだ用意されていない場合は、ISO アップローダーを使用してこれらのファイルをアップロードしてください。詳しい情報は ISO アプローダーツール を参照してください。
15.7.2. Cloud-Init アクションでの仮想マシンの起動 リンクのコピーリンクがクリップボードにコピーされました!
custom_script タグを使用して、起動時に仮想マシンで実行するカスタムスクリプトを指定することも可能です。
注記
cloud-init 要素は、cloud-init パッケージがインストールされた仮想マシンを起動する際にだけ使用できます。cloud-init 要素を使用する場合は、initialization 要素内にあっても cloud-init 要素外の要素は無視されます。
例15.48 Cloud-Init を使用した仮想マシン起動アクション
eth0 インターフェースの静的 IP の設定、DNS の設定、root ユーザーの SSH キーの追加を行う方法が記述されています。
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<vm>
<initialization>
<cloud_init>
<host>
<address>MyHost.MyDomain.com</address>
</host>
<users>
<user>
<user_name>root</user_name>
<password>p@55w0rd!</password>
</user>
</users>
<network_configuration>
<nics>
<nic>
<name>eth0</name>
<boot_protocol>static</boot_protocol>
<network>
<ip address="192.168.122.31" netmask="255.255.255.0" gateway="192.168.122.1"/>
</network>
<on_boot>true</on_boot>
</nic>
</nics>
<dns>
<servers>
<host>
<address>192.168.122.1</address>
</host>
</servers>
<search_domains>
<host>
<address>MyDomain.com</address>
</host>
</search_domains>
</dns>
</network_configuration>
<authorized_keys>
<authorized_key>
<user>
<user_name>root</user_name>
</user>
<key>ssh-rsa AAAAB3Nza[...]75zkdD root@MyDomain.com</key>
</authorized_key>
</authorized_keys>
</cloud_init>
<custom_script><![CDATA[your script]]></custom_script>
</initialization>
</vm>
</action>
15.7.3. 仮想マシンを停止するアクション リンクのコピーリンクがクリップボードにコピーされました!
例15.49 仮想マシンを停止するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/stop HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
15.7.4. 仮想マシンをシャットダウンするアクション リンクのコピーリンクがクリップボードにコピーされました!
例15.50 仮想マシンにシャットダウン要求を送信するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/shutdown HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
15.7.5. 仮想マシンを一時停止するアクション リンクのコピーリンクがクリップボードにコピーされました!
例15.51 仮想マシンの状態を保存してそのマシンを一時停止するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/suspend HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
15.7.6. 仮想マシンを再起動するアクション リンクのコピーリンクがクリップボードにコピーされました!
例15.52 仮想マシンに再起動要求を送信するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/reboot HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
15.7.7. 外部コンソールから仮想マシンへアクセスするためにユーザーログオンを有効にするアクション リンクのコピーリンクがクリップボードにコピーされました!
ovirt-guest-agent サービスが仮想マシンで稼働されている状態でなければなりません。
例15.53 仮想マシンへのログイン
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/logon HTTP/1.1
Content-Type: application/json
Content-Length: 2
{}
15.7.8. 仮想マシンをプールからデタッチするアクション リンクのコピーリンクがクリップボードにコピーされました!
例15.54 仮想マシンをデタッチするアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/detach HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
15.7.9. 仮想マシンを移行するアクション リンクのコピーリンクがクリップボードにコピーされました!
host の要素はオプションとなっています。API ユーザーが特定の host を必要とする場合は、id または name いずれかのパラメーターでホストを指定することができます。
例15.55 別のホストに仮想マシンを移行するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/migrate HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<host id="2ab5e1da-b726-4274-bbf7-0a42b16a0fc3"/>
</action>
15.7.10. 仮想マシンの移行をキャンセルするアクション リンクのコピーリンクがクリップボードにコピーされました!
例15.56 他のホストへの仮想マシン移行をキャンセルするアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/cancelmigration HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
15.7.11. 仮想マシンをエクスポートするアクション リンクのコピーリンクがクリップボードにコピーされました!
export ストレージドメインにエクスポートされます。エクスポート先のストレージドメインは、storage_domain 参照で指定する必要があります。
exclusive パラメーターを true に設定します。
discard_snapshots パラメーターを true に設定します。
例15.57 仮想マシンをエクスポートストレージドメインにエクスポートするアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/export HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<storage_domain>
<name>export1</name>
</storage_domain>
<exclusive>true</exclusive>
<discard_snapshots>true</discard_snapshots>
</action>
15.7.12. 仮想マシンのチケットのアクション リンクのコピーリンクがクリップボードにコピーされました!
action には、オプションで ticket 表現が含まれ、value (トークンの文字列が特定の形式を取る必要がある場合) および/または expiry 時間 (分単位) が指定されます。いずれの場合も、応答には使用している実際のチケットの値と有効期限が記載されます。
例15.58 仮想マシンの認証トークンを生成するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/ticket HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<ticket>
<expiry>120</expiry>
</ticket>
</action>
200 OK
Content-Type: application/xml
<action id="94e07552-14ba-4c27-8ce6-2cc75190d3ef"
href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/ticket/
94e07552-14ba-4c27-8ce6-2cc75190d3ef">
<status>
<state>complete</state>
</status>
<ticket>
<value>5c7CSzK8Sw41</value>
<expiry>120</expiry>
</ticket>
<link rel="parent"
href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720"/>
<link rel="replay"
href="/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/ticket"/>
</action>
15.7.13. 仮想マシンを強制削除するアクション リンクのコピーリンクがクリップボードにコピーされました!
force のアクションを使用します。このアクションには DELETE メソッドが必要です。要求の本文には force パラメーターを true に設定した action 表現を記載します。本文内の XML 表現を処理するには、要求に Content-type: application/xml ヘッダーを追加する必要もあります。
例15.59 仮想マシンに対する強制削除のアクション
DELETE /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720 HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action>
<force>true</force>
</action>
15.7.14. 仮想マシンのファイルシステムのフリーズアクション リンクのコピーリンクがクリップボードにコピーされました!
freezefilesystems アクションは、実行中の仮想マシンのライブスナップショットを作成する際に、QEMU ゲストエージェントを使用して仮想マシンのファイルシステムをフリーズします。通常、これは Manager で自動的に行われますが、OpenStack Volume (Cinder) ディスクを使用する仮想マシンには、REST API で手動で実行する必要があります。
例15.60 仮想マシンのファイルシステムをフリーズするアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/freezefilesystems HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>
15.7.15. 仮想マシンのファイルシステムアクション リンクのコピーリンクがクリップボードにコピーされました!
thawfilesystems アクションは、実行中の仮想マシンのライブスナップショットを作成する際に、QEMU ゲストエージェントを使用して仮想マシンのファイルシステムを解凍します。通常、これは Manager で自動的に行われますが、OpenStack Volume (Cinder) ディスクを使用する仮想マシンには、REST API で手動で実行する必要があります。
例15.61 仮想マシンのファイルシステムを解凍するアクション
POST /api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/thawfilesystems HTTP/1.1
Accept: application/xml
Content-type: application/xml
<action/>