云应用 安装参数手册

# args: – name: app_zone widget: region-and-zone-select label: 地域和可用区 description: 云资源将部署在选择的可用区 – name: app_target label: 安装网络 widget: subnet-select # 支持的地域 regions: – ${app_zone.region}。

相关产品
云应用 产品页,含版本规格、价格与购买入口。

一、表单组件清单

组件名称 描述 预览效果
RegionAndZoneSelect 地域及可用区选择组件 
PostgreSQLZoneSelect PostgreSQL 售卖可用区选择组件 
SubnetSelect 私有网络及子网选择组件 
SecurityGroupSelect 安全组选择组件 
CosBucketSelect 对象存储桶选择组件 
CvmInstanceTypeSelect CVM 机型选择组件 
DiskSelect 云硬盘选择组件 
ImageSelect CVM 镜像选择组件 
PrivateDNSDomainSelect 私有域名解析选择组件 
CertificateSelect SSL 证书选择组件,只支持选择公有云证书 
SSHKeyPairsSelect SSH 密钥对选择组件 
IPCidrInput CIDR 输入框组件 
DomainInput 域名输入组件,如果传入 SSL 证书,则限制必须输入和 SSL 证书匹配的域名 
CamRolePolicyAttach 角色绑定权限策略组件,安装应用时如果需要为角色绑定策略,可以使用此组件 
Switch 开关组件,用于切换两种状态 
Check 选择框组件 
Secret 密码或者敏感信息输入组件 
SecretTextarea 密码或者敏感信息多行输入组件 
Select 下拉选择组件 
InputNumber 数字输入组件 
InputTextarea 多行输入组件 
Input 输入框组件,不建议直接使用 input 组件,可以优先使用上述资源和通用组件 

四、描述

地域及可用区选择组件。

五、示例

预览效果

六、属性

属性名称 是否必填 值类型 属性描述
widget 是 "region-and-zone-select" 地域及可用区 选择组件。
defaultValue 是 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
regions 否 string[] 支持的地域,['ap-guangzhou']。
multiple 否 boolean 是否开启多选模式。开启后输出对象数组,并自动生成一组拍平的同级变量(详见下方 多选模式 说明)。
excludeZones 否 string[] 需要排除的可用区列表,被排除的可用区不会出现在下拉选项中。可传递表达式,如 ['${app_target.subnet.zone}']。典型场景:Redis 副本可用区不能与主可用区重复。
excludeRegions 否 string[] 需要排除的地域列表,被排除的地域不会出现在下拉选项中。

七、输出

结果值

属性名称 是否必填 值类型 属性描述
region 是 string 地域,ap-guangzhou。
zone 是 string 可用区,ap-guangzhou-3。
region_id 是 string 地域 ID,如 "1"。
zone_id 是 string 可用区 ID,如 "100003"。

八、多选模式

当 multiple: true 时,组件输出对象数组,同时自动生成一组拍平的同级变量(命名规则 ${name}__xxx),可在 Terraform 中直接引用,无需 for 表达式拆解。

示例:

# <package.yaml>args: – name: app_target widget: subnet-select label: 安装网络 – name: replica_zones widget: region-and-zone-select label: 副本可用区 multiple: true optional: true regions: – ${app_target.region} excludeZones: – ${app_target.subnet.zone}

拍平变量说明(name 为组件变量名):

变量名 是否必填 值类型 说明
${name}__zone_id_list 是 number[] 可用区 ID 数字列表,如 [100003, 100005]。可直接用于 replica_zone_ids 等需要数字类型的字段。
${name}__region_id_list 是 number[] 地域 ID 数字列表,如 [1, 4]。
${name}__zone_ids 是 string 可用区 ID 逗号拼接字符串,如 "100003,100005"。
${name}__region_ids 是 string 地域 ID 逗号拼接字符串,如 "1,4"。
${name}__zones 是 string 可用区名逗号拼接字符串,如 "ap-guangzhou-3,ap-guangzhou-5"。
${name}__regions 是 string 地域名逗号拼接字符串,如 "ap-guangzhou,ap-beijing"。
${name}__zone_list 是 string[] 可用区名列表,如 ["ap-guangzhou-3", "ap-guangzhou-5"]。
${name}__region_list 是 string[] 地域名列表,如 ["ap-guangzhou", "ap-beijing"]。

十、描述

