访问入口
CADT自定义模板,是用户自己维护且只有当前账号能看到的模板。 访问入口为新建 > 我的解决方案。页面以卡片形式展示所有私有模板,每个模板卡片包含模板名称和架构缩略图。
如何编辑私有模板
在我的解决方案页面找到需要编辑的模板,将鼠标放置在模板上面,单击编辑模板,即可进入模板编辑页面。
单击编辑模板默认会在当前浏览器页面直接打开,若需要新开一个窗口可以使用以下方式:
-
Mac:按住Command键,然后单击编辑模板 。
-
Windows:按住Ctrl键,然后单击编辑模板。
模板展示页支持列表展示:列表视图以表格形式展示各模板的详细信息,方便批量管理和查看。
模板变量
属性变量
-
模板中每个资源图标在右侧属性栏若标记为
fx,则支持变量定义。 -
若有属性不支持定义变量,但实际项目中需要用到的,可以联系阿里云提交工单或者加入钉钉群(34038798)寻求帮助。
-
变量值需要以
${var}格式命名,只能是由大小写字母、数字、中划线、下划线这四种字符任意组成的字符串。 -
变量默认值作为API传参的缺省值。
跳过部署
-
跳过部署是模板中的一种特殊变量,位于资源图标的右上角。
-
设置方法:
-
单击该
fx定义变量,取值范围为“true” or “false”。-
true:代表在生成的应用中,不部署此资源。
-
false:代表在生成的应用中,部署此资源。例如下面的clb实例将会被部署。
在CADT编辑器画布中,CLB资源图标右上角的跳过部署变量值为false,表示该实例将被正常部署。属性面板中可查看跳过部署变量的名称及当前布尔值配置。
-
-
-
应用场景
特殊场景中需要一个模板里边支持多种资源的可选择部署。例如在同一个模板中同时维护了Redis本地盘版和Redis云盘版,并希望通过传参控制,根据用户选择来部署本地盘版或云盘版,可以通过以下方式实现:
-
在每个Redis的右上角,定义变量,分别为
${skip_redis_ssd}、${skip_redis_local}, 默认值均为false。 -
当需要创建本地盘版的Redis时,传参为:
${skip_redis_local}: "false"
${skip_redis_ssd}: "true"
-
当需要创建云盘版的Redis时,传参为:
${skip_redis_local}: "true"
${skip_redis_ssd}: "false"
CADT编辑器画布中同时展示Redis本地盘版和Redis云盘版两个资源,各自右上角标记有对应的跳过部署变量。
-
查看模板变量
控制台方式
-
在我的解决方案页面,找到对应模板,单击查看模板变量。鼠标悬停在模板卡片上时,操作菜单中显示该选项。
-
可以查看在不同地域定义的模板变量详细信息。变量详情以表格形式展示,包含各地域的变量名称和默认值。
API方式
可以通过GetTemplate查看到模板中定义了哪些变量。API返回的JSON响应中包含Variables字段,列出模板中定义的所有变量及其默认值。
多地域标签
多地域标签介绍
每个模板的左上角有地域属性,单击对应的地域,即显示相应地域的模板。
-
单个模板可以有多个地域副本。
-
每个地域副本之间没有依赖,完全独立。
-
允许设置某个地域副本为默认模板。编辑器画布左上角显示当前地域标签(如华东2(上海)),画布中展示该地域对应的资源架构和已定义的变量。
地域标签复制
保存模板时可以进行地域标签的复制。
-
单个地域副本可以拷贝覆盖其他地域的模板
-
单个地域副本可以批量复制为多个地域副本
-
勾选“是否复制变量”
-
选择“变量源区域”,单选。
-
地域标签中支持多选,即时需要把当前上海的模板复制到其他地域。
-
勾选“是否更改图上region”,若勾选,则复制后的地域模板中,自动将上海更改为目标地域。(注意若当前模板有多个地域不支持此选项)保存对话框中集中显示上述复制选项,包括模板名称、变量复制设置和目标地域选择。
-
复制完成后在地域列表中会有多个地域标签。编辑器顶部显示新增的地域标签(如华东1(杭州)、华北2(北京)等),单击可切换不同地域的模板。
-
进入其中一个地域后,可以看到对应地域的模板已经自动修改了地域,且变量也保持一致。
说明需要注意的是若模板中存在交换机,复制后需要手动调整维护争取的交换机。 复制功能只确保了模板中地域的修改,交换机的可用区信息,由于每个地域不一样,需要手动维护。
模板复制
模板复制功能支持在私有模板库中克隆多个相同模板,源模板中的所有地域以及模板变量将会一起复制。 在模板卡片上选择复制模板后,弹出对话框输入新模板名称,单击确定完成复制。
模板分享
操作说明

-
模板可以跨账号进行分享,分享后的模板在目标账号下是同一个模板ID。
-
被分享的模板在目标账号下是只读权限。
-
若源模板发生了变更,被分享的账号下不会同步,需要源模板取消分享后,再次分享。
-
出于数据合规要求,模板不允许跨站分享;中国站只允许分享给中国站用户;国际站只允许分享给国际站用户。
操作方法
-
在我的解决方案页面,找到对应的模板,单击分享模板。
-
输入对应用户ID,单击授权,授权成功后,被授权的用户显示在下方列表中。
对话框顶部显示跨站分享限制说明,包含用户UID和确认UID两个输入框及授权按钮,底部列表显示已授权用户及取消操作链接。
-
被授权用户登录云速搭CADT控制台,可以看到架构模板分享通知,包括架构模板名称和分享者。通知以弹窗形式显示在控制台首页,包含模板编辑链接和分享者信息,单击确定关闭通知。
模板管理最佳实践
-
在多个账号的场景下,选择其中一个账号作为模板来源,只在一个账号中维护和更改模板。
-
单个模板中维护好一个地域的副本,复制到其余地域,确保整个模板最终只需要维护一个地域就行。
-
需要更改模板前,先将账号A上的模板复制一份出来,然后进行调整测试,测试通过后再调整账号A的源模板,调整完毕先测试,测试通过再分享给其余账号。

模板实时询价
模板可以支持直接询价,对应OpenAPI为ValuateTemplate, 该接口支持传入模板ID以及必要的参数,对模板中的资源进行实时询价。多产品组合的模板,响应时间会比较长。需要在程序中设置足够的read_timeout,避免接口返回超时。runtime = util_models.RuntimeOptions(read_timeout=60000)
使用CADT命令行进行模板实时询价示例如下:
% cadt valuate-template -t UWWDJZTL4UYBVFPQ
Welcome to use CADT : A Cloud Architecture Design Tool.
Visit our website https://bpstudio.console.aliyun.com/ to learn more.
CCCCC AAA DDDDD TTTTTTT
CC C AAAAA DD DD TTT
CC AA AA DD DD TTT
CC C AAAAAAA DD DD TTT
CCCCC AA AA DDDDDD TTT
2023-07-26 15:34:34 : CADT start valuate template
2023-07-26 15:34:35 : CADT valuate template Successfully!
{'ResourceList': [{'DiscountAmount': 0.0, 'NodeType': 'ECS', 'OriginalPrice': 0.4096, 'PriceList': [], 'PriceUnit': '元/时', 'TradePrice': 0.4096}]}
+---------------+--------------+-------------------+-----------------+-------------+------------+
| recource type | Origin Price | Promotion Details | Discount Amount | Trade Price | Price Unit |
+---------------+--------------+-------------------+-----------------+-------------+------------+
| ECS | 0.4096 | | 0.0 | 0.4096 | 元/时 |
+---------------+--------------+-------------------+-----------------+-------------+------------+