私有模板

访问入口

CADT自定义模板,是用户自己维护且只有当前账号能看到的模板。 访问入口为新建 > 我的解决方案image.png

如何编辑私有模板

我的解决方案页面找到需要编辑的模板,将鼠标放置在模板上面,单击编辑模板,即可进入模板编辑页面。

说明

单击编辑模板默认会在当前浏览器页面直接打开,若需要新开一个窗口可以使用以下方式:

  • Mac:按住Command键,然后单击编辑模板

  • Windows:按住Ctrl键,然后单击编辑模板

image.png

模板展示页支持列表展示:image.png

模板变量

属性变量

  • 模板中每个资源图标在右侧属性栏若标记为fx,则支持变量定义。

  • 若有属性不支持定义变量,但实际项目中需要用到的,可以联系阿里云提交工单或者加入钉钉群(34038798)寻求帮助。

  • 变量值需要以${var}格式命名,只能是由大小写字母、数字、中划线、下划线这四种字符任意组成的字符串。

  • 变量默认值作为API传参的缺省值。

image.png

跳过部署

  • 跳过部署是模板中的一种特殊变量,位于资源图标的右上角。

  • 设置方法:

    • 单击该fx定义变量,取值范围为“true” or “false”。

      • true:代表在生成的应用中,不部署此资源。

      • false:代表在生成的应用中,部署此资源。例如下面的clb实例将会被部署。

        image.pngimage.png

  • 应用场景

    特殊场景中需要一个模板里边支持多种资源的可选择部署。例如在同一个模板中同时维护了Redis本地盘版和Redis云盘版,并希望通过传参控制,根据用户选择来部署本地盘版或云盘版,可以通过以下方式实现:

    1. 在每个Redis的右上角,定义变量,分别为${skip_redis_ssd}${skip_redis_local}, 默认值均为false

    2. 当需要创建本地盘版的Redis时,传参为:

      ${skip_redis_local}: "false"

      ${skip_redis_ssd}: "true"

    3. 当需要创建云盘版的Redis时,传参为:

      ${skip_redis_local}: "true"

      ${skip_redis_ssd}: "false"

      image.png

查看模板变量

控制台方式

  1. 我的解决方案页面,找到对应模板,单击查看模板变量image.png

  2. 可以查看在不同地域定义的模板变量详细信息。image.png

API方式

可以通过GetTemplate查看到模板中定义了哪些变量。image.png

多地域标签

多地域标签介绍

每个模板的左上角有地域属性,单击对应的地域,即显示相应地域的模板。

  • 单个模板可以有多个地域副本。

  • 每个地域副本之间没有依赖,完全独立。

  • 允许设置某个地域副本为默认模板。image.png

地域标签复制

保存模板时可以进行地域标签的复制。

  • 单个地域副本可以拷贝覆盖其他地域的模板

  • 单个地域副本可以批量复制为多个地域副本

  • 勾选“是否复制变量”

  • 选择“变量源区域”,单选。

  • 地域标签中支持多选,即时需要把当前上海的模板复制到其他地域。

  • 勾选“是否更改图上region”,若勾选,则复制后的地域模板中,自动将上海更改为目标地域。(注意若当前模板有多个地域不支持此选项)image.png

  • 复制完成后在地域列表中会有多个地域标签。image.png

  • 进入其中一个地域后,可以看到对应地域的模板已经自动修改了地域,且变量也保持一致。

    说明

    需要注意的是若模板中存在交换机,复制后需要手动调整维护争取的交换机。 复制功能只确保了模板中地域的修改,交换机的可用区信息,由于每个地域不一样,需要手动维护。

    image.png

模板复制

模板复制功能支持在私有模板库中克隆多个相同模板,源模板中的所有地域以及模板变量将会一起复制。 image.png

模板分享

操作说明

image.png
  • 模板可以跨账号进行分享,分享后的模板在目标账号下是同一个模板ID。

  • 被分享的模板在目标账号下是只读权限。

  • 若源模板发生了变更,被分享的账号下不会同步,需要源模板取消分享后,再次分享。

  • 出于数据合规要求,模板不允许跨站分享;中国站只允许分享给中国站用户;国际站只允许分享给国际站用户。

操作方法

  1. 我的解决方案页面,找到对应的模板,单击分享模板image.png

  2. 输入对应用户ID,单击授权,授权成功后,被授权的用户显示在下方列表中。

    image.png
  3. 被授权用户登录云速搭CADT控制台,可以看到架构模板分享通知,包括架构模板名称分享者image.png

模板管理最佳实践

  • 在多个账号的场景下,选择其中一个账号作为模板来源,只在一个账号中维护和更改模板。

  • 单个模板中维护好一个地域的副本,复制到其余地域,确保整个模板最终只需要维护一个地域就行。

  • 需要更改模板前,先将账号A上的模板复制一份出来,然后进行调整测试,测试通过后再调整账号A的源模板,调整完毕先测试,测试通过再分享给其余账号。

image.png

模板实时询价

模板可以支持直接询价,对应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   |   元/时    |
+---------------+--------------+-------------------+-----------------+-------------+------------+