PostgreSQL 售卖可用区选择组件,支持主可用区与备可用区联动选择。

组件数据来源为云数据库 PostgreSQL 的 DescribeZones 接口,仅展示 PostgreSQL 实际售卖的可用区。

注意:RegionAndZoneSelect 的可用区数据来自云服务器(CVM)售卖可用区,与 PostgreSQL 实际售卖的可用区并不一致。创建 PostgreSQL 实例时请使用本组件,避免用户选到 PostgreSQL 不支持的可用区,导致安装失败。

十一、示例

# <package.yaml>args: – name: app_target label: 目标网络 widget: subnet-select # 主可用区 – name: db_primary_zone label: 主可用区 widget: postgres-zone-select mode: primary region: ${app_target.region} description: PostgreSQL 主节点所在可用区 # 备可用区,按主可用区支持的备可用区联动过滤 – name: db_standby_zone label: 备可用区 widget: postgres-zone-select mode: standby region: ${app_target.region} primaryZone: ${db_primary_zone.zone} description: PostgreSQL 备节点所在可用区

在 Terraform 中通过变量获取所选可用区:

resource "tencentcloud_postgresql_instance" "postgresql" { availability_zone = var.db_primary_zone.zone vpc_id = var.app_target.vpc.id subnet_id = var.app_target.subnet.id db_node_set { role = "Primary" zone = var.db_primary_zone.zone } db_node_set { role = "Standby" zone = var.db_standby_zone.zone }}

预览效果:

十二、属性

属性名称 是否必填 值类型 属性描述
widget 是 "postgres-zone-select" PostgreSQL 售卖可用区选择组件。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
region 是 string 地域,通常联动网络组件,如 ${app_target.region}。
mode 否 "primary" | "standby" 可用区类型,primary 为主可用区,standby 为备可用区,默认 primary。
primaryZone 否 string 已选中的主可用区,mode 为 standby 时必填,如 ${db_primary_zone.zone}。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator

注意:说明:

注意:mode 为 standby 时,组件会读取主可用区的 StandbyZoneSet,仅展示该主可用区支持搭配的备可用区;未选择主可用区前,该表单项不可用。

十三、输出

结果值

属性名称 是否必填 值类型 属性描述
region 是 string 地域,ap-guangzhou。
zone 是 string 可用区,ap-guangzhou-5。
zone_id 是 number 可用区 ID,100005。
zone_name 是 string 可用区名称,广州五区。

十五、描述

私有网络及子网选择组件。

十六、示例

# <package.yaml>args: – name: subnet widget: subnet-select label: 安装网络 regions: – ap-guangzhou – ap-beijing – ap-shanghai – ap-chongqing

预览效果

十七、属性

属性名称 是否必填 值类型 属性描述
widget 是 "subnet-select" 子网 选择组件。
defaultValue 是 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
supportedRegionIds 是 string[] | number[] 支持的地域 ID。
regions 否 string[] 支持的地域,['ap-guangzhou']。

十八、输出

结果值

属性名称 是否必填 值类型 属性描述
region 是 string 地域标识,如 ap-guangzhou。
region_id 是 string 地域 ID,如 1。
vpc 是 { id: string; cidr_block: string; } VPC 信息。
subnet 是 { id: string; zone: string; zone_id: string; } 子网信息。

20、描述

安全组选择组件。

21、示例

# <package.yaml>args: – name: subnet widget: subnet-select label: 安装网络 regions: – ap-guangzhou – ap-beijing – ap-shanghai – ap-chongqing – name: app_sg label: 安全组 widget: security-group-select regions: – ${subnet.region}

预览效果

22、属性

属性名称 是否必填 值类型 属性描述
widget 是 "security-group-select" 安全组 选择组件。
defaultValue 是 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
supportedRegionIds 是 string[] | number[] 支持的地域 ID。
regions 否 string[] 支持的地域,['ap-guangzhou']。
region 否 string 指定地域,如 ap-guangzhou。

23、输出

结果值

属性名称 是否必填 值类型 属性描述
region 是 string 地域标识,如 ap-guangzhou。
region_id 是 string 地域 ID,如 1。
security_group 是 { id: string; } 安全组信息。

25、描述

对象存储桶选择组件。

26、示例

# <package.yaml>args: – name: app_cos widget: cos-bucket-select label: 对象存储 optional: true description: 可以前往 COS 控制台进行设置

