N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド

<execNative> ステップ

<execNative> ステップは、ターゲットホストでオペレーティングシステムに対してネイティブコマンドを実行します。 コマンドが予期しなかった結果を生成する場合、ステップは失敗し、実行が停止します。

<execNative< ステップには次の子要素があります。

<execNative> ステップの属性

<execNative> ステップには次の属性があります。

<env> 要素

<execNative> 要素は、コマンドの環境変数を指定する目的で、必要に応じて <env> 要素を含むことができます。<env> を使用すると、コマンド環境の新しい変数を提供することも、既存の変数を無効にすることもできます。

コマンドの環境変数セットは、Remote Agent の環境変数セットと、<env> 要素を使用して提供される変数を合わせたものです。

<env> 要素属性

<env> 要素には次の属性があります。これらの属性は、単純置換変数を参照できます。

<background> 要素

<background> 要素は <execNative> 要素の子です。この要素が存在する場合、コマンドをバックグラウンドプロセスとして実行する必要があることを示します。この要素には属性も子要素もありません。

<background> 要素が指定された <execNative> の場合、以下の制限が適用されます。

<outputFile> 要素

<outputFile> 要素は <execNative> 要素の子です。<outputFile> 要素は、実行されるコマンドの標準出力が格納される、エージェント上のローカルファイルのパスを指定します。ローカルファイルのパスは、<outputFile> 要素の name 属性を使用して指定します。相対パスは、コマンドの作業ディレクトリに相対的であると解釈されます。

<background> 要素を指定する場合は、<outputFile> 要素を指定する必要があります。

<outputFile> を指定せず、<successCriteria> 要素で outputMatches も指定しないと、コマンドの出力は格納されずに消失します。outputMatches を指定すると、標準出力は一時ファイルに格納され、コマンドの実行後そのファイルが削除されます。

<outputFile> 要素属性

<outputFile> 要素には 1 つの必須属性 name があり、これはコマンドの標準出力の書き込み先となるファイル名です。この値は、空でない文字列にする必要があります。この属性は、単純置換変数を参照できます。

<errorFile> 要素

<errorFile> 要素は、実行されるコマンドのエラー出力を格納する、エージェント上のローカルファイルのパスを指定します。ローカルファイルのパスは、<errorFile> 要素の name 属性を使用して指定します。相対パスは、コマンドの作業ディレクトリに相対的であると解釈されます。

<background> 要素を指定する場合は、<errorFile> 要素を指定する必要があります。

<errorFile> を指定せず、<successCriteria> 要素で errorMatches も指定しないと、コマンドの出力は格納されずに消失します。errorMatches を指定すると、エラー出力は一時ファイルに格納され、コマンドの実行後そのファイルが削除されます。

<errorFile> 要素属性

<errorFile> 要素には 1 つの必須属性 name があり、これはコマンドの標準エラー出力の書き込み先となるファイル名です。この値は、空でない文字列にする必要があります。この属性は、単純置換変数を参照できます。

<inputText> 要素

<inputText> 要素は <execNative> 要素の子です。この子要素は、コマンドの標準入力として使用する必要がある任意のテキストを指定します。このテキストは、この要素のコンテンツとして指定されます。


