N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド

第 4 章 プランのスキーマ

この章では、N1 Grid Service Provisioning System プランの XML スキーマについて説明します。次のトピックを説明します。

特に断りのない限り、この章で説明する属性は、コンポーネントスコープの置換変数を参照できません。

XML スキーマアーキテクチャーの概要は、第 1 章「XML スキーマの概要」を参照してください。

<executionPlan> 要素

プラン全体は、<executionPlan> 要素によって包含されます。

プランは、単純プランまたは複合プランのどちらかです。単純プランは、ターゲットサーバーの特定セットに対して実行されるステップの連続リストです。単純プランはほかのプランを含まず、ほかのプランを呼び出すこともありません。複合プランは、ほかのサブプランだけから構成されています。各単純サブプランは、異なる対象セットで実行可能であるため、複合プランは直接の対象とはなりません。

<executionPlan> 要素には次の子要素があり、以下に示す順序で出現する必要があります。これらの子要素は、独自の子要素や属性 (両方も可能) を持つことができます。

<executionPlan> 要素属性

<executionPlan> 要素には次の属性があります。

<paramList> 要素

<paramList> 要素は、<executionPlan> 要素のオプションの子です。この要素は、プラン内に含まれるステップおよび参照されるコンポーネントが使用するパラメータのリストを宣言するために使用されます。この要素を指定する場合、この要素は 1 回しか出現できません。

このプランが最上位のプランとして実行される場合、呼び出し側はこのリストで宣言された全パラメータの値を入力するように求められます。このプランがほかのプラン内で <execSubplan> ステップの結果として呼び出される場合、呼び出し側のプランは、デフォルト値を持たない <paramList> で宣言されたすべてのパラメータの値を明示的に渡す必要があります。

<paramList> 要素には 1 つの必須子要素 <param> があり、これはプランパラメータの宣言です。この宣言には、名前、プロンプト、デフォルト値が含まれます。宣言する必要があるパラメータごとに、1 つの <param> 要素を指定できます。

<param> 要素

<param> 要素はプラン <paramList> 要素の子であり、プラン内で使用するパラメータの宣言に使用されます。

<param> 要素の属性

<param> 要素には次の属性があります。

<varList> 要素

<varList> 要素は <executionPlan> 要素と <inlineSubplan> ステップのオプションの子です。<inlineSubplan> ステップの詳細については、<inlineSubplan> ステップ」を参照してください。 <varList> 要素は、プラン内に含まれるステップおよび参照されるコンポーネントが使用する変数のリストを宣言するために使用されます。これらの変数の値は宣言時に定義され、再定義は行えません。この要素を指定する場合、この要素は 1 回しか出現できません。

<varList> 要素には 1 つの必須子要素 <var> があり、これはプラン変数の宣言です。宣言には名前と値が含まれます。宣言する必要がある変数ごとに、1 つの <var> 要素を指定します。

<var> 要素

<var> 要素は plan <varList> 要素の子であり、プラン変数 (名前や値など) を宣言するために使用されます。

<var> 要素の属性

この要素には次の属性があります。

<simpleSteps> 要素

<simpleSteps> 要素は <executionPlan> 要素および <inlineSubplan> ステップのオプションの子です。<inlineSubplan> ステップの詳細については、<inlineSubplan> ステップ」を参照してください。<simpleSteps> 要素には、1 つ以上の「共通」ステップまたは「単純プラン専用」ステップが含まれます。<simpleSteps> 要素の存在は、そのプランが (複合プランではなく) 単純プランであることを示します。この要素を指定する場合、この要素は 1 回しか出現できません。

実行時にこの要素内のステップは、呼び出し側によって選択された一連の論理ターゲットホストで順次実行されます。このようなホストは初期ターゲットホストと呼ばれます。このプランの実行時に、そのステップは、初期ホスト以外のホストで実行されるようリダイレクトすることができます。プランが実際に実行されるホストは現在のターゲットホストと呼ばれます。ステップがリダイレクトされない場合、現在のホストと初期ホストは同じになります。初期ホストは、現在のホストと同じように、仮想ホストと物理ホストのどちらにもなれます。物理ホストは現在のホストのルート親ホストで、現在のホストが物理ホストである場合、現在のホストと同じです。

<simpleSteps> 要素の子は、1 つ以上の「共通」ステップまたは「単純プラン専用」ステップから構成されています。これらのステップには、プランのパラメータおよび変数への参照を含めることができます。詳細は、「単純プラン専用のステップ」を参照してください。

<simpleSteps> 要素の属性

<simpleSteps> 要素には次の属性があります。

<compositeSteps> 要素