预览效果

27、属性

属性名称 是否必填 值类型 属性描述
widget 是 "cos-bucket-select" COS 桶 选择组件。
defaultValue 是 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator

28、输出

结果值

属性名称 是否必填 值类型 属性描述
region 是 string 地域标识,如 ap-guangzhou。
region_id 是 string 地域 ID,如 1。
bucket 是 string COS 桶。
bucket_name 是 string COS 桶 name 部分。
app_id 是 string COS 桶 AppId 部分。

30、描述

CVM 机型选择组件。

31、示例

# <package.yaml>args: – name: subnet widget: subnet-select label: 目标网络 regions: – ap-guangzhou – ap-beijing – ap-shanghai – ap-chongqing – name: cvm_type label: CVM 机型 widget: cvm-instance-type-select zone: ${subnet.subnet.zone} region: ${subnet.region} cpu: [4, 16] memory: [8, 32]

预览效果

32、属性

属性名称 是否必填 值类型 属性描述
widget 是 "cvm-instance-type-select" CVM 机型 选择组件。
defaultValue 是 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
region 是 string 地域。
zone 是 string 可用区。
chargeType 是 "PREPAID" | "POSTPAID_BY_HOUR" 付费类型。
cpu 否 number | [number, number] CPU 核数,可指定 [min, max]。
memory 否 number | [number, number] 内存,可指定 [min, max]。
incompleteTips 否 string 未补全地域信息时的提示内容。
gpuOnly 否 boolean 是否仅显示 GPU 机型。
instanceTypes 否 string[] 可用机型类型列表。
instanceFamilies 否 string[] 可用实例机型系列列表,实例机型系列形如:S1、I1、M1等。

33、输出

结果值

属性名称 是否必填 值类型 属性描述
region 是 string 地域标识,如 ap-guangzhou。
region_id 是 string 地域 ID,如 1。
zone 是 string 可用区。
instance_type 是 string 机型。

35、描述

云硬盘选择组件。

36、示例

# <package.yaml>args: – name: cvm_system_disk label: 云硬盘 widget: disk-select usage: system cvmConfig: ${cvm_type}

预览效果

37、属性

属性名称 是否必填 值类型 属性描述
widget 是 "disk-select" 云硬盘 选择组件。
defaultValue 是 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
cvmConfig 是 CVM 机型选择结果 CVM 配置。
usage 否 "system" | "data" 云盘类型,默认系统盘。
minDiskSize 否 number 最小磁盘大小,单位 GB。

38、输出

结果值

属性名称 是否必填 值类型 属性描述
disk_type 是 string 磁盘类型。
disk_size 是 string 磁盘大小,单位 GB。

40、描述

CVM 镜像选择组件。

41、示例

# <package.yaml>args: – name: app_target label: 目标网络 widget: subnet-select – name: cvm_type label: 云服务器类型 widget: cvm-instance-type-select region: ${app_target.region} zone: ${app_target.subnet.zone} – name: app_cvm_image label: cvm 镜像 widget: image-select region: ${app_target.region} instanceType: ${cvm_type.instance_type} incompleteTips: 请先选择 cvm 机型

预览效果

42、属性

属性名称 是否必填 值类型 属性描述
widget 是 "image-select" 镜像 选择组件。
defaultValue 是 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
region 是 string 地域。
instanceType 是 string 机型。
incompleteTips 否 string 未补全地域及机型信息时的提示内容。
platforms 否 string[] 镜像来源平台。
imageIds 否 string[] 可用镜像 ID 列表。

43、输出

结果值

属性名称 是否必填 值类型 属性描述
image_id 是 string 镜像 ID。

45、描述

私有域名解析选择组件。

46、示例

# <package.yaml>args: – name: app_target label: 目标网络 widget: subnet-select – name: app_privatedns_domain label: 域名解析 widget: privatedns-domain-select description: 私有域解析域名,配置后将通过此域名来提供私有网络环境的服务访问 relatedVpcId: ${app_target.vpc.id} validator: – reg: str: ${app_privatedns_domain.privatedns_sub_domain} exp: "^[a-zA-Z0-9]+(?:[a-zA-Z0-9-]*[a-zA-Z0-9]+)*(?:\\\\.[a-zA-Z0-9]+(?:[a-zA-Z0-9-]*[a-zA-Z0-9]+)*)*$|^[@]{1}$" message: 域名配置不符合规范

