ゲートウェイAPI
ゲートウェイAPIを使用すると、Active IQ Unified Managerのクレデンシャルを使用してONTAP REST APIを実行し、ストレージ オブジェクトを管理することができます。これらのAPIは、Unified Manager Web UIからAPIゲートウェイ機能を有効にすると使用できるようになります。
Unified Manager REST API は、Unified Manager データソース(ONTAPクラスター)に対して実行できるアクションのごく一部のみをサポートしています。その他の機能は ONTAP API を使用して利用できます。ゲートウェイ API により、Unified Manager は、各データセンタークラスターに個別にログインすることなく、ONTAPクラスターに対して実行するすべての API リクエストをトンネリングするためのパススルーインターフェイスとして機能します。これは、Unified Manager インスタンスによって管理される ONTAPクラスター全体で API を実行するための単一の管理ポイントとして機能します。API Gateway 機能により、Unified Manager は、複数の ONTAPクラスターに個別にログインすることなく管理できる単一のコントロールプレーンとして機能します。ゲートウェイ API を使用すると、Unified Manager にログインしたまま、ONTAP REST API 操作を実行して ONTAPクラスターを管理できます。
|
|
すべてのユーザーは、 `GET`操作を使用してクエリを実行できます。アプリケーション管理者は、すべての ONTAP REST 操作を実行できます。 |
ゲートウェイは、ヘッダーと本文の形式をONTAP APIと同じにすることで、API要求をトンネリングするプロキシとして機能します。個々のクラスタのクレデンシャルを渡すことなく、Unified Managerのクレデンシャルを使用して特定の処理を実行し、ONTAPクラスタにアクセスして管理することができます。クラスタ認証とクラスタ管理は引き続き管理されますが、API要求は特定のクラスタにリダイレクトされて直接実行されます。APIから返される応答は、対応するONTAP REST APIをONTAPから直接実行した場合と同じです。
| HTTP動詞 | パス(URL) | 説明 | ||
|---|---|---|---|---|
|
|
このGETメソッドは、Unified Managerで管理されているクラスタのうち、ONTAP REST呼び出しをサポートするすべてのクラスタのリストを取得します。クラスタのUniversal Unique Identifier(UUID)に基づいてクラスタの詳細を確認し、他のメソッドを実行することができます。
|
||
|
|
これは単一ポイントのプロキシAPIで、POST、DELETE、PATCHの処理に加え、すべてのONTAP REST APIのGETをサポートしています。ONTAPでサポートされているかぎり、どのAPIにも制限はありません。トンネリングまたはプロキシ機能を無効にすることはできません。 `OPTIONS`メソッドは、ONTAP REST API でサポートされているすべての操作を返します。たとえば、ONTAP API が `GET`操作のみをサポートしている場合、このゲートウェイ API を使用して `OPTIONS`メソッドを実行すると、レスポンスとして `GET`が返されます。このメソッドは Swagger ではサポートされていませんが、他の API ツールで実行できます。 `OPTIONS`メソッドは、リソースが利用可能かどうかを判定します。この操作を使用すると、HTTPレスポンスヘッダー内のリソースに関するメタデータを表示できます。この方法はSwaggerではサポートされていませんが、他のAPIツールでは実行可能です。 |
APIゲートウェイのトンネリングの概要
ゲートウェイAPIを使用すると、Unified ManagerからONTAPオブジェクトを管理できます。Unified Managerはクラスタと認証の詳細を管理し、ONTAP RESTエンドポイントに要求をリダイレクトします。ゲートウェイAPIは、ヘッダーおよび応答本文のURLとHypermedia as the Engine of Application State(HATEOAS)リンクをAPIゲートウェイのベースURLで変換します。ゲートウェイAPIはプロキシのベースURLとして機能し、これにONTAP REST URLを追加して必要なONTAP RESTエンドポイントを実行します。
この例では、ゲートウェイAPI(プロキシベースURL)は次のとおりです: /gateways/{uuid}/
使用した ONTAP API は次のとおりです: /storage/volumes `path`パラメータの値として ONTAP API REST URL を追加する必要があります。
|
|
パスを追加する際は、「 |
追加されたURLは: /gateways/{uuid}/storage/volumes
`GET`操作を実行すると、生成される URL は次のとおりです: `GEThttps://<hostname>/api/gateways/<cluster_UUID>/storage/volumes`
ONTAP REST URLの `/api`タグは、付加されたURLから削除され、ゲートウェイAPIのタグは保持されます。
cURLコマンドの例
curl -X GET "https://<hostname>/api/gateways/1cd8a442-86d1-11e0-ae1c-9876567890123/storage/volumes" -H "accept: application/hal+json" -H "Authorization: Basic <Base64EncodedCredentials>"
このAPIは、指定したクラスタ内のストレージ ボリュームのリストを返します。応答形式は、同じAPIをONTAPから実行した場合と同じです。返されるステータス コードは、ONTAP RESTのステータス コードです。
APIスコープの設定
すべてのAPIは、クラスターのスコープ内でコンテキストが設定されます。ストレージVMに基づいて動作するAPIも、スコープとしてクラスターを持ちます。つまり、API操作は、管理対象クラスター内の特定のストレージVM上で実行されます。 `/gateways/{uuid}/{path}`APIを実行する場合は、操作を実行するクラスターのクラスターUUID(Unified ManagerデータソースUUID)を入力してください。そのクラスター内の特定のストレージVMにコンテキストを設定するには、ストレージVMキーを `X-Dot-SVM-UUID`パラメーターとして入力するか、ストレージVM名を `X-Dot-SVM-Name`パラメーターとして入力してください。パラメーターは文字列ヘッダーのフィルターとして追加され、その操作はそのクラスター内のそのストレージVMのスコープ内で実行されます。
cURLコマンドの例
curl -X GET "https://<hostname>/api/gateways/e4f33f90-f75f-11e8-9ed9-00a098e3215f/storage/volume" -H "accept: application/hal+json" -H "X-Dot-SVM-UUID: d9c33ec0-5b61-11e9-8760-00a098e3215f" -H "Authorization: Basic <Base64EncodedCredentials>"
ONTAP REST APIの使用方法の詳細については、 "ONTAP REST APIの自動化のドキュメントを参照してください。"を参照してください。