N1 Grid Service Provisioning System 5.0 プランとコンポーネントの開発者ガイド

置換変数の使用

単純置換変数は、構成ファイルを含めてあらゆる入力ソースで使用できます。外部コンポーネント置換変数とターゲット置換変数は<installSteps><uninstallSteps><controlService>、および <executionPlan> 要素の <varList>/<var> のデフォルト値をはじめ、さまざまな場所で使用できます。

:[varname] 形式の単純置換変数参照は、構成ファイルや構成可能コンポーネントの属性をはじめ、あらゆる入力ソースで使用できます。ただし、ホスト置換参照 (:[target:varname]) と外部コンポーネント置換参照 (:[component:compRef:varname]) を使用できるのは、変数設定値に限定されます。

変数設定値には、<var> のデフォルト属性値と、変数設定オーバーライドの値が含まれますが、構成ファイルまたはその他の構成可能コンポーネント属性は含まれません。この制限によって、コンポーネントとコンポーネントが参照する構成ファイル内のすべての変数が、コンポーネントの <varlist> 要素によって明示的に宣言されて検証されることが保証されます。

次に、特定の入力ソースで使用できる置換変数をすべて示します。記載する要素と属性は入力ソースであり、サブリストには使用できる変数の種類を示します。

次に示すコンポーネントの configuration 属性には、置換変数参照を含めることができます。

親要素 

置換可能な属性 

<capture>/<addFile>

displayNamepath

<component>

installPath

<diff>/<ignore>

path

<installSpec>

namepathpermissionsusergroupdeployModediffDeploy

<paramList>/<param>

default

<targetRef>

hostName

<targetRef>/<agent>

connectionipAddrportparams

<varList>/<var>

default

次に示す、コンポーネントまたはプランに指定された step 属性には、置換変数参照を含めることができます。

親要素 

置換可能な属性 

<argList>

<argList> 要素の属性、形式は自由

<execJava>

classNameclassPath

<execNative>

diruserToRunAs

<execNative>/<ouputFile>

name

<execNative>/<errorFile>

name

<execNative>/<env>

namevalue

<execNative>/<exec>

cmd

<execNative>/<exec>/<arg>

value

<execNative>/<shell>

cmd<body>

<execNative>/<successCriteria>

outputMatcheserrorMatches

<execNative>/<inputFile>

name

<execNative>/<inputText>

<body>

<if>/<condition>/<equals>

<if>/<condition>/<istrue>

<if>/<condition>/<matches>

value1value2

value

valuepattern

<processTest>

processNamePatternuser

<raise>

<retarget>

<retarget>/<varList>/<var>

message

host

default

<sendCustomEvent>

message

<transform>

inputoutput

<transform>/<source>

name

<transform>/<stylesheet>

<body>

<transform>/<subst>

matchreplace

<urlTest>

urlpattern

次のプラン属性には、置換変数参照を含めることができます。

親要素 

置換可能な属性 

<paramList>/<param>

default

<varList>/<var>

default

インストール型コンポーネントターゲッタの次の属性には、置換変数参照を含めることができます。

親要素 

置換可能な属性 

<installedComponent>

installPathhost

<systemType>

installPathhost

<targetableComponent>

host

<toplevelRef>

installPathhost

リポジトリコンポーネントターゲッタの次の属性には、置換変数参照を含めることができます。

親要素 

置換可能な属性 

<component>

<toplevelRef>

host

host


例 6–5 置換変数の使用方法

次に、Apache Web サーバー用のコンポーネントで定義されている変数の例を示します。


<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>

このコンポーネントの指定内容は、次のとおりです。

構成ファイルでターゲット置換変数を使用することはできませんが、構成ファイルからホスト固有の値を参照できます。これが可能なのは、参照する変数の値がホスト固有値として計算可能だからです。たとえば、コンポーネントの <varList> セクションに、次の変数を定義しておくことができます。


<var name="box" value=":[target:room]">

この場合、構成ファイルから :[box] を参照できます。:[box] を置換するときには、ターゲットホストによって定義された room 変数の値に置き換えられます。