第3章 REST API クイックスタートの例
本章では、基本的な Red Hat Virtualization 環境を設定し、仮想マシンを作成する REST API の機能を示す例を紹介します。
この例では、標準の前提条件に加えて、以下が必要です。
- ネットワークされ設定された Red Hat Virtualization ホスト。
- インストールする仮想マシンオペレーティングシステムを含む ISO ファイル。本章では、インストール ISO の例に Red Hat Enterprise Linux Server 6 を使用します。
- 選択したオペレーティングシステムの ISO ファイルをアップロードする Red Hat Virtualization の engine-iso-uploader ツール。
この例では、cURL を使用してクライアントアプリケーションとの REST 要求を示しています。HTTP リクエストが可能なすべてのアプリケーションは cURL を置き換えることができることに注意してください。
重要な影響
分かりやすくするため、この例では
Host: および Authorization: フィールドを省略します。ただし、これらのフィールドは必須であり、Red Hat Virtualization Manager のインストールに固有のデータを必要とします。
重要な影響
すべての cURL の例には、認証の詳細(
USER:PASS)および証明書の場所(CERT)のプレースホルダーが含まれます。cURL で実行されるすべての要求が認定および認証要件を満たしていることを確認します。
注記
Red Hat Virtualization Manager は、各リソースの
id 属性に対してグローバルに一意の識別子 (GUID) を生成します。この例の識別子コードは、お使いの Red Hat Virtualization 環境の識別子コードとは異なる場合があります。
3.1. 例:API エントリーポイントへのアクセス リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の要求は、API のバージョン 3 の主なエントリーポイントの表現を取得します。
例3.1 API v3 エントリーポイントへのアクセス
リクエスト(ヘッダーあり):
GET /ovirt-engine/api HTTP/1.1
Version: 3
Accept: application/xml
リクエスト(ヘッダーなし):
GET /ovirt-engine/api/v3 HTTP/1.1
Accept: application/xml
curl コマンド:
# curl -X GET -H "Accept: application/xml" -u [USER:PASS] \
--cacert [CERT] https://[RHEVM Host]:443/ovirt-engine/api
結果:
HTTP/1.1 200 OK
Content-Type: application/xml
<api>
<link rel="capabilities" href="/ovirt-engine/api/capabilities"/>
<link rel="clusters" href="/ovirt-engine/api/clusters"/>
<link rel="clusters/search" href="/ovirt-engine/api/clusters?search={query}"/>
<link rel="datacenters" href="/ovirt-engine/api/datacenters"/>
<link rel="datacenters/search" href="/ovirt-engine/api/datacenters?search={query}"/>
<link rel="events" href="/ovirt-engine/api/events"/>
<link rel="events/search" href="/ovirt-engine/api/events?search={query}"/>
<link rel="hosts" href="/ovirt-engine/api/hosts"/>
<link rel="hosts/search" href="/ovirt-engine/api/hosts?search={query}"/>
<link rel="networks" href="/ovirt-engine/api/networks"/>
<link rel="roles" href="/ovirt-engine/api/roles"/>
<link rel="storagedomains" href="/ovirt-engine/api/storagedomains"/>
<link rel="storagedomains/search" href="/ovirt-engine/api/storagedomains?search={query}"/>
<link rel="tags" href="/ovirt-engine/api/tags"/>
<link rel="templates" href="/ovirt-engine/api/templates"/>
<link rel="templates/search" href="/ovirt-engine/api/templates?search={query}"/>
<link rel="users" href="/ovirt-engine/api/users"/>
<link rel="groups" href="/ovirt-engine/api/groups"/>
<link rel="domains" href="/ovirt-engine/api/domains"/>
<link rel="vmpools" href="/ovirt-engine/api/vmpools"/>
<link rel="vmpools/search" href="/ovirt-engine/api/vmpools?search={query}"/>
<link rel="vms" href="/ovirt-engine/api/vms"/>
<link rel="vms/search" href="/ovirt-engine/api/vms?search={query}"/>
<special_objects>
<link rel="templates/blank"
href="/ovirt-engine/api/templates/00000000-0000-0000-0000-000000000000"/>
<link rel="tags/root"
href="/ovirt-engine/api/tags/00000000-0000-0000-0000-000000000000"/>
</special_objects>
<product_info>
<name>Red Hat Virtualization</name>
<vendor>Red Hat</vendor>
<version revision="0" build="0" minor="0" major="4"/>
</product_info>
<summary>
<vms>
<total>5</total>
<active>0</active>
</vms>
<hosts>
<total>1</total>
<active>1</active>
</hosts>
<users>
<total>1</total>
<active>1</active>
</users>
<storage_domains>
<total>2</total>
<active>2</active>
</storage_domains>
</summary>
</ovirt-engine/api>
重要
ヘッダーと URL 接頭辞が使用されていない場合には、サーバーは自動的にバージョンを選択します。デフォルトはバージョン
4 です。ENGINE_API_DEFAULT_VERSION パラメーターを使用してデフォルトのバージョンを変更できます。
# echo "ENGINE_API_DEFAULT_VERSION=3" > \
/etc/ovirt-engine/engine.conf.d/99-set-default-version.conf
# systemctl restart ovirt-engine
このパラメーターを変更すると、バージョンを明示的に指定しない Manager のすべてのユーザーに影響します。
エントリーポイントは、仮想化環境のコレクションへのリンクをユーザーに提供します。各コレクションリンクの
rel= 属性は、各リンクの参照ポイントを提供します。この例の次のステップは、rel=" datacenter " リンクで利用可能なデータセンターコレクションを検証します。
エントリーポイントには、
product_info、special_objects、および summary などの他のデータも含まれます。このデータは、この例以外の章で説明しています。