スクリプト
シェルスクリプトアダプタは、リソースホスト上で実行するシェルスクリプトファイルとしてアクションを実装します。これらのスクリプトは、リソースホスト上でスクリプトを実行するアカウント用に設定されているシェルで動作するように記述してください。
スクリプトは規則に従い、成功を示すリターンコード 0 で終了するようにしてください。0 以外のコード (スクリプトの作成者が定めた) を返すことは、操作が正しく完了しなかった可能性があるという意味になります。
スクリプトは、標準エラーや標準出力ストリームにテキストを出力できます。操作の種類、操作のコンテキスト、および失敗のタイプによっては、その操作の結果にテキストを表示することができます。
getUser および getAllUsers 操作では、このテキストは、各ユーザーの属性を特定するために標準出力ストリームで解析されます。
次のタイプの環境変数を、スクリプトにエクスポートできます。
-
スキーママップの アイデンティティーシステム リソース属性列で定義されたアカウント属性はいずれも、そのアカウント属性の先頭に WSUSER_ を付加することで、スクリプトで利用できるようになります。たとえば、アカウント属性の名前が Full Name の場合、その環境変数は WSUSER_Full_Name という名前になります。スペースは下線に置き換えられます。
-
WSRSRC_ で始まる環境変数で、アダプタの設定を渡すことができます。もっとも重要な変数は、アダプタの名前を定義する WSRSRC_Name です。異なるリソースで同じスクリプトを実行する場合は、この変数を実装すると、それぞれのホストで同じ操作を行うスクリプトの複数のコピーを維持する手間を省けます。
次のコード例は、サンプルで生成される環境を示しています。
|
WSRSRC_Host=’129.153.147.151’; export WSRSRC_Host
WSRSRC_Port=’22’; export WSRSRC_Port
WSRSRC_Login_User=’root’; export WSRSRC_Login_User
WSRSRC_password=’074B7E28F5927C90:1C65216:108540A69DE:-7FFD|zGEBDGD3VRs=’; export WSRSRC_password
WSRSRC_Login_Shell_Prompt=’]#’; export WSRSRC_Login_Shell_Prompt
WSRSRC_Root_User=’root’; export WSRSRC_Root_User
WSRSRC_credentials=’074B7E28F5927C90:1C65216:108540A69DE:-7FFD|zGEBDGD3VRs=’; export WSRSRC_credentials
WSRSRC_Root_Shell_Prompt=’]#’; export WSRSRC_Root_Shell_Prompt"
WSRSRC_Connection_Type=’SSH’; export WSRSRC_Connection_Type"
WSRSRC_Maximum_Connections=’10’; export WSRSRC_Maximum_Connections"
WSRSRC_Connection_Idle_Timeout=’900’; export WSRSRC_Connection_Idle_Timeout"
WSRSRC_Display_Name_Attribute=’accountId’; export WSRSRC_Display_Name_Attribute"
WSRSRC_NAME=’ShellTest’; export WSRSRC_NAME"
WSRSRC_ID=’#ID#074B7E28F5927C90:B122A1:108E3E4CFAA:-7FFC’; export WSRSRC_ID"
WSRSRC_TYPE=’Resource’; export WSRSRC_TYPE"
WSRSRC_CLASS=’class com.waveset.object.Resource’; export WSRSRC_CLASS"
|
|
|
一般に、属性の値が NULL の場合は、対応する環境変数に長さが 0 の文字列が設定されるのではなく、その環境変数が省略されます。
スクリプトで使用可能な変数については、第 50 章リソースへのアクションの追加を参照してください。