テンプレート変数の定義
ローカル変数の設定
-
[マイソリューション] ページで、変数を定義するテンプレートを見つけて、[テンプレートの編集] をクリックします。このトピックでは、Elastic Compute Service (ECS) のテンプレートを例として使用します。
-
リソースアイコンをダブルクリックして設定パネルを開きます。[fx] アイコンが付いた任意の属性で変数を定義できます。
-
右側の [fx] アイコンをクリックして、[カスタム変数] ダイアログボックスを開きます。次の表でパラメーターを説明します。
パラメーター
説明
フォーマット
要件
変数名
変数の名前です。
${variable_name}
-
${} 構文が必要です。
-
変数名に使用できる文字は、英字、数字、ハイフン、アンダースコアのみです。
プレースホルダー
アーキテクチャ記述ファイルで使用するプレースホルダーのフォーマットです。
「${variable_name}」と、数字 (0-9) や英字 (A-Z) などの他の文字を組み合わせたものです。
通常、プレースホルダーは変数名と同じにします。
グローバル変数を使用する場合は、プレースホルダーにグローバル変数名を追加する必要があります。
デフォルト値
他の値が割り当てられていない場合に使用する値です。
セカンダリ属性にはデフォルト値を設定できません。
-
-
ここでは、ECS リソースの
count属性とインスタンス名属性に変数を定義します。[fx] アイコンをクリックしてカスタム変数を設定します。たとえば、変数名とプレースホルダーの両方を${count}に設定し、デフォルト値を1に設定してから、[変数の追加] をクリックします。インスタンス名については、変数名とプレースホルダーを${instance_name}に設定し、デフォルト値をecsに設定してから、[変数の追加] をクリックします。
ローカル変数を設定する場合、変数名とプレースホルダーは同じにする必要があります。
グローバル変数の設定
ユースケース: グローバル変数を使用すると、テンプレート全体で異なるタイプの複数のリソースに同じ変数を適用できます。たとえば、次の図に示すテンプレートで、グローバル変数を使用してテンプレート内のすべてのインスタンス名に共通のプレフィックスまたはサフィックスを追加できます。

-
変数を定義した後、[マイソリューション] ページでテンプレートを見つけて、[テンプレート変数の表示] をクリックします。
-
左上の [グローバル変数の追加] をクリックします。設定手順はローカル変数と同様です。表示されるダイアログボックスで、[変数タイプ] を [String] に設定します。[変数名] には
${prefix}を入力します。名前は${variable_name}フォーマットで、英字、数字、ハイフン、アンダースコアのみ使用できます。[デフォルト値] にはprefixを入力します。この値は任意です。次に、[変数の追加] をクリックします。定義した${prefix}変数は、[カスタム変数] ダイアログボックスの [グローバル変数] セクションに表示されます。タイプは [String]、デフォルト値は [prefix] と表示されます。 -
ローカル変数を変更し、グローバル変数を組み込みます。ハイフン (-) などの文字を使用して、グローバル変数とローカル変数を連結できます。たとえば、ECS インスタンス名にプレフィックスを追加するには、変数名を
${prefix}-${instance_name}に変更し、プレースホルダーを${prefix}-${instance_name}に変更してから、[変数の追加] をクリックします。同様に、Kafka インスタンス名のローカル変数を${prefix}-${kafka_name}に変更し、[変数の追加] をクリックします。重要グローバル変数は特定のリソース属性に関連付けられていないため、プレースホルダーはありません。グローバル変数の値をローカル変数に割り当てる場合は、データ型が一致していることを確認してください。
-
テンプレートから作成したインスタンス名の例:


上記の例では、連結に使用したハイフン (-) は、インスタンスの命名規則に準拠している限り、他の任意の文字または文字列に置き換えることができます。システムは、変数を展開する際に連結文字を保持します。
テンプレート変数の表示
-
変数を定義した後、[マイソリューション] ページでテンプレートを見つけて、[テンプレート変数の表示] をクリックします。
-
-
変数名:定義済みの変数名です。
-
デフォルト値:他の値が変数に割り当てられていない場合に使用するデフォルト値です。
-
変数タイプ:変数のデータ型です。値の割り当て方法を決定するため、重要です。
-
プレースホルダー:プレースホルダーはローカル変数に関連付けられています。
${prefix}などのグローバル変数にはプレースホルダーがありません。UI では、[プレースホルダー] 列に、${prefix}-${instance_name}や${prefix}-${kafka_name}など、プレースホルダーがグローバル変数を参照して結合名を作成する方法が表示されます。また、[RefId] や [属性名] などの列は、これらの変数を特定のリソース属性に関連付けます。
-
テンプレート変数の削除
テンプレート変数は、次のいずれかの方法で削除できます:
-
[テンプレート変数の表示] ダイアログボックスで、対象の変数の [操作] 列にある [削除] をクリックします。
-
変数定義ダイアログボックスで、[現在の変数を削除] ボタンをクリックして変数を削除します。