<argList> 要素は、<call>、<install>、<uninstall>、<execSubplan>、および <addSnapshot> ステップの子です。この要素は、呼び出されるサービスに引数として渡される一連の変数を指定します。
呼び出されるサービスの方は、待ち受ける変数を <paramList> 要素を使用して宣言します。<argList> 内の変数と呼び出される <paramList> 内の変数は同じである必要はありません。
<paramList> 内で宣言される各変数のうちデフォルト値を持たないものについては、<argList> 内に同じ名前の対応する変数が含まれる必要があります。この条件が満たされない場合、プラン実行時にプリフライトエラーが発生します。プロビジョニングシステムは、 (<argList> 内に対応する変数が存在する) 呼び出される <paramList> で、各変数を実行します。 <paramList> 内の変数の値は、呼び出されるサービスの実行時に <argList> 内の対応する変数の値を取得します。
<argList> 内の変数のうち呼び出される <paramList> 内の変数に対応しないものは、単純に無視されます。よって、下位互換性を維持しながら、パラメタを追加することによりサービスを再定義できます。そのため、1 つのプランで同じサービスの新旧両方のバージョンを呼び出すことができます。
<argList> 要素の引数は属性として表現されます。引数の順番はあまり重要ではありません。次の <argList> は 2 つの引数 password と path を宣言しています。
<argList password=":[password]" path="/tmp"/> |
<argList> 要素には、属性を少なくとも 1 つは指定する必要があります。各属性は、呼び出されるサービスに渡される名前付き変数として扱われます。各属性の名前は置換変数参照のない識別子でなければならず、属性名は呼び出されるサービス内のパラメタの名前に対応する必要があります。各属性の値は任意の文字列であり、包含するスコープ内の変数の参照を含むことができます (<argList> 内のほかの引数は含むことができない)。