模板變量賦值
更新時間:
本文向您介紹如何對定義的模板變量進行賦值。
模板變量數(shù)據(jù)類型匯總
數(shù)據(jù)類型 | 類型說明 |
String | ECS實例名稱 |
Integer | ECS系統(tǒng)盤容量 |
Boolean | 某資源是否“忽略部署” |
Map | 資源標簽信息 |
List | ECS的IP地址白名單 |
List<Map> | ECS數(shù)據(jù)盤列表 |
ChargeType | 僅限于賦值給資源付費方式變量 |
定義局部模板變量
本文以ECS模板為例,來介紹如何對上述不同類型的變量進行賦值。
如下圖所示,首先創(chuàng)建一個ECS模板,具體操作可以參考創(chuàng)建個人模板。
參考模板變量配置,為模板定義以下變量。
變量
變量值
默認值
數(shù)量
${count}
1
實例名稱
${name}
ecs
系統(tǒng)盤容量
${storage}
40
數(shù)據(jù)盤
${data_disk}
[]
資源標簽
${tags}
{"cadt":"uat"}
配置完成后,在我的模板庫列表查看定義的模板變量,可以看到變量類型包括Integer、String、List<Map>、Map等。
定義全局模板變量
下面我們對上面的例子做一下增強,增加全局模板變量。其中模板變量的配置如下:
如下圖所示,首先創(chuàng)建一個ECS模板,具體操作可以參考創(chuàng)建個人模板。
參考模板變量配置,為模板定義以下變量。
通過Java代碼賦值模板變量
如果您熟悉Java編程語言,可以通過Java代碼對模板變量賦值,示例代碼如下所示:
variables = Maps.newHashMap();
//賦值ECS實例名稱變量 ${name}
variables.put("${name}", "ecs123");
//賦值ECS數(shù)量變量 ${count}
variables.put("${count}", "1");
//賦值ECS系統(tǒng)盤容量變量 ${storage}
variables.put("${storage}", "40");
//賦值ECS數(shù)據(jù)盤變量 ${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賦值后,調(diào)用如下API創(chuàng)建應用。
createApplicationRequest = new CreateApplicationRequest()
.setTemplateId(templateId) // 使用變量的模版ID
.setName(appName) // 生成的應用ID
.setAreaId(region) // 模版的region
.setVariables(variables) // 傳入變量
.setClientToken(UUID.randomUUID().toString());
通過YAML文件配置模板變量
借助云速搭CADT命令行工具調(diào)用API可實現(xiàn)CADT應用的部署,創(chuàng)建應用所需的基本信息定義在YAML配置文件中,詳細內(nèi)容請參考《云速搭CADT命令行工具使用說明》。
文檔內(nèi)容是否對您有幫助?