対象置換変数を使用すると、特定のホストから値を直接取得できます。
対象置換変数の構文は、以下のとおりです。
:[target:varname] :[target(hostname):varname] |
target で始まる変数名は、現在プランが実行されている論理ホストを指します。
コロンの後に追加する varname パラメタは、対象ホストの定義でインストール中のアプリケーションのために指定された属性値を表します。
target の直後に (hostname) を指定した場合、varname の値は特定のホストから検出されます。このホストは現在プランが実行されているホストとは別のホストでもかまいません。 また、展開時にホストの名前に解釈処理される hostname の置換変数を指定することもできます。
ホストの切り替え
ホスト置換参照と外部コンポーネント置換参照には、ホストの切り替えをオプションで含めることができます。ホストの切り替えでは、変数やコンポーネントが検索されるホストが、現在の対象から指定ホストに切り替えられます。 ホストの切り替えの書式は、以下のどれかです。
parent-ref hostname hostname/parent-ref
ここで hostname は、ROX ホストの名前か、展開時に ROX ホストの名前に解釈処理される置換変数参照です。
parent-ref は、指定されたホスト (hostname が省略された場合は現在の対象ホスト) のルート親ホストを意味する「/」、または指定されたホスト (hostname が省略された場合は現在の対象ホスト) の n 番目の親を意味する 1 つ以上のスラッシュで区切られた「..」となります。「n」は、表示された「..」の数です。 parent-ref 演算子は、主に仮想ホストで使用されるためのものですが、物理ホストでも使用できます。 物理ホストにどちらかの演算子を適用すると、ノーオペレーション (空命令) となります。
以下に、対象置換変数の使用例をいくつか挙げます。
この例では、ホスト myHost 上で変数 var1 を検索します。
:[target(myHost):var1] |
この例では、置換変数 hostName で指定されるホスト上で変数 var1 を検索します。
:[target(:[hostName]):var1] |
この例では、プランを実行中の論理ホスト上で変数 var1 を検索します。
:[target:var1] |
対象ホストに対して事前定義される変数は、以下のとおりです。
name – 対象ホストの名前
description – 対象ホストの説明
hostTypeName – 対象ホストのホスト型の名前
raIP – 対象ホスト上の遠隔エージェントの IP アドレス
raPort – 対象ホスト上の遠隔エージェントが使用するポート
raHomeDir - 対象ホスト上の遠隔エージェントのホームディレクトリの絶対パス
raDataDir - 対象ホスト上の遠隔エージェントのデータディレクトリの絶対パス
raTmp Dir - 対象ホスト上の遠隔エージェントの一時ディレクトリの絶対パス
raConfigDir - 対象ホスト上の遠隔エージェントの構成ディレクトリの絶対パス
事前定義された変数以外に、 対象ホストのホスト型によって宣言されたホスト属性も参照できます。
以下に、apache のコンポーネントで定義された変数の一覧の例を示します。
<varList> <var name="domainname" default=":[target: domainname]" /> <var name="name" default="apache" /> <var name="installPath" default="/opt/apache" /> <var name="execNativeShutdown" default=":[installPath]/bin/apachectlstop" /> <var name="execNativeStartUp" default=":[installPath]/bin/apachectlstart" /> </varList> |
このコンポーネントは、ドメイン名が対象ホストから動的に検出されることを指定し、「name」のデフォルト値に「apache」を定義した後、2 つの execNative 変数の定義で使用する変数 installPath の値を指定します。
構成ファイル内で対象置換変数を使用することはできませんが、構成ファイル内からホスト固有の値を参照することは可能です。 これは、参照する変数の値がホスト固有の値として計算される場合があるからです。 たとえば、コンポーネントの <varList> セクション内に以下の変数を定義したとします。
<var name="pants" value=":[target:pie]"> |
ここで構成ファイル内から :[pants] を参照します。 :[pants] は、対象ホストによって定義された pie 変数の値と置き換えられます。