关于CADT模板

更新时间:
复制 MD 格式

本方案提供的Demo样例,深度集成了CADT 模板的能力。本文档将介绍如何制作模板,以及如何设定模板中的一些变量。

复制CADT模板

1、登录CADT官方模板库

2、进入“API对接官方模板”板块,找到“云管Demo模板*”,将这些模板另存为私有模板。

右键单击目标模板卡片,在弹出菜单中选择另存为私有模板

修改模板

1、进入上述复制后的私有模板列表,点击编辑模板,进入模板的可视化编辑页面。

2、首先模板的左上角有地域属性,一个模板可以设定多个可用的地域。

单击地域下拉框可切换已设定的地域(如默认北京杭州上海),各非默认地域右侧提供删除图标以移除对应地域配置。

3、双击其中一个图标,在右侧的属性栏中,标记为fx的属性,即是可以定义变量的属性。

示例中双击画布上的NLB组件后,右侧属性栏显示其配置项,其中实例名称(值为 ${nlb_name})字段右侧带有 fx 按钮,表示该属性可定义为模板变量。

4、点击fx按钮,可以查看模板变量的具体定义。其中可选值部分是允许自由定义内容。本方案提供的集成Demo提供了一套基于JSON数据定义前端UI样式的方案。 具体规则参见下文。

弹出的变量定义对话框包含四个字段:变量名称(如 ${nlb_name})、占位符(不填写时默认使用变量名称)、默认值(如 nlb)、可选值(填写 JSON 格式定义,如 {"title":"NLB实例名称", "control_type":"Input", "data":[]})。填写完成后单击添加变量保存。

部分变量支持自动获取可选值范围,例如ECS的实例规格属性,点击边上的fx按钮后,在弹框的变量定义页面中的默认值上,会提供该变量可填的值。

变量编辑弹窗中,默认值可不填写,填写后将作为缺省值填充;二级属性值暂不支持配置默认值。

5、保存模板,模板保存后可以修改名称,并设定地域。

弹窗中还可勾选设为默认模板。设定地域标签时需保证所选区域与图上区域保持一致。是否更改图上Region仅在图上区域(Region)节点为一个时才会生效。

6、若希望模板支持更多的地域,可以勾选“是否复制变量”,设定源地域,在地域标签中设定目标地域。并勾选“是否更改图上Region”。即可完成复制。

需注意:勾选是否更改图上Region仅在图上的区域(Region)节点为一个时才会生效;设定地域标签时需保证所选区域与图上区域保持一致。

Options可选值设定规则

模板中,产品属性的可选值,在此Demo场景下,按照以下规则来动态改变前端的UI显示样式

NLB实例名称为例,在自定义变量对话框中,设置变量名称${nlb_name}占位符${nlb_name}默认值nlb可选值{"title":"NLB实例名称", "control_type":"Input", "data":[]}。其中可选值通过 JSON 格式定义前端 UI 显示样式,control_type 设为 Input 表示使用输入框控件。设置完成后单击添加变量

title

前端展示此字段的label值,如下方示例所示。

例如实例名称Redis版本分片规格分片数量等字段标签即为模板中各变量在前端显示的名称。

config_type

此变量参数在前端展示的区域。 默认在资源配置板块,若指定为 network,则放在网络配置中。

"config_type": "network",

例如,备可用区参数即展示在网络配置区域中。

control_type

节点的控件类型 Select 下拉单选, Number:数字, Input:文本输入, TextArea:文本输入

"control_type": "Select",

data

可选值,当control_type为 Select时,下拉值的可选范围

"data": [{"label":"北京 可用区H","value":"cn-beijing-h"},{"label":"北京 可用区 L","value":"cn-beijing-l"},{"label":"北京 可用区I","value":"cn-beijing-i"},{"label":"北京 可用区F","value":"cn-beijing-f"},{"label":"北京 可用区G","value":"cn-beijing-g"},{"label":"北京 可用区J","value":"cn-beijing-j"},{"label":"北京 可用区K","value":"cn-beijing-k"}]

}

node_name

此字段只针对给VPC,Vswitch, Security_group 这三个组件,当给他们定义了一个“跳过部署”的变量后。即在vpc属性的右上角,点击fx。

node_name代表了这些控件在模板中定义的名称,例如vpc名称。

点击 fx 后弹出请输入 是否跳过部署 自定义变量弹窗,设置变量名称${vpc}占位符${vpc}默认值false可选值{"title":"选择VPC","node_name":"vpc","node_type":"vpc","control_type":"Select"},其中 node_name 即为该控件在模板中定义的名称。设置完成后单击添加变量

node_type

此字段只针对给VPC,Vswitch, Security_group 这三个组件,当给它们定义了一个“跳过部署”的变量后。即在vpc属性的右上角,点击fx。

node_type代表了这些产品的产品code。本方案提供的集成Demo目前仅支持 vpc,vswitch,security_group.

parent_node

此字段只针对给 Vswitch, Security_group 这两个组件,当给它们定义了一个“跳过部署”的变量后。即在vpc属性的右上角,点击fx。

parent_node 只定义vswitch,security_group所属的vpc 的变量名称。

在自定义变量配置弹窗中,可选值字段的 JSON 中通过 "parentNodeName":"${vpc}" 指定当前 vswitch 变量的父级 vpc 变量名称,从而实现父子级联选择。