この節では、特定のインストール済みコンポーネントを包含ステップ (制御サービスコールなど) の対象として特定する要素を示します。対象となるすべてのステップですべてのターゲッターを使用できるわけではありません。各ターゲッターは、それ自体が使用できるステップを指定します。
<installedComponent> 要素は、ターゲットホスト上にインストールされていると想定される特定のインストール済みコンポーネントを特定します。
この要素は、<checkDependency>、<createDependency>、<call>、<uninstall>、および <addSnapshot> ステップのターゲッターとして使用できます。
このターゲッターは指定されたコンポーネントを直接照合するもので、指定されたコンポーネントの派生インスタンスの照合には使用できません。特定の型から派生したコンポーネントを対象とする場合は、<systemType> ターゲッターを使用してください。
このターゲッターには次の属性があります。
path – pathReference 型のオプション属性で、コンポーネントのパス。この属性を指定しないと、包含するエンティティのパスが使用されます。
version – version 型のオプション属性で、インストール済みコンポーネントのバージョン。この属性を指定しないと、バージョンを考慮せず、最後にインストールされたコンポーネントが使用されます。
versionOp – オプション属性で、version 属性と、ターゲットホストにインストールされているコンポーネントのバージョンを比較する際に使用する演算子を指定します。複数のインストール済みコンポーネントが適用される場合、最後にインストールされたコンポーネントが使用されます。使用できる値は、=、>=、および > です。
デフォルトでは >= 演算子が使用されます。version を指定しないと、versionOp は無視されます。
onlyCompat – オプション属性で、照合を行うコンポーネントを指定します。
値が true である場合、バージョン version のコンポーネントと呼び出し互換性のあるコンポーネントだけを照合する必要があります。バージョン version のコンポーネントが存在する必要があります。デフォルトでは値は false です。version を指定しないと、この要素は無視されます。
installPath – オプション属性で、インストール済みコンポーネントのインストールパス。この属性を指定しないと、任意のパスの一番新しいインストール済みコンポーネントが使用されます。この値は、コンポーネントの解決処理の前に共通書式に変換されます。この属性は、単純置換変数を参照できます。
host – オプション属性で、コンポーネントがインストールされているホスト。デフォルトでは、host は現在のホストです。host 属性の詳細については、「<retarget> ステップの属性」を参照してください。この属性は、単純置換変数を参照できます。
<systemService> 要素は、現在の物理ホストにインストールされていると想定される特定のシステムサービスコンポーネントを特定します。システムサービスがプラグインにより定義されている場合は、pluginName# serviceName のように、サービス名にはプラグイン名を接頭辞として付ける必要があります。
この要素は、<checkDependency>、<createDependency>、<call>、<uninstall>、および <addSnapshot> ステップのターゲッターとして使用できます。
<systemService> ターゲッターを使用すると、暗黙に現在のホストのルート物理ホストに対象が変更されます。別のホスト上のシステムサービスを対象とする必要がある場合は、<retarget> ステップを使用する必要があります。このステップを使用しないかぎり、<systemService> ターゲッター内で新しいホストを指定することはできません。
<systemService> ターゲッターには systemName 型の 1 つの必須属性 name があり、これはシステムサービスコンポーネントの名前です。システムサービスがプラグインにより定義されている場合は、pluginName# serviceName のように、システムサービス名にはプラグイン名を接頭辞として付ける必要があります。
<systemType> 要素は、ターゲットホスト上にインストールされていると想定される特定の型のインスタンスであるコンポーネントを特定します。指定した基準に複数のインストール済みコンポーネントが一致する場合、一番最近インストールされたコンポーネントが使用されます。
<systemType> 要素は、<checkDependency>、<createDependency>、<call>、<uninstall>、および <addSnapshot> ステップのターゲッターとして使用できます。
<systemType> ターゲッターには次の属性があります。
name – systemName 型の必須属性で、システム型コンポーネントの名前。システム型がプラグインにより定義されている場合は、pluginName# typeName のように、システム型名にはプラグイン名を接頭辞として付ける必要があります。
installPath – オプション属性で、必要なコンポーネントのインストールパス。この値は、コンポーネントの解決処理の前に共通書式に変換されます。この属性は、単純置換変数を参照できます。
host – オプション属性で、コンポーネントがインストールされるホストです。デフォルトでは、host は現在のホストです。host 属性の詳細については、「<retarget> ステップの属性」を参照してください。この属性は、単純置換変数を参照できます。
<thisComponent> 要素は、ステップを含むコンポーネントを、ステップの対象として使用する必要があることを指定します。 このターゲッターを使用できるのは、コンポーネント内に含まれるステップだけです。この要素には属性がありません。
<thisComponent> 要素は、<call>、<uninstall>、および <addSnapshot> ステップのターゲッターとして使用できます。
リストされたステップにコンポーネントターゲッター要素が含まれない場合、デフォルトで <thisComponent> が使用されます。
<superComponent> 要素は、ステップを含むコンポーネントのベースコンポーネントを、ステップの対象として使用する必要があることを示します。このターゲッターを使用できるのは、派生コンポーネント内に含まれるステップだけです。
<superComponent> 要素は、<call>、<uninstall>、および <addSnapshot> ステップのターゲッターとして使用できます。この要素には属性がありません。
このターゲッターは、派生コンポーネントが無効にする場合でも、常にベースコンポーネントによる該当ステップの定義にバインドします。
<nestedRef> 要素は、現在の複合コンポーネントによって宣言または継承が行われた、入れ子になったコンポーネント参照を特定します。このターゲッターを使用できるのは、複合コンポーネント内のステップだけです。
<nestedRef> 要素は、<checkDependency>、<call>、<uninstall> 、および <addSnapshot> ステップのターゲッターとして使用できます。
この際、指定されたコンポーネント参照が呼び出し側コンポーネントによってすでにインストールされていると想定され、インストールされていない場合はエラーが生成されます。入れ子になったコンポーネント参照が現在のターゲットホスト以外のホストにインストールされた場合は、<nestedRef> ターゲッターを使用することで、関連付けられているステップの対象がそのホストに暗黙に変更されます。
<nestedRef> ターゲッターには identifier 型の 1 つの必須属性 name があり、これは当該コンポーネント内の入れ子になったコンポーネント参照の名前です。
<allNestedRefs> 要素は、現在の複合コンポーネントによって宣言または継承が行われた、入れ子になったコンポーネント参照をすべて特定します。 このターゲッターを使用できるのは、複合コンポーネント内のステップだけです。
この要素は、<call>、<uninstall>、および <addSnapshot> ステップのターゲッターとして使用できます。
このターゲッターは、任意の数のコンポーネントを特定できます。コンポーネントがまったく特定されない場合、ステップはノーオペレーション (空命令) となります。このターゲッターが複数のコンポーネントを特定する場合、特定されるコンポーネントごとに <nestedRef> ターゲッターを使用する個別のステップが存在するかのように、ステップが意味的に展開されます。ステップは同時にではなく連続的に実行され、ステップの順序はステップ型に応じて変化します。コンポーネントの 1 つに対してステップを実行しエラーが生じる場合は、そのステップは一致するほかのコンポーネントに対しては実行されません。
<call> または <addSnapshot> ステップのターゲッターとして使用される場合、ターゲッターは当該コンポーネントによって現在インストールされている、入れ子になったすべてのコンポーネント参照を照合します。コンポーネントの照合はインストール順に行われます。
<uninstall> ステップのターゲッターとして使用される場合、ターゲッターは当該コンポーネントによって現在インストールされている、入れ子になったすべてのコンポーネント参照を照合します。コンポーネントの照合はインストールの逆順に行われます。
<toplevelRef> 要素は、現在の複合コンポーネントによって宣言または継承が行われた最上位のコンポーネント参照を特定します。このターゲッターを使用できるのは、複合コンポーネント内のステップだけです。
<toplevelRef> 要素は、<checkDependency>、<createDependency>、<call>、<uninstall>、および <addSnapshot> ステップのターゲッターとして使用できます。
このターゲッターは、name、path、および version 属性が参照先コンポーネントに基づいて事前定義されることを除き、意味的に <installedComponent> ターゲッターと同じです。詳細は、「 <installedComponent> インストール済みコンポーネントターゲッター」を参照してください。
<toplevelRef> ターゲッターには次の属性があります。
versionOp – オプション属性で、参照先コンポーネントのバージョンをターゲットホスト上にインストールされたコンポーネントのバージョンと比較する際に使用する演算子を指定します。複数のインストール済みコンポーネントが適用される場合、最後にインストールされたコンポーネントが使用されます。
使用できる値は、=、>=、および > です。この属性を指定しないと、>= が使用されます。
onlyCompat – オプション属性で、照合されるコンポーネントを指定します。true の場合、参照先コンポーネントと呼び出し互換性のあるコンポーネントだけを照合する必要があることを示します。デフォルト値は false です。
installPath – オプション属性で、参照先コンポーネントのインストールパス。この属性を指定しないと、任意のパスの最新の参照先コンポーネントインストールが使用されます。この値は、コンポーネントの解決処理の前に共通書式に変換されます。この属性は、単純置換変数を参照できます。
host – オプション属性で、参照先コンポーネントがインストールされているホスト。デフォルトでは、host は現在のホストです。host 属性の詳細は、「<retarget> ステップの属性」を参照してください。この属性は、単純置換変数を参照できます。
<dependee> 要素は、呼び出し側コンポーネントによってその依存性 (<createDependency> で作成される) が宣言されたインストール済みコンポーネントを特定します。このターゲッターを使用できるのは、コンポーネント内のステップだけです。
<dependee> 要素は、<call>、<uninstall>、および <addSnapshot> ステップのターゲッターとして使用できます。
<dependee> ターゲッターには identifier 型の 1 つの必須属性 name があり、これは当該コンポーネントによって作成される依存性の名前です。
<allDependants> 要素は、呼び出し側コンポーネントに対して依存性 (<createDependency> で作成) を宣言してあるインストール済みコンポーネントのセットを特定します。このターゲッターを使用できるのは、コンポーネント内のステップだけです。
<allDependants> 要素は、<call>、<uninstall>、および <addSnapshot> ステップのターゲッターとして使用できます。
このターゲッターは、包含するステップを、一致するすべてのコンポーネントにマップさせるという点で <addNestedRefs> ターゲッターと似た機能を持ちます。依存コンポーネントに対するマップの順序は指定されません。
<allDependants> ターゲッターは、identifier 型の 1 つの必須属性 name を持っています。これはほかのコンポーネントによって当該コンポーネントに対して作成される依存性の名前です。
<targetableComponent> 要素は、ホストを対象とする特定のコンポーネントと関連付けられた、ターゲット可能コンポーネントを特定します。
<targetableComponent> 要素は、<call>、<uninstall>、<checkDependency>、<createDependency>、および <addSnapshot> ステップのターゲッターとして使用できます。
<targetableComponent> ターゲッターには 1 つのオプション属性 name があり、これはホストを対象とするコンポーネントの名前です。この属性を指定しないと、値は現在のターゲットホストになります。この属性は、単純置換変数を参照できます。
インストールパスはインストール済みコンポーネント参照内に指定できます。その場合、installPath 属性の値は、インストール済みコンポーネント参照を解釈処理する前に、共通書式に変換されます。このような変換が行われるのは、インストール済みコンポーネントのインストールパスが、共通書式でも保存されるためです。
共通書式では、インストールパス内にあるパス区切り文字はすべてスラッシュ「/」に置き換えられます。パス区切り文字は、Master Server で動作中のオペレーティングシステムに固有です。末尾の「/」は削除されます。ルートインストールパス (/) は例外で、空のパスには変換されません。
Master Server アプリケーションが UNIX ベースのシステムで実行中である場合、末尾のスラッシュは無視されます。そのため、/opt/apache ディレクトリにインストールされているコンポーネントを指すためには、/opt/apache/ と /opt/apache の両方を使用できます。