<compositeSteps> 要素は <executionPlan> 要素および <inlineSubplan> ステップのオプションの子です。<inlineSubplan> ステップの詳細については、<inlineSubplan> ステップ」を参照してください。<compositeSteps> 要素には、1 つ以上の「複合プラン専用」ステップが含まれます。<compositeSteps> 要素の存在は、そのプランが複合プランであることを示します。<compositeSteps> 要素に属性は含まれません。この要素を指定する場合、この要素は 1 回しか出現できません。

<compositeSteps> 要素の子は、1 つ以上の「複合プラン専用」ステップから構成されます。これらのステップには、プランのパラメータおよび変数への参照を含めることができます。詳細は、「複合プラン専用のステップ」を参照してください。

複合プラン専用のステップ

この節では、複合プラン内でだけ使用できるステップを説明します。複合プラン内に含まれる一部のステップの属性は、プラン変数およびプランパラメータの参照を含むことができます。

<execSubplan> ステップ

<execSubplan> ステップは、ほかのプランを実行します。<execSubplan> ステップは、<compositeSteps> 要素の子としてしか指定できません。

<execSubplan> ステップには、1 つのオプション子要素 <argList> があり、これは呼び出されたプランに渡す引数の一覧です。呼び出されたプランの <paramList> セクション内の、デフォルト値が宣言されていないパラメータごとに、この <argList> によって宣言された対応する引数が存在しなければなりません。詳細は、<argList> 要素」を参照してください。この要素を指定する場合、この要素は 1 回しか出現できません。

<execSubplan> ステップの属性

<execSubplan> ステップには次の属性があります。

<inlineSubplan> ステップ

<inlineSubplan> ステップは、連続した複数のステップを実行します。このステップは、<compositeSteps> 要素の子としてしか指定できません。

<inlineSubplan> ステップは <execSubplan> ステップに類似していますが、<execSubplan> ステップは実行する外部プランの名前を指定するのに対し、<inlineSubplan> ステップは子要素として実行するプランを直接包含します。

インラインサブプランと最上位プランの大きな違いは、インラインサブプランは別個の名前付きエンティティとしては保存されない点です。そのためインラインサブフランは、<execSubplan> ステップでは外部から参照することができません。最上位プランは別個の名前付きエンティティであり、<execSubplan> ステップからの参照が可能です。

インラインサブプランは、コンテンツが簡潔で、呼び出し側プランのコンテキストとロジックに直接結合されている場合に便利です。このような場合以外は、独立したプランとして使用しても無意味です。呼び出し側プランのコンテキストとロジックに直接結合されている場合は、自己包含した 1 つのユニットに全ステップを含めるとプランのメンテナンスが容易になるほか、プランが読みやすくなります。

最上位プランと異なり、インラインサブプランはパラメータを宣言できません。インラインサブプランは、包含するすべてのプランのパラメータと変数を暗黙に継承します。インラインサブプランがそれ自身にローカルな変数を別途宣言することは可能であり、これにより包含するプランの変数とパラメータを隠蔽できます。サブプラン変数と包含するプランの変数が同じ名前を持つと、サブプラン変数が包含するプランの変数を隠蔽します。このようなケースでは、そのステップで使用できるのは一番内側のサブプランによって宣言された変数の値だけです。

<inlineSubplan> ステップはオプションの <varList> から構成され、インラインサブプランが単純プランであるか複合プランであるかに基づき、1 つの追加子要素 <simpleSteps> または <compositeSteps> がそのあとに続きます。

<inlineSubplan> ステップには次の子要素があります。

<inlineSubplan> ステップの属性

<inlineSubplan> ステップには次の属性があります。

単純プラン専用のステップ

この節では、単純プラン内でだけ使用できるステップを説明します。プラン内に含まれるステップは、そのプランによって宣言された変数を参照できます。またこれらのステップは、すべての包含プランの隠蔽されていないあらゆる変数とパラメータも参照できます。

<install> ステップ

<install> ステップは、コンポーネントをターゲットホストにインストールします。これにより、関連付けられたコンポーネントの指定された <installSteps> 要素のステップが実行されます。 このステップは、<simpleSteps> 要素の子としてしか指定できません。

<install> ステップには次の子要素があります。

<install> ステップの属性

<install> ステップには entityName 型の 1 つの必須属性blockName があり、これは対象コンポーネント内で実行されるインストールブロックの名前です。

<uninstall> ステップ

<uninstall> ステップは、ターゲットホスト上に現在インストールされているコンポーネントのリソースをアンインストールします。これにより、関連付けられたコンポーネントの指定された <uninstallSteps> 要素のステップが実行されます。このステップは、<simpleSteps> 要素の子としてしか指定できません。

<uninstall> ステップには次の子要素があります。

<uninstall> ステップの属性

<uninstall> ステップには entityName 型の 1 つの必須属性 blockName があり、これは対象コンポーネント内で実行するアンインストールブロックの名前です。