预览效果

47、属性

属性名称 是否必填 值类型 属性描述
widget 是 "privatedns-domain-select" PrivateDNS 域名 选择组件。
defaultValue 是 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
relatedVpcId 是 string 需要关联的 VPC ID。

48、输出

结果值

属性名称 是否必填 值类型 属性描述
privatedns_zone_id 是 string 私有域 ID,如 zone-xxxxxxxx。
privatedns_sub_domain 是 string 子域名。
privatedns_domain 是 string 私有域名。

50、描述

SSL 证书选择组件,只支持选择公有云证书。

51、示例

# <package.yaml>args: – name: ssl_certificate label: SSL证书 widget: certificate-select

预览效果

52、属性

属性名称 是否必填 值类型 属性描述
widget 是 "certificate-select" 证书选择 组件。
defaultValue 否 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator

53、输出

结果值

属性名称 是否必填 值类型 属性描述
cert_id 是 string 证书 ID。

55、描述

SSH 密钥对选择组件。

56、示例

# <package.yaml>args: – name: ssh_ak label: ssh 密钥 widget: ssh-key-pairs-select

预览效果

57、属性

属性名称 是否必填 值类型 属性描述
widget 是 "ssh-key-pairs-select" SSH 密钥对 选择组件。
defaultValue 否 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
multiple 否 boolean 是否多选,默认 false。

58、输出

结果值

属性名称 是否必填 值类型 属性描述
key_ids 是 string 密钥对 ID 列表,单选时列表中仅有一个 ID,多选时列表中有多个 ID。

60、描述

CIDR 输入框组件。

61、示例

# <package.yaml>args: – name: app_target label: 目标网络 widget: subnet-select – name: cluster_cidr label: 容器网络 CIDR widget: ip-cidr-input description: 创建后不能修改,请做好网络规划,并确保安全组规则放通子网内容器网络和其他资源 region: ${app_target.region} vpcId: ${app_target.vpc.id} cidrType: service

预览效果

62、属性

属性名称 是否必填 值类型 属性描述
widget 是 "ip-cidr-input" CIDR 输入框 组件。
defaultValue 否 string 默认值。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
region 是 `ap-${string}` 地域。
vpcId 是 string 需要检测网段冲突的 VPC。
cidrType 否 "cluster" | "service" 欲校验的 CIDR 的类型。
allowIgnoreCidrConflict 否 boolean 是否允许忽略某些 CIDR 冲突。

63、输出

结果值

属性名称 是否必填 值类型 属性描述
ip 是 string IP 地址,比如 192.168.0.0/22, IP 地址就是 192.168.0.0。
cidr_prefix 是 string CIDR 的前缀,比如 192.168.0.0/22, cidr_prefix 就是 22。
ignore_cluster_cidr_conflict 是 boolean 是否忽略 Cluster CIDR 冲突。
ignore_service_cidr_conflict 是 boolean 是否忽略 Service CIDR 冲突错误(仅在 VPC-CNI 模式生效)。

65、描述

域名输入组件,如果传入 SSL 证书,则限制必须输入和 SSL 证书匹配的域名。

66、示例

# <package.yaml>args: – name: app_certification label: SSL 证书 widget: certificate-select optional: true – name: app_domain label: 域名 widget: domain-input optional: true certId: ${app_certification.certId}

预览效果

67、属性

属性名称 是否必填 值类型 属性描述
widget 是 "domain-input" 域名输入 组件。
defaultValue 否 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
certId 是 string SSL 证书 ID。

68、输出

结果值

属性名称 是否必填 值类型 属性描述
domain 是 string 输入的域名。

70、描述

角色绑定权限策略组件,安装应用时如果需要为角色绑定策略,可以使用此组件。

71、示例

# <package.yaml># 为 TKE_QCSRole 角色绑定 QcloudAccessForTKERoleInCreatingCFSStorageclass 策略,用于安装容器集群的 cfs 组件args: – name: app_role_policy label: CAM 角色权限 widget: cam-role-policy-attach roles: – roleName: TKE_QCSRole principalService: 'ccs.qcloud.com' policy: – QcloudAccessForTKERoleInCreatingCFSStorageclass description: 安装当前应用需要为角色授权

预览效果

72、属性

