ONTAP Tools for VMware vSphere 10 REST APIの実装の詳細
RESTでは共通のテクノロジとベストプラクティスが確立されますが、各APIの正確な実装方法は設計の選択内容によって異なります。ONTAP Tools for VMware vSphere 10 REST APIを使用する前に、その設計方法を理解しておく必要があります。
REST APIには、vCenterやアグリゲートなど、複数のリソースカテゴリが含まれています。詳細については、を参照して"APIリファレンス"ください。
REST API にアクセスする方法
ONTAP tools for VMware vSphere 10 REST APIには、ONTAP toolsのロードバランサのIPアドレスとポートからアクセスできます。完全なURLには、次のようないくつかの部分があります。
-
ONTAP toolsのIPアドレスとポート
-
APIバージョン
-
リソースカテゴリ
-
特定のリソース
IPアドレスは初期設定時に設定する必要があり、ポートは常に8443です。また、特定のONTAP Tools for VMware vSphere 10インスタンスの場合、URLの最初の部分は定数です。エンドポイントによって異なるのは、リソースカテゴリと特定のリソースだけです。
|
次の例のIPアドレスとポートの値は、説明のみを目的としています。これらの値は環境に応じて変更する必要があります。 |
https://10.61.25.34:8443/virtualization/api/v1/auth/login
このURLは、POSTメソッドを使用してアクセストークンを要求するために使用できます。
https://10.61.25.34:8443/virtualization/api/v1/vcenters
このURLを使用すると、GETメソッドを使用して、定義済みのvCenter Serverインスタンスのリストを要求できます。
HTTPの詳細
ONTAP tools for VMware vSphere 10 REST APIは、HTTPと関連パラメータを使用してリソースのインスタンスとコレクションを処理します。HTTP 実装の詳細を以下に示します。
HTTP メソッド
REST APIでサポートされるHTTPメソッドまたは動詞を次の表に示します。
方法 | CRUD | 説明 |
---|---|---|
取得 |
読み取り |
リソースインスタンスまたはコレクションのオブジェクトプロパティを取得します。これは、コレクションで使用する場合はリスト操作と見なされます。 |
投稿 |
作成 |
入力パラメータに基づいて新しいリソースインスタンスを作成します。 |
PUT |
更新 |
指定した JSON 要求の本文でリソースインスタンス全体を更新します。ユーザが変更できないキー値は保持されます。 |
パッチ |
更新 |
リクエストリクエストで選択した一連の変更がリソースインスタンスに適用されます。 |
削除 |
削除 |
既存のリソースインスタンスを削除します。 |
要求と応答のヘッダー
次の表は、REST APIで使用される最も重要なHTTPヘッダーをまとめたものです。
ヘッダー | タイプ | 使用上の注意 |
---|---|---|
同意する |
リクエスト |
これは、クライアントアプリケーションが受け入れることができるコンテンツのタイプです。有効な値は'*/*'または `application/json`です。 |
X-AUTH |
リクエスト |
クライアントアプリケーションを介して要求を発行したユーザを識別するアクセストークンが格納されます。 |
コンテンツタイプ |
応答 |
要求ヘッダーに基づいてサーバから返され `Accept`ます。 |
HTTP ステータスコード
REST APIで使用されるHTTPステータスコードを次に示します。
コード | 意味 | 説明 |
---|---|---|
200 |
OK |
新しいリソースインスタンスを作成しない呼び出しが成功したことを示します。 |
201 |
作成済み |
リソースインスタンスの一意の識別子を使用してオブジェクトが作成されました。 |
202 |
承認済み |
要求が受け入れられ、要求を実行するためのバックグラウンドジョブが作成されました。 |
204 |
コンテンツがありません |
要求は成功しましたが、コンテンツが返されませんでした。 |
400 |
無効な要求です |
要求の入力が認識されないか不適切です。 |
401 |
権限がありません |
ユーザは認証されていないため、認証が必要です。 |
403 |
禁止 |
認証エラーによりアクセスが拒否されました。 |
404 |
見つかりません |
要求で参照されているリソースが存在しません。 |
409 |
競合 |
オブジェクトがすでに存在するため、オブジェクトの作成に失敗しました。 |
500 |
内部エラー |
サーバで一般的な内部エラーが発生しました。 |
認証
REST APIへのクライアントの認証は、アクセストークンを使用して実行されます。トークンと認証プロセスに関連する特性は次のとおりです。
-
クライアントは、ONTAP tools Managerの管理者クレデンシャル(ユーザ名とパスワード)を使用してトークンを要求する必要があります。
-
トークンはJSON Webトークン(JWT)としてフォーマットされます。
-
各トークンは60分後に期限切れになります。
-
クライアントからのAPI要求では、要求ヘッダーにトークンを含める必要があります
x-auth
。
アクセストークンの要求と使用の例については、を参照してください"最初のREST API呼び出し"。
同期要求と非同期要求
ほとんどのREST API呼び出しは短時間で完了するため、同期的に実行されます。つまり、リクエストが完了するとステータスコード(200など)が返されます。完了までに時間がかかる要求は、バックグラウンドジョブを使用して非同期で実行されます。
非同期で実行されるAPI呼び出しを発行すると、サーバはHTTPステータスコード202を返します。これは、リクエストは承認されましたが、まだ完了していないことを示します。バックグラウンドジョブを照会して、成功または失敗などのステータスを確認できます。
非同期処理は、データストアやVVol処理など、いくつかのタイプの長時間実行処理に使用されます。詳細については、SwaggerページでREST APIのジョブマネージャカテゴリを参照してください。