基于模板创建应用

对应接口

CreateApplication

功能说明

通过此API创建一个CADT应用。

接口类型

同步

请求参数

TemplateId

模板ID,必填项。支持传入官方模板ID或者私有模板ID。

示例值:0KSHPM6SJU03TNZP

参考取值来源:ListTemplate

Name

应用名称,必填项。应用名称需在当前阿里云账号内唯一,不能与其他应用名称重复。

长度为2~128个英文或中文字符。必须以大小字母或中文开头,不能以http://或https://开头。可以包含数字、下划线(_)、或者短划线(-)。

AreaId

指定模板中的地域标签,可选。若为空,则调用模板中的默认地域。

Instances

导入已保有实例。

示例值:

instances:
  - node_type: vpc
    node_name: vpc
    id: vpc-bp11luxbmts3hmqqy3k9q
  - node_type: vswitch
    node_name: vswitch
    id: vsw-bp158dbijl29vsjkk3bsa
  • node_type: 需要导入的云产品类型

  • node_name:该云产品在架构模板中定义的名称

  • id: 需要导入的云产品实例ID

以下图模板为例:

image.png
  1. 若需要指定一个VPC实例替换模板中的vpc则传入以下配置。

    	- node_type: vpc
        node_name: vpc
        id: vpc-bp11luxbmts3hmqqy3k9q
  2. 若需要指定一个已保有的交换机来替换架构模板中的交换机 vswitch-1,则传入以下配置。

     - node_type: vswitch
       node_name: vswitch-1
       id: vsw-bp158dbijl29vsjkk3bsa
  3. 若需要指定一个已保有的ALB实例来替换架构模板中的ALB ${instance_name},则传入以下配置。

     - node_type: alb
       node_name: ${instance_name}
       id: alb-laksjdfli23asd

ResourceGroupId

指定创建后的CADT应用的资源组ID。

当指定资源组ID之后,在创建过程将依据此资源组ID进行资源查询的API鉴权。若存在以下场景,将会报错:

传入资源组ID: A,此时instances 中传入了已保有的交换机且属于资源组: B,此时创建的应用交换机会替换不成功,因为鉴权失败。

此场景建议是在创建应用后,单独调用ChangeResourceGroup来更改资源组ID

Variables

指定模板变量的值,若为空,则取变量的默认值。

不管变量的数据类型为Map,List,或者Integer,都需要转成String 进行传递。

传参示例:

variables:
    ${instance_name}: "polardb"
    ${pay_type}: "PostPaid"  #"PrePaid.Month.1"
    ${db_version}: "mysql57"
    ${instance_tag}: "{'成本标签':'基础设施','env':'prod','module':'polardb'}"
    ${DataDisk}: '[{"size":"50","performance_level":"PL1","name":"disk1","category":"cloud_essd"}]'

Configuration

应用相关配置参数。

例如:

  • enableMonitor 代表是否自动创建云监控分组:

    • 0:不创建分组

    • 1:创建云监控分组

  • enableReport 代表是否生成相关报告:

    • 0:不生成CADT部署报告

    • 1:生成部署报告

ClientToken

幂等标记

响应参数

Code

状态码

RequestId

请求ID

Data

若应用创建成功,则此字段返回应用ID,若创建失败,此字段为空。

Message

若创建失败,此字段包含错误信息。