属性名称 是否必填 值类型 属性描述
widget 是 "cam-role-policy-attach" 角色绑定权限策略 组件。
defaultValue 否 undefined 默认值,不可用。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
roles 是 CamRolePolicy[] 需要绑定策略的角色列表。类型详见:CamRolePolicy

73、输出

结果值

属性名称 是否必填 值类型 属性描述
roles 是 { roleName: string; principalService: string; policy: { policyName: string; attached?: boolean; }[]; }[] 绑定之后的角色列表。

75、描述

开关组件,用于切换两种状态。

76、示例

# <package.yaml># 设置是否自动续费args: – name: charge_type label: 计费类型 description: 云资源购买使用付费方式 widget: select defaultValue: PREPAID options: – label: 包年包月 value: PREPAID – label: 按量计费 value: POSTPAID – name: charge_perpaid_auto_renew label: 自动续费 widget: switch defaultValue: false when: – eq: a: ${charge_type} b: "PREPAID" # 包年包月

预览效果

77、属性

属性名称 是否必填 值类型 属性描述
widget 是 "switch" 开关 组件。
defaultValue 否 boolean 默认值
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator

78、输出

结果值

类型:boolean

80、描述

选择框组件。

81、示例

# <package.yaml># 设置是否同意用户协议args: – name: charge_type label: 计费类型 description: 云资源购买使用付费方式 widget: select defaultValue: PREPAID options: – label: 包年包月 value: PREPAID – label: 按量计费 value: POSTPAID – name: charge_perpaid_auto_renew label: 自动续费 widget: switch defaultValue: false when: – eq: a: ${charge_type} b: "PREPAID" # 包年包月 – name: accept_info label: 用户协议 widget: check text: 我已同意用户协议 defaultValue: false

预览效果

82、属性

属性名称 是否必填 值类型 属性描述
widget 是 "check" 选框 组件。
defaultValue 否 boolean 默认值。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
text 否 string 选框描述文字。

83、输出

结果值

类型:boolean

85、描述

密码或者敏感信息输入组件。

86、示例

# <package.yaml>args: – name: app_cos_secret_id label: COS 密钥 ID defaultValue: "cos_id" widget: input – name: app_cos_secret_key label: COS 密钥 Key defaultValue: "cos_key" widget: secret

预览效果

87、属性

属性名称 是否必填 值类型 属性描述
widget 是 "secret" 加密输入框 组件。
defaultValue 否 string 默认值。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator

88、输出

结果值

类型:string

90、描述

密码或者敏感信息多行输入组件。

91、示例

# <package.yaml>args: – name: app_cos_secret_id label: COS 密钥 ID defaultValue: "cos_id" widget: input – name: app_cos_secret_key label: COS 密钥 Key defaultValue: "cos_key" widget: secret – name: web_private_token label: token 信息 widget: secret-textarea

预览效果

92、属性

属性名称 是否必填 值类型 属性描述
widget 是 "secret-textarea" 多行加密输入框 组件。
defaultValue 否 string 默认值。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator

93、输出

结果值

类型:string

95、描述

下拉选择组件。

96、示例

# <package.yaml>args: – name: charge_type label: 计费类型 description: 云资源购买使用付费方式 widget: select defaultValue: PREPAID options: – label: 包年包月 value: PREPAID – label: 按量计费 value: POSTPAID – name: charge_perpaid_period label: 购买时长 widget: input-number defaultValue: 1 description: 云资源包年包月购买的月份数 when: – eq: a: ${charge_type} b: "PREPAID" # 包年包月

预览效果

97、属性

属性名称 是否必填 值类型 属性描述
widget 是 "select" 下拉选择 组件。
defaultValue 否 any 默认值。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
options 是 { label: string; value: any; }[] 下拉选项组。

98、输出

结果值:-

100、描述

数字输入组件。

101、示例

# <package.yaml>args: – name: charge_type label: 计费类型 description: 云资源购买使用付费方式 widget: select defaultValue: PREPAID options: – label: 包年包月 value: PREPAID – label: 按量计费 value: POSTPAID – name: charge_perpaid_auto_renew label: 自动续费 widget: switch defaultValue: false when: – eq: a: ${charge_type} b: "PREPAID" # 包年包月 – name: charge_perpaid_period label: 购买时长 widget: input-number defaultValue: 1 description: 云资源包年包月购买的月份数 when: – eq: a: ${charge_type} b: "PREPAID" # 包年包月 optional: true

