本文向您介紹如何對定義的模板變數進行賦值。
模板VARIANT 資料型別匯總
資料類型 | 類型說明 |
資料類型 | 類型說明 |
String | ECS執行個體名稱 |
Integer | ECS系統硬碟容量 |
Boolean | 某資源是否“忽略部署” |
Map | 資源標籤資訊 |
List | ECS的IP地址白名單 |
List<Map> | ECS資料盤列表 |
ChargeType | 僅限於賦值給資源付費方式變數 |
定義局部模板變數
本文以ECS模板為例,來介紹如何對上述不同類型的變數進行賦值。
定義通用範本變數
下面我們對上面的例子做一下增強,增加通用範本變數。其中模板變數的配置如下:
通過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());