SSH アクティビティを作成する
SSH ネットワーク プロトコルを使用するターゲット ホストからデータを抽出するアクティビティを作成します。
始める前に
必要なロール:activity_creator または workflow_admin
このタスクについて
アクティビティテンプレートのプロセスフローの使用手順については、「カスタムアクティビティを作成する」を参照してください。
手順
SSH スクリプトの詳細オプション
ターゲットホストで MID サーバー スクリプトを実行するには、スクリプトのタイプを指定して、スクリプトの名前を
${syncFile()} パラメーターに渡します。システムでは、このパラメーターを使用して、MID サーバースクリプトファイル [ecc_agent_script_file] テーブル内の名前付きのスクリプトを見つけ、ターゲットホストで実行します。たとえば、bash スクリプトは次のように表すことができます。 bash ${syncFile("<MID script name>")} argument1 argument2 argument3基本スクリプト (
main_script.bash) は、ターゲットホスト上にある別のファイル (.my_profile) に関する別のスクリプト (my_include.bash) を参照できます。${syncFile()} パラメーターを使用して適切に実行するには、スクリプトと参照されたファイルの両方を MID サーバー に同期する必要があります。source ${syncFile(".my_profile")}
cp ${syncFile("my_include.bash")} /usr/ssmith/my_include.bash
bash ${syncFile("main_script.bash")} one two three four five six
rm /usr/ssmith/my_include.bashインラインコメントのある Python の例は、次のようになります。
set $LIB_DIR=/usr/bin;.
# Sync a file that is referenced inside myF5CreateLBPool.py
cp ${syncFile("specialFunctions.py")} ~/specialFunctions.py
# set up environment variables
source ${syncFile(".python_profile")}
# call script that sets up dependencies on the box from remote package repos
python ${syncFile("setupPythonDependencies.py")} pycontrol
# call a script that requires functions from the package as well as a function from myIncludedFile
python ${syncFile("myF5CreateLBPool.py")} snow_pool myActualValue
# user is responsible for their own cleanup
rm ~/specialFunctions.py 次のタスク
SSH テンプレート実行パラメーター
実行パラメーターを使用して、アクティビティデザイナーの [前処理] フォームで入力プロセス スクリプトを作成します。
コマンド フィールドの説明については、「SSH 実行コマンドを設定する」を参照してください。
注:
この表のすべての変数で
executionParam. プリフィックスを使用する必要があります。| 名前 | 変数 | タイプ | 使用法 |
|---|---|---|---|
| ソース | ソース | 文字列 | 意図したターゲットまたはホスト。 |
| コマンド | command | 文字列 | ホスト上で実行するコメント。 |
| ディレクトリー | directory | 文字列 | コマンドを実行するホスト上のディレクトリー。 |
| 認証情報タグ | credential_tag | 文字列 | コマンドを実行するときに使用するオーケストレーション認証情報タグ。 |
| MidCapabilities | midCapabilities | 文字列 (コンマ区切り) | 必要な MID サーバー機能のリスト。 |
| ValueCapabilities | valueCapabilities | ハッシュマップの配列 | MID サーバーの選択に使用される機能値。詳細については、「MID サーバーの機能」を参照してください。値によって割り当てられる追加の機能がある場合は、次の例を使用して MID サーバーの選択をカスタマイズします。 |
| 長期間 | long_running | ブーリアン | コマンドが長時間実行されているかどうかを示します。true の値は、コマンドが長時間実行されていることを示します。 |
| Sudo が必要 | must_sudo | ブーリアン | このアクティビティが root コマンドを実行するために sudo を使用する必要があるかどうかを示します。true の値は、sudo SSH 認証情報を使用する必要があることを示します。 |
SSH 後処理パラメーターとペイロード解析
これらのパラメーターを使用して、後処理スクリプト、ペイロード解析、およびタグ付けを作成します。
| 名前 | 変数 | タイプ | 使用法 |
|---|---|---|---|
| 出力 | output | 文字列 | SSH コマンドから返された出力が含まれています。 |
| EccSysID | eccSysID | 文字列 | アクティビティによって返された ECC キュー入力メッセージに関連付けられた参照 ID が含まれています。 |
| ErrorMessages | errorMessage | 文字列 | SSH コマンドから取得したエラーメッセージが含まれています。エラーメッセージがない場合、この値は null です。 |
| タグ | タグ | SSH コマンドから返されたタグ値のハッシュマップ | SSH コマンドを使用して出力を抽出するために使用されるタグが含まれています。タグ出力は、次のように二重のパーセント記号で区切られます。%%tagname%% … %%。次の形式を使用してコマンドを設定します。返されるタグは JavaScript ハッシュマップ オブジェクトで、各キーには tagname が付加された tag がプリフィックスとして付いています。 |
SSH 実行コマンドを設定する
作成した変数を使用して、オーケストレーションがホスト ターゲットで実行するコマンドを設定します。
始める前に
必要なロール:activity_creator、admin
注:
MID サーバーとターゲット間の SSH 接続は、ワークフロー コンテキストでアクティビティを実行しなくてもテストできます。詳細は、「テスト テンプレート出力」を参照してください。