<execNative>
    <inputText>
        ls -l | fgrep `*test*' | sort -u > file.out
    </inputText>
    <command exec=”sh”/>
</execNative>

<inputText> 要素の本体は、CDATA セクションで囲むことができます。これにより、入力フォーマットを保持するとともに、文字 &< を含む入力で発生しうる解析エラーを防ぐことができます。

<inputText> を指定すると、<execNative> ステップの XML を生成する際に常に CDATA セクション内に包含されます。<inputText> 内の文字はすべて、実行されるコマンドに標準入力として渡されます。<inputText> に空白文字だけを含めると、それらの空白文字は指定されているとおりに、実行されるコマンドに渡されます。

<inputText> のコンテンツは config 生成されます。

<inputText> 要素に属性はありません。

<inputFile> 要素

<inputFile> 要素は <execNative> の子要素です。この子要素は、実行されるコマンドの標準入力として使用されるコンテンツが入った、Remote Agent 上のローカルファイルのパスを指定します。ローカルファイルのパスは、<inputFile> 要素の name 属性を使用して指定します。


注 –

<inputFile> 要素は、<execNative> コマンド内で <inputText> 要素と併用することはできません。


<inputFile> 要素属性

<inputFile> 要素には 1 つの必須属性 name があり、これはコマンドに対する標準入力として動作するファイルです。この値は、空でない文字列にする必要があります。相対パスを指定した場合、コマンドの作業ディレクトリに対して相対的であると解釈されます。この属性は、単純置換変数を参照できます。

<exec> 要素

<execNative> ステップには <exec> 要素を 1 つしか含めることができません。<exec> 要素は、実行されるネイティブコマンドの詳細を指定します。

<exec> 要素には次の属性が含まれます。

<execNative> は、cmd により指定されたコマンドを、指定された引数を順に使用して実行します。

次に、<execNative> ステップが ps -fu sps コマンド実行する例を示します。


<execNative>
    <exec cmd=”ps”>
        <arg value=”-fu”/>
        <arg value=”sps”/>
    </exec>
</execNative>

<exec> 要素にはオプションの子要素 <arg> があります。実行するコマンドに対する各引数に 1 つの <arg> 要素を指定します。

<arg> 要素には 1 つの必須属性 value があり、この属性は引数値です。この引数は、<arg> がコマンド要素の n 番目の子であるコマンドに n 番目の引数として渡されます。この属性は、単純置換変数を参照できます。

<exec> 要素属性

<exec> 属性には 1 つの必須属性 cmd があり、この属性は実行するコマンドのパスです。指定したパスが絶対パスでない場合、Remote Agent に対して設定された、プラットフォーム指定の PATH 環境変数を使用してコマンドの検索が行われます。この値は、空でない文字列にする必要があります。この属性は、単純置換変数を参照できます。

<shell> 要素

<shell> 要素は <execNative> の子要素です。<shell> 要素のコンテンツは、実行されるコマンドを指定します。実行されるコマンドは、cmd 属性で指定されるインタプリタによって解釈されます。したがって、そのコマンドはプラットフォームの sh -c “command” 構文を使用して実行されます。この書式では、コマンドの実行に使用するシェルコマンドを示すために cmd 属性を指定する必要があります。

次に例を示します。


<execNative>
    <shell cmd=”/usr/bin/bash -c”>
        ls -l | fgrep `*test*' | sort -u > file.out
    </shell>
</execNative>

前に示した <execNative> の例では、次のコマンドを実行していました。


/usr/bin/bash -c `ls -l | fgrep `*test*' | sort -u > file.out'

書式を保持するとともに XML の解析問題を回避するため、<execNative> ステップから XML 表現を生成する際には常に CDATA 要素内にコマンドのテキストコンテンツが包含されます。

コマンド文字列を空の状態にしたり、空白文字だけを入れたりすることは認められません。コマンド文字列は、(周囲の空白も含め) 指定されているとおりにシェルに送られます。

<shell> 要素のコンテンツは config 生成されます。

<shell> 要素属性

<shell> には 1 つの必須属性 cmd があり、この属性は sh -c 構文内のシェルコマンドです。この文字列に、埋め込みの引用符文字を含めないでください。この文字列は、空白を区切りとして使用して、シェル名と引数を取得するために解析されます。たとえば、/usr/bin/bash -c は空でない文字列にします。この属性は、単純置換変数を参照できます。

<successCriteria> 要素

<successCriteria> 要素は <execNative> の子要素です。この子要素は、 <execNative> ステップが正常に実行されたかを評価するために使用される基準を指定します。 この要素が指定されない場合のデフォルト値は <successCriteria status=”0”/> です。

空の <successCriteria> を指定すると、<successCriteria> は無視されます。

<successCriteria/> を指定した場合、コマンドがどのような出力または終了コードを生成した場合でも、ステップは常に成功します。

<successCriteria> 要素属性

<successCriteria> 要素には次のオプション属性があります。statusoutputMatches、および errorMatches 属性の中から複数の属性が指定されると、それらの AND (論理積) がとられます。