リソースブロックへの操作ステップの追加
リソースブロックの操作と入力パラメーターを構成したら、各操作のステップを追加して、呼び出すクラウド API (CAPI) をシステムに指示します。各ステップは、CAPI への個別の呼び出しです。
始める前に
手順
- リソースブロックで、[操作] の下にある [ステップ] サブタブをクリックします。
- [ステップを追加] をクリックします。
-
フォームフィールドに記入します。
フィールド 説明 操作タイプ 次の操作のタイプを選択します。- クラウド API の呼び出し (Invoke Cloud API):CAPI からプロバイダー、インターフェイス、およびメソッドを選択するには、このオプションを選択します。
- ホストリソース操作の呼び出し (Invoke Host Resource Operation):このオプションを選択すると、このリソースブロックに対して指定済みのホストインターフェイスから操作 (操作署名とも呼ばれます) が使用されます。
- スクリプトの呼び出し (Invoke Script):既存の MID サーバースクリプトインクルードからメソッドを呼び出すには、このオプションを選択します。
- ワークフローの呼び出し (Invoke Workflow):このオプションを選択すると、このリソースブロックに対して既存のワークフロートリガー操作が呼び出されます。
- フローの呼び出し:このオプションを選択すると、有効なサブフローのリストからサブフローが呼び出されます。
API プロバイダー [操作タイプ = クラウド API の呼び出し (Invoke Cloud API)]
必要なインターフェイスを提供する API を選択します。プロバイダはクラウド API (CAPI) の一部です。
たとえば、CAPI は、製品を持つ AWS プロバイダーを提供し、その一部にはプロバイダー名が付いています。
この値は、[クラウド API の呼び出し (Invoke Cloud API)] 操作タイプを選択した場合に表示されます。
API インターフェイス [操作タイプ = クラウド API の呼び出し (Invoke Cloud API)]
使用するメソッドを含むインターフェイスを選択します。たとえば、[Blob Storage Interface] は、システムがプロビジョニング中に使用する [CreateContainer] インターフェイスを提供します。 API メソッド [操作タイプ = クラウド API の呼び出し (Invoke Cloud API)]
操作を実行するメソッドを選択します。この例では、ストレージをプロビジョニングするために [CreateContainer] が必要です。 CAPI バージョン [操作タイプ = クラウド API の呼び出し (Invoke Cloud API)]
CAPI API のバージョンを入力します。 ホストインターフェイス [操作タイプ = ホストリソース操作の呼び出し (Invoke Host Resource Operation)]
操作を呼び出すインターフェイスを選択します。リソースブロックの [一般情報] タブで設定したのと同じインターフェイスのみを選択できます。 インターフェイスを変更するには、[一般情報] タブに戻り、[ホストインターフェイス] フィールドで別の値を選択します。
インターフェイス操作 [操作タイプ = ホストリソース操作の呼び出し (Invoke Host Resource Operation)]
ホストインターフェースから操作を選択します。たとえば、[ストレージサーバー] インターフェイスを選択した場合は、そのインターフェイスのすべての操作 (CreateStorageVolume など) を呼び出すことができます。 スクリプト [操作タイプ = スクリプトの呼び出し (Invoke Script)]
呼び出すスクリプトとスクリプト内のメソッドを入力します。script-name.method という構文を使用します。 ワークフロー [操作タイプ = スクリプトの呼び出し (Invoke Script)]
ワークフローを使用しないでください。 フロー [操作タイプ = フローの呼び出し > サブフロー]
[サブフロー] リストからサブフローを選択します。たとえば、Terraform Enterprise Provision サブフローを選択した場合は、既存のサブフローを再利用するだけで入出力を設定できます。 条件 システムがこのステップを使用する前に、満たす必要があるオプションの条件を入力します。 Azure API と CreateNode メソッドマッパーを見ると、エンドポイント操作がスクリプトであることがわかります。これは、createNode() 関数を示す MID サーバースクリプトインクルードを呼び出します。この関数は AzureComputeVirtualMachine スクリプトインクルードを使用します。このスクリプトインクルードを確認して理解します。
-
[送信] をクリックします。
ステップの [入力] および [応答プロセッサ] タブが表示されます。
-
[入力] タブで、CAPI 操作入力を設定します。
この場合は、[Blob Storage] インターフェイスである CAPI インターフェイスで CreateContainer メソッドを開きます。CAPI からの入力は、パラメーターを作成する [入力] タブに表示されます。
[入力パラメーター] タブのパラメーターは、ユーザーが値を入力する場所です。これらの入力パラメーターを、[入力] タブのパラメーターにマップできます。これを行うには、[Input Parameters] タブの [Mapping] の値を [Value] フィールドにコピーします。 ステップ > 入力 タブに戻ります
このステップでスクリプトを呼び出し、そのスクリプトで値を返す引数が必要とされる場合は、各引数に新しい入力パラメーターを追加できます。[値] フィールドで、構文 ${parameter.arg1} を使用します。
-
この操作の後続のステップまたは後続の操作で、このステップのパラメーター値を渡す必要がある場合は、出力属性を構成します。
たとえば、仮想サーバーの [プロビジョン] 操作では、ネットワークインターフェイス ID の出力属性とノード ID の出力属性を提供できます。クラウドプロバイダーが応答を送信すると、ネットワークとノードの実際の ID が応答から解析され、出力属性に保存されます。後続のステップでは、ID を使用してアクションを実行します。
- [出力属性] タブをクリックします。
-
次の表記にコードを入力します。
{ "Attribute": "${Value}" }ここで、値はインターフェイスと操作へのマッピングから取得されます。
たとえば、次の出力属性を使用します。{ "NodeId": "${Compute Interface.CreateNode.Output.resp.nodeId}" }NodeIdは属性です。Compute Interfaceはインタフェースを指定します。CreateNodeはノードを作成するメソッドの名前です。Output.respは構文の必須部分です。nodeid