定义模板变量
配置局部变量
-
在我的解决方案页面找到需要定义变量的模板,单击编辑模板,此处以一个ECS模板为例。
-
双击产品图标,打开配置框,定义参数变量,支持定义变量的属性都有标识fx。
-
单击右侧fx弹出自定义变量对话框,配置项具体说明请见下表。
属性
说明
格式
要求
变量值
设置变量名称
${变量名称}
-
“${}”为固定格式
-
“变量名称”只能是大小写字母、数字、中划线或下划线四种字符任意组成的字符串。
定位符
设置在架构描述文件中写入的定位符格式
${变量名}加上字符组合(1-9,A-Z等)
一般情况下与变量值保持一直,
在使用全局变量时需要将全局变量的变量名添加到占位符中。
默认值
用作变量的缺省值,如果用户不对变量赋值,则变量使用默认值。
二级属性值暂不支持配置默认值
-
-
这里我们定义一下ECS属性“数量”和“实例名称”的变量,单击右侧fx设置自定义变量。例如,将变量名称和占位符均设置为
${count},默认值设置为1,然后单击添加变量完成变量配置。例如,在变量名称中填写${instance_name},占位符中填写${instance_name},默认值中填写ecs,然后单击添加变量完成配置。
配置局部变量时,变量名称与占位符需要保持一致。
配置全局变量
适用场景:全局变量可用于配置多类型、多节点实例之间添加相同变量的场景。例如:我们需要为下图模板中的实例添加统一的名称前缀或后缀,此时我们就可以通过配置全局变量来解决当前问题。

-
变量定义完成后,在我的解决方案页面找到对应模板,单击查看模板变量。
-
点击左上方的添加全局变量,配置方式与局部变量一致。在弹窗中配置自定义变量:变量类型选择String,变量名称填写
${prefix}(格式为${变量名},仅支持大小写字母、数字、中划线、下划线),默认值填写prefix(可选,填写后作为缺省值填充),然后单击添加变量。在弹出的 自定义变量 弹窗中,全局变量 区域显示已定义的变量${prefix},变量类型为 String,默认值为 prefix。 -
修改局部变量,使用 -(中划线)将全局变量拼接到局部变量的前端或后端,保存配置。例如,将 ECS 实例名称的变量名称修改为
${prefix}-${instance_name},占位符修改为${prefix}-${instance_name},然后单击添加变量完成配置。同理,将 Kafka 实例名称的局部变量也修改为${prefix}-${kafka_name}的拼接格式,单击添加变量完成配置。重要由于全局变量不绑定具体资源属性,所以没有占位符。全局变量给局部变量赋值时,全局变量和局部变量的数据类型必须相同。
-
基于模板创建后的实例名称


上文中演示配置全局变量使用的-(中划线)可用任意字符或字符串替换(需满足实例的命名规则),替换变量时会保留用于拼接的字符。
查看模板变量
-
变量定义完成后,在我的解决方案页面找到对应模板,单击查看模板变量。
-
可以看到定义的模板变量详情。
-
变量名称:定义的变量名称。
-
默认值:用作变量的缺省值, 当用户不对变量赋值时,变量使用默认值。
-
变量类型:变量的数据类型,需要重点关注,与如何给变量赋值相关。
-
占位符:局部变量定义的占位符。在自定义变量弹窗中,上方全局变量区域定义了变量
${prefix}(类型 String,默认值 prefix)。下方自定义变量区域展示各资源变量,其中占位符列通过引用全局变量实现名称组合,例如${prefix}-${ecsName}和${prefix}-${kafkaName}。自定义变量还包含RefId和属性名称等字段,用于关联资源属性。
-
删除模板变量
删除模板变量,有两种操作方式:
-
在查看模板变量的对话框中删除。在变量所在行的操作列,单击删除。
-
在定义变量的对话框中删除当前变量。单击 删除当前变量 按钮即可删除该变量。