すべてのプロダクト
Search
ドキュメントセンター

Cloud Architect Design Tools:テンプレート変数への値の割り当て

最終更新日:Jun 22, 2026

このトピックでは、テンプレート変数に値を割り当てる方法について説明します。

テンプレート変数のデータ型

タイプ

説明

string

Elastic Compute Service (ECS) インスタンスの名前。

integer

ECS システムディスクのサイズ。

boolean

リソースのデプロイメントを無効にするかどうかを示します。

map

リソースタグのキーと値のペア。

list

ECS インスタンスの IP アドレスホワイトリスト。

list<map>

ECS データディスクのリスト。

charge type

リソースの課金タイプを指定します。

カスタム変数の定義

このセクションでは、ECS テンプレートを使用して、さまざまなデータ型の変数に値を割り当てる方法を説明します。

  1. 次の図に示すように、ECS テンプレートを作成します。詳細については、「個人用テンプレートの作成」をご参照ください。image

  2. テンプレートに次の変数を定義します。詳細については、「テンプレート変数の設定」をご参照ください。

    パラメーター

    デフォルト

    数量

    ${count}

    1

    インスタンス名

    ${name}

    ecs

    システムディスクサイズ

    ${storage}

    40

    データディスク

    ${data_disk}

    []

    タグ

    ${tags}

    {"cadt":"uat"}

  3. 設定が完了すると、[マイソリューション] ページで、定義された変数とその型 (整数、文字列、list<map>、マップなど) を確認できます。image

グローバルテンプレート変数の定義

このセクションでは、前の例を拡張し、グローバル変数を追加します。テンプレート変数は次のように設定されます。

  1. 次の図に示すように、ECS テンプレートを作成します。詳細については、「個人用テンプレートの作成」をご参照ください。essss2

  2. テンプレートに変数を定義します。詳細については、「テンプレート変数の設定」をご参照ください。カスタム変数設定パネルの [グローバル変数] セクションで、2 つの変数が定義されています。${sys} (タイプ: 文字列、デフォルト: erp) と ${storage} (タイプ: 整数、デフォルト: 100) です。[カスタム変数] セクションでは、変数がリージョンごとに整理されています。各カスタム変数には、名前、プレースホルダー、タイプ、デフォルト値、RefId、およびプロパティ名が含まれます。たとえば、変数 ${name1} のプレースホルダーは ${name1}_${sys} で、RefId 1711695457 に関連付けられ、プロパティ名は instance_name です。変数 ${disk2} のプレースホルダーは ${storage} で、RefId 1711705942 に関連付けられ、プロパティ名は system_disk_size です。カスタム変数のプレースホルダーでグローバル変数を参照して、パラメーターを再利用できます。

Java コードを使用した値の割り当て

Java に精通している場合は、Java コードを使用してテンプレート変数に値を割り当てることができます。次のコードは例です。

variables = Maps.newHashMap();
// インスタンス名を設定します。
variables.put("${name}", "ecs123");
// インスタンス数を設定します。
variables.put("${count}", "1");
// システムディスクのサイズを設定します。
variables.put("${storage}", "40");
// データディスクを設定します。
List<Map<String, String>> disks = Lists.newArrayList();
Map<String, String> disk1 = Maps.newHashMap();
disk1.put("name", "disk1");
disk1.put("size", "50");
disk1.put("category", "cloud_essd");
disk1.put("performance_level", "PL1");
disk1.put("encrypted", "false");
disks.add(disk1);
Map<String, String> disk2 = Maps.newHashMap();
disk2.put("name", "disk2");
disk2.put("size", "60");
disk2.put("category", "cloud_essd");
disk2.put("performance_level", "PL1");
disk2.put("encrypted", "false");
disks.add(disk2);
variables.put("${data_disk}", JSON.toJSONString(disks));
// タグを設定します。
Map<String, String> tags = Maps.newHashMap();
tags.put("role", "dev");
tags.put("project", "abc");
variables.put("${tags}", JSON.toJSONString(tags));
// 変数に値を割り当てた後、次の API オペレーションを呼び出してアプリケーションを作成します。
createApplicationRequest = new CreateApplicationRequest()
        .setTemplateId(templateId)      // 変数を使用するテンプレートの ID。
        .setName(appName)                  // アプリケーション名。
        .setAreaId(region)                       // テンプレートが配置されているリージョン。
        .setVariables(variables)              // 変数を渡します。
        .setClientToken(UUID.randomUUID().toString());