预览效果

102、属性

属性名称 是否必填 值类型 属性描述
widget 是 "input-number" 数字输入框 组件。
defaultValue 否 number 默认值
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator
max 否 number 可输入的最大数字。
min 否 number 可输入的最小数字。
step 否 number 使用按钮增减时的步长。

103、输出

结果值

类型:number

105、描述

多行输入组件。

106、示例

# <package.yaml>args: – name: charge_type label: 计费类型 description: 云资源购买使用付费方式 widget: select defaultValue: PREPAID options: – label: 包年包月 value: PREPAID – label: 按量计费 value: POSTPAID – name: charge_perpaid_auto_renew label: 自动续费 widget: switch defaultValue: false when: – eq: a: ${charge_type} b: "PREPAID" # 包年包月 – name: app-description label: 描述信息 widget: input-textarea defaultValue: 描述

预览效果

107、属性

属性名称 是否必填 值类型 属性描述
widget 是 "input-textarea" 多行输入框 组件。
defaultValue 否 string 默认值
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator

108、输出

结果值

类型:string

110、描述

输入框组件,不建议直接使用 input 组件,可以优先使用上述资源和通用组件。

111、示例

# <package.yaml># 设置是否自动续费args: – name: charge_type label: 计费类型 description: 云资源购买使用付费方式 widget: select defaultValue: PREPAID options: – label: 包年包月 value: PREPAID – label: 按量计费 value: POSTPAID – name: charge_perpaid_auto_renew label: 自动续费 widget: switch defaultValue: false when: – eq: a: ${charge_type} b: "PREPAID" # 包年包月 – name: app_nacos_host label: nacos 地址 widget: input optional: true defaultValue: "172.16.0.2:8848" description: 请提前创建 nacos 配置中心

预览效果

112、属性

属性名称 是否必填 值类型 属性描述
widget 是 "input" 输入框 组件。
defaultValue 否 string 默认值。
name 是 string 表单项变量名,用于在 Terraform 中获取变量。
label 是 string 表单项名。
description 否 string 表单项描述。
optional 否 boolean 表单项是否可选。
when 否 PackageArgOp[] 表单项是否出现,可传递表达式。类型详见:PackageArgOp
hidden 否 PackageArgOp[] 表单项是否隐藏,可传递表达式。类型详见:PackageArgOp
validator 否 PackageArgValidator[] 表单项值校验器。类型详见:PackageArgValidator

113、输出

结果值

类型:string

114、公共类型 PackageArgOp

枚举值:

·{ eq: { a: any; b: any; }; }

·{ ne: { a: any; b: any; }; }

·{ reg: { str: any; exp: string; }; }

·{ gt: { a: any; b: any; }; }

·{ gte: { a: any; b: any; }; }

·{ lt: { a: any; b: any; }; }

·{ lte: { a: any; b: any; }; }

·{ and: PackageArgOp[]; }

·{ or: PackageArgOp[]; }

·{ notIncludes: { arr: any; value: any; }; }

notIncludes 用于校验数组不包含某值,适用于多选组件的校验场景。空数组 / null / undefined 均视为校验通过,天然支持 optional 可选项。比较时统一转成字符串,避免类型陷阱。

示例:

validator: – notIncludes: arr: ${replica_zones__zone_list} value: ${app_target.subnet.zone} message: 副本可用区不能与主可用区相同

115、公共类型 PackageArgValidator

枚举值:

·{ eq: { a: any; b: any; }; } & { message: string; }

·{ ne: { a: any; b: any; }; } & { message: string; }

·{ reg: { str: any; exp: string; }; } & { message: string; }

·{ gt: { a: any; b: any; }; } & { message: string; }

·{ gte: { a: any; b: any; }; } & { message: string; }

·{ lt: { a: any; b: any; }; } & { message: string; }

·{ lte: { a: any; b: any; }; } & { message: string; }

·{ and: PackageArgOp[]; } & { message: string; }

·{ or: PackageArgOp[]; } & { message: string; }

·{ notIncludes: { arr: any; value: any; }; } & { message: string; }

116、公共类型 CamRolePolicy

属性名称 是否必填 值类型 属性描述
roleName 是 string 角色名。
policy 是 string[] 预设策略名列表。
principalService 是 string 角色载体。
赞 (0)
上一篇 4天前
下一篇 4天前