本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

模板變數賦值

更新時間:2024-11-04 20:23

本文向您介紹如何對定義的模板變數進行賦值。

模板VARIANT 資料型別匯總

資料類型

類型說明

資料類型

類型說明

String

ECS執行個體名稱

Integer

ECS系統硬碟容量

Boolean

某資源是否“忽略部署”

Map

資源標籤資訊

List

ECS的IP地址白名單

List<Map>

ECS資料盤列表

ChargeType

僅限於賦值給資源付費方式變數

定義局部模板變數

本文以ECS模板為例,來介紹如何對上述不同類型的變數進行賦值。

  1. 如下圖所示,首先建立一個ECS模板,具體操作可以參考建立個人模板image

  2. 參考模板變數配置,為模板定義以下變數。

    變數

    變數值

    預設值

    變數

    變數值

    預設值

    數量

    ${count}

    1

    執行個體名稱

    ${name}

    ecs

    系統硬碟容量

    ${storage}

    40

    資料盤

    ${data_disk}

    []

    資源標籤

    ${tags}

    {"cadt":"uat"}

  3. 配置完成後,在我的模板庫列表查看定義的模板變數,可以看到變數類型包括Integer、String、List<Map>、Map等。 image

定義通用範本變數

下面我們對上面的例子做一下增強,增加通用範本變數。其中模板變數的配置如下:

  1. 如下圖所示,首先建立一個ECS模板,具體操作可以參考建立個人模板essss2

  2. 參考模板變數配置,為模板定義以下變數。bbbbb2

通過Java代碼賦值模板變數

如果您熟悉Java程式設計語言,可以通過Java代碼對模板變數賦值,範例程式碼如下所示:

variables = Maps.newHashMap();

//賦值ECS執行個體名稱變數 ${name}
variables.put("${name}", "ecs123");

//賦值ECS數量變數 ${count}
variables.put("${count}", "1");

//賦值ECS系統硬碟容量變數 ${storage}
variables.put("${storage}", "40");

//賦值ECS資料盤變數 ${data_disk}
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));

//賦值ECS資源標籤變數 ${tags}
Map<String, String> tags = Maps.newHashMap();
tags.put("role", "dev");
tags.put("project", "abc");
variables.put("${tags}", JSON.toJSONString(tags));

// 上面對variables賦值後,調用如下API建立應用。
createApplicationRequest = new CreateApplicationRequest()
        .setTemplateId(templateId)      // 使用變數的模版ID
        .setName(appName)                  //  產生的應用ID
        .setAreaId(region)                       // 模版的region
        .setVariables(variables)              // 傳入變數
        .setClientToken(UUID.randomUUID().toString());

  • 本頁導讀 (0, M)
  • 模板VARIANT 資料型別匯總
  • 定義局部模板變數
  • 定義通用範本變數
  • 通過Java代碼賦值模板變數
文檔反饋
phone 聯絡我們

立即和Alibaba Cloud在線服務人員進行交談,獲取您想了解的產品信息以及最新折扣。

alicare alicarealicarealicare