比較対象のコンポーネントのリソースが、パッケージ、データベース、アーカイブ (ZIP ファイルなど) に格納されている場合は、スクリプトを使って、比較の実行前にリソースをエクスポートしたり変換したりすることができます。プロビジョニングソフトウェアで、ファイル内容の解凍やエクスポートなどのネイティブコマンドを実行するには、execNative 手順を使用します。
ネイティブコマンドは、prepare ブロックや cleanup ブロック内で実行できます。これらのブロックは、比較の前後で使用します。これらの使用により、圧縮アーカイブからファイルが抽出され、指定の出力ファイルに出力されます。このファイルは、クリーンアップ時に削除されます。
この execNative は、プランやコンポーネントに含まれる execNative とは異なり、prepare ブロックか cleanup ブロックに含まれていなければなりません。また、変数を利用することはできません。
ブラウザインタフェースを使用してインストールとインストールの比較を行うときは、「Include Temporary Files Generated By Scripts During Comparison」というラベルの付いたチェックボックスをオンにします。このチェックボックスをオンにすると、現在のページが更新され、prepare ブロックと cleanup ブロックの入力フィールドが 1 つずつ表示されます。
適切なチェックボックスをオフにして、比較ホストの prepare ブロックと cleanup ブロックを置き換えることもできます。
execNative については、『Sun N1 Service Provisioning System 5.1 XML スキーマリファレンスガイド』の第 2 章「コンポーネントと単純プランにより使用される共有スキーマ」を参照してください。
この prepare ブロックは、execNative の結果を出力する出力ファイルを指定します。execNative は、/tmp ディレクトリの内容を一覧表示します。
<prepare>
<execNative outputFile="file.txt" dir="temp">
<exec cmd="ls">
<arg value="-l"></arg>
<arg value="/tmp"></arg>
</exec>
</execNative></prepare>
|
この cleanup ブロックは、出力ファイル file.txt を /temp ディレクトリから削除します。
<cleanup>
<execNative dir="/temp/">
<exec cmd="rm">
<arg value="-rf"></arg>
<arg value="file.txt"></arg>
</exec>
</execNative></cleanup>
|