ワークフローを使用する準備をします
実際のONTAP環境でワークフローを使用する前に、ワークフローの構造と形式を理解しておく必要があります。
使用するワークフローで、ONTAPリリースがすべてのAPI呼び出しをサポートしていることを確認する必要があります。を参照してください "API リファレンス" を参照してください。 |
はじめに
a_workflow_ は、特定の管理タスクまたは目標を達成するために必要な 1 つ以上のステップのシーケンスです。ONTAPワークフローには、各タスクを実行するために必要な主要な手順とパラメータが含まれています。ONTAP自動化環境をカスタマイズするための出発点となります。
ONTAPワークフローの各手順は、次のいずれかのタイプです。
-
REST API 呼び出し( cURL や JSON の例などの詳細を含む)
-
別のONTAPワークフローの実行または起動
-
その他の関連タスク(構成の決定など)
ワークフローの手順のほとんどはREST API呼び出しです。これらの手順では、カールの例やその他の情報を含む一般的な形式を使用します。を参照してください "API リファレンス" を参照してください。
ワークフローには1つのステップのみを含めることができます。these_single-step workflows_は、複数のステップを含むワークフローとは少し異なります。たとえば、明示的なステップ名は削除されます。アクションまたは操作は、ワークフローのタイトルに基づいて明確にする必要があります。
入力変数
ワークフローは、任意のONTAP環境で使用できるように、できるだけ一般的なものにするように設計されています。そのため、REST API呼び出しでは、curlサンプルやその他の入力で変数が使用されます。REST API呼び出しは、さまざまなONTAP環境に簡単に適合させることができます。
ベースURL形式
ONTAP REST APIには、curlまたはプログラミング言語から直接アクセスできます。この場合、ベースURLは、ONTAPオンラインドキュメントまたはSystem Managerにアクセスするときに使用するURLとは異なります。
APIに直接アクセスする場合は、ドメインまたはIPアドレスに* api *を追加する必要があります。例:
を参照してください "ONTAP REST APIにアクセスする方法" を参照してください。
共通の入力パラメータ
REST API呼び出しのほとんどでよく使用される入力パラメータがいくつかあります。これらのパラメータは、通常、個 々 のワークフローでは説明されていません。パラメータをよく理解しておく必要があります。を参照してください "API 要求を制御する入力変数" を参照してください。
特定のREST API呼び出しに追加のパラメータが必要な場合は、各ワークフローの* curlサンプルの追加の入力パラメータ*に記載されています。
変数の形式
このワークフローの例で使用されているID値やその他の変数は不透明であり、ONTAPクラスタごとに異なる場合があります。例を読みやすくするために、実際の値は使用しません。代わりに変数が使用されます。この方法では、一貫した形式と予約名のセットに基づいて、次のような利点があります。
-
curlとjsonのサンプルは読みやすく、わかりやすくなっています。
-
すべてのキーワードが同じ形式を使用しているため、すばやく識別できます。
-
値をコピーして再利用することはできないため、セキュリティ上の影響はありません。
変数はBashシェル環境で使用されるようにフォーマットされています。各変数はドル記号で始まり、必要に応じて二重引用符で囲みます。これにより、Bashに認識されるようになります。名前には常に大文字が使用されます。
ここでは、一般的な変数キーワードの一部を示します。このリストは完全なものではなく、必要に応じて追加の変数が使用されます。その意味はコンテキストに基づいて明確になる必要があります。
キーワード | を入力します | 説明 |
---|---|---|
$FQDN_IP |
URL |
ONTAP管理LIFの完全修飾ドメイン名またはIPアドレス。 |
$クラスタID |
パス |
UUIDv4の値。API処理を実行するONTAPクラスタを識別します。 |
$BASIC_AUTH |
ヘッダー |
HTTPベーシック認証に使用するクレデンシャル文字列。 |
JSONの入力例
POSTやPATCHを使用するREST API呼び出しなど、一部のREST API呼び出しでは、要求の本文にJSON入力が必要です。JSON入力の例は、わかりやすくするためにcurlの例とは別に表示されています。JSON入力例は、以下で説明するいずれかの方法で使用できます。
JSON入力例をファイルにコピーしてローカルに保存できます。curlコマンドは、 --data
ファイル名を示す値を持つパラメータ。 @
プレフィックス。
最初に、カールの例をコピーしてターミナルシェルに貼り付ける必要があります。次に、例を編集して、 --data
最後のパラメータをに置き換えます。 --data-raw
パラメータ最後に、JSONの例をコピーして貼り付け、更新されたパラメータを使用してcurlコマンドに従うようにします。JSON入力の例では、一重引用符を使用して折り返します。
認証オプション
REST APIで使用できる主な認証手法はHTTPベーシック認証です。ONTAP 9.14以降では、トークンベースの認証と承認でOpen Authorization (OAuth 2.0)フレームワークを使用するオプションもあります。
HTTPベーシック認証
ベーシック認証を使用する場合は、各HTTP要求にユーザクレデンシャルを含める必要があります。クレデンシャルを送信する方法は2つあります。
Authorizationヘッダーは手動で作成し、HTTP要求に含めることができます。これは、CLIでcurlコマンドを使用する場合、またはオートメーションコードでプログラミング言語を使用する場合に実行できます。手順の概要は次のとおりです。
-
ユーザとパスワードの値をコロンで連結します。
admin:david123
-
文字列全体をbase64に変換します。
YWRtaW46ZGF2aWQxMjM=
-
要求ヘッダーを作成します。
Authorization: Basic YWRtaW46ZGF2aWQxMjM=
ワークフローカールの例には、このヘッダーと変数*$BASIC_AUTH *が含まれています。このヘッダーは、を使用する前に更新する必要があります。
curlを使用する場合のもう1つのオプションは、Authorizationヘッダーを削除し、代わりにcurl * user *パラメーターを使用することです。例:
--user username:password
使用する環境に応じた適切なクレデンシャルに置き換える必要があります。クレデンシャルはbase64でエンコードされていません。このパラメータを指定してcurlコマンドを実行すると、文字列がエンコードされ、Authorizationヘッダーが生成されます。
OAuth 2.0
OAuth 2.0を使用する場合は、外部認可サーバーからアクセストークンを要求し、各HTTPリクエストに含める必要があります。基本的な手順の概要を次に示します。も参照してください "ONTAP OAuth 2.0実装の概要" OAuth 2.0の詳細とONTAPでの使用方法については、を参照してください。
REST APIを使用してONTAPにアクセスする前に、ONTAP環境を準備して設定する必要があります。手順の概要は次のとおりです。
-
ONTAPで保護されるリソースとクライアントを特定する
-
既存のONTAP RESTロールとユーザ定義の確認
-
認証サーバのインストールと設定
-
クライアント許可定義の設計と設定
-
ONTAPの設定とOAuth 2.0の有効化
ONTAPと認可サーバーが定義されてアクティブになっている場合、OAuth 2.0トークンを使用してREST API呼び出しを行うことができます。最初のステップは、認可サーバーにアクセストークンを要求することです。これは、サーバに基づくいくつかの異なる技術のいずれかを使用して、ONTAPの外部で行われます。ONTAPでは、問題アクセストークンやリダイレクションは実行されません。
アクセストークンを取得したら、Authorizationヘッダーを作成してHTTP要求に含めることができます。REST APIにアクセスするためにcurlとプログラミング言語のどちらを使用するかに関係なく、すべてのクライアント要求にヘッダーを含める必要があります。ヘッダーは次のように構成できます。
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSld …
Bashでの例の使用
ワークフローカールの例を直接使用する場合は、変数に含まれる変数を環境に適した値に更新する必要があります。以下で説明するように、サンプルを手動で編集するか、Bashシェルに依存して置換を行うことができます。
Bashを使用する利点の1つは、curlコマンドごとに1回ではなく、シェルセッションで変数値を一度だけ設定できることです。 |
-
Linuxまたは同様のオペレーティングシステムで提供されているBashシェルを開きます。
-
実行するcurlサンプルに含まれる変数値を設定します。例:
CLUSTER_ID=ce559b75-4145-11ee-b51a-005056aee9fb
-
ワークフローページからcurlの例をコピーし、シェルターミナルに貼り付けます。
-
ENTER*を押すと、次の処理が実行されます。
-
設定した変数値を置き換えます。
-
curlコマンドを実行します。
-