模板变量配置

更新时间:
复制 MD 格式

定义模板变量

配置局部变量

  1. 我的解决方案页面找到需要定义变量的模板,单击编辑模板,此处以一个ECS模板为例。

  2. 双击产品图标,打开配置框,定义参数变量,支持定义变量的属性都有标识fx

  3. 单击右侧fx弹出自定义变量对话框,配置项具体说明请见下表。

    属性

    说明

    格式

    要求

    变量值

    设置变量名称

    ${变量名称}

    • “${}”为固定格式

    • “变量名称”只能是大小写字母、数字、中划线或下划线四种字符任意组成的字符串。

    定位符

    设置在架构描述文件中写入的定位符格式

    ${变量名}加上字符组合(1-9,A-Z等)

    一般情况下与变量值保持一直,

    在使用全局变量时需要将全局变量的变量名添加到占位符中。

    默认值

    用作变量的缺省值,如果用户不对变量赋值,则变量使用默认值。

    二级属性值暂不支持配置默认值

  4. 这里我们定义一下ECS属性“数量”和“实例名称”的变量,单击右侧fx设置自定义变量。例如,将变量名称和占位符均设置为 ${count},默认值设置为 1,然后单击添加变量完成变量配置。例如,在变量名称中填写 ${instance_name}占位符中填写 ${instance_name}默认值中填写 ecs,然后单击添加变量完成配置。

重要

配置局部变量时,变量名称与占位符需要保持一致。

配置全局变量

说明

适用场景:全局变量可用于配置多类型、多节点实例之间添加相同变量的场景。例如:我们需要为下图模板中的实例添加统一的名称前缀或后缀,此时我们就可以通过配置全局变量来解决当前问题。

ecs1

  1. 变量定义完成后,在我的解决方案页面找到对应模板,单击查看模板变量

  2. 点击左上方的添加全局变量,配置方式与局部变量一致。在弹窗中配置自定义变量:变量类型选择String变量名称填写${prefix}(格式为${变量名},仅支持大小写字母、数字、中划线、下划线),默认值填写prefix(可选,填写后作为缺省值填充),然后单击添加变量。在弹出的 自定义变量 弹窗中,全局变量 区域显示已定义的变量 ${prefix},变量类型为 String,默认值为 prefix。

  3. 修改局部变量,使用 -(中划线)将全局变量拼接到局部变量的前端或后端,保存配置。例如,将 ECS 实例名称的变量名称修改为 ${prefix}-${instance_name}占位符修改为 ${prefix}-${instance_name},然后单击添加变量完成配置。同理,将 Kafka 实例名称的局部变量也修改为 ${prefix}-${kafka_name} 的拼接格式,单击添加变量完成配置。

    重要

    由于全局变量不绑定具体资源属性,所以没有占位符。全局变量给局部变量赋值时,全局变量和局部变量的数据类型必须相同。

  4. 基于模板创建后的实例名称

ecs11kafka11

说明

上文中演示配置全局变量使用的-(中划线)可用任意字符或字符串替换(需满足实例的命名规则),替换变量时会保留用于拼接的字符。

查看模板变量

  1. 变量定义完成后,在我的解决方案页面找到对应模板,单击查看模板变量

  2. 可以看到定义的模板变量详情。

    • 变量名称:定义的变量名称。

    • 默认值:用作变量的缺省值, 当用户不对变量赋值时,变量使用默认值。

    • 变量类型:变量的数据类型,需要重点关注,与如何给变量赋值相关。

    • 占位符:局部变量定义的占位符。在自定义变量弹窗中,上方全局变量区域定义了变量 ${prefix}(类型 String,默认值 prefix)。下方自定义变量区域展示各资源变量,其中占位符列通过引用全局变量实现名称组合,例如 ${prefix}-${ecsName}${prefix}-${kafkaName}。自定义变量还包含RefId属性名称等字段,用于关联资源属性。

删除模板变量

删除模板变量,有两种操作方式:

  1. 在查看模板变量的对话框中删除。在变量所在行的操作列,单击删除

  2. 在定义变量的对话框中删除当前变量。单击 删除当前变量 按钮即可删除该变量。