表单组件清单
组件名称 | 描述 | 预览效果 |
地域及可用区选择组件 | ![]() | |
PostgreSQL 售卖可用区选择组件 | ![]() | |
私有网络及子网选择组件 | ![]() | |
安全组选择组件 | ![]() | |
对象存储桶选择组件 | ![]() | |
CVM 机型选择组件 | ![]() | |
云硬盘选择组件 | ![]() | |
CVM 镜像选择组件 | ![]() | |
私有域名解析选择组件 | ![]() | |
SSL 证书选择组件,只支持选择公有云证书 | ![]() | |
SSH 密钥对选择组件 | ![]() | |
CIDR 输入框组件 | ![]() | |
域名输入组件,如果传入 SSL 证书,则限制必须输入和 SSL 证书匹配的域名 | ![]() | |
角色绑定权限策略组件,安装应用时如果需要为角色绑定策略,可以使用此组件 | ![]() | |
开关组件,用于切换两种状态 | ![]() | |
选择框组件 | ![]() | |
密码或者敏感信息输入组件 | ![]() | |
密码或者敏感信息多行输入组件 | ![]() | |
下拉选择组件 | ![]() | |
数字输入组件 | ![]() | |
多行输入组件 | ![]() | |
输入框组件,不建议直接使用 input 组件,可以优先使用上述资源和通用组件 | ![]() |
表单组件说明
RegionAndZoneSelect 组件
描述
地域及可用区选择组件。
示例
# <package.yaml>args:- name: app_zonewidget: region-and-zone-selectlabel: 地域和可用区description: 云资源将部署在选择的可用区- name: app_targetlabel: 安装网络widget: subnet-select# 支持的地域regions:- ${app_zone.region}
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "region-and-zone-select" | 地域及可用区 选择组件。 |
defaultValue | 是 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | 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_targetwidget: subnet-selectlabel: 安装网络- name: replica_zoneswidget: region-and-zone-selectlabel: 副本可用区multiple: trueoptional: trueregions:- ${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"]。 |
注意:
未选择任何项时,主变量值为
undefined,拍平变量也为 undefined。在 Terraform 中引用拍平变量时需在 variable.tf 中声明 default = [],避免「变量未定义」校验报错。多选模式下
optional: true 时,清空选择会同步重置所有拍平变量;若不开启 optional,则必须至少选择一项。PostgreSQLZoneSelect 组件
描述
PostgreSQL 售卖可用区选择组件,支持主可用区与备可用区联动选择。
组件数据来源为云数据库 PostgreSQL 的
DescribeZones 接口,仅展示 PostgreSQL 实际售卖的可用区。注意:
RegionAndZoneSelect 的可用区数据来自云服务器(CVM)售卖可用区,与 PostgreSQL 实际售卖的可用区并不一致。创建 PostgreSQL 实例时请使用本组件,避免用户选到 PostgreSQL 不支持的可用区,导致安装失败。示例
# <package.yaml>args:- name: app_targetlabel: 目标网络widget: subnet-select# 主可用区- name: db_primary_zonelabel: 主可用区widget: postgres-zone-selectmode: primaryregion: ${app_target.region}description: PostgreSQL 主节点所在可用区# 备可用区,按主可用区支持的备可用区联动过滤- name: db_standby_zonelabel: 备可用区widget: postgres-zone-selectmode: standbyregion: ${app_target.region}primaryZone: ${db_primary_zone.zone}description: PostgreSQL 备节点所在可用区
在 Terraform 中通过变量获取所选可用区:
resource "tencentcloud_postgresql_instance" "postgresql" {availability_zone = var.db_primary_zone.zonevpc_id = var.app_target.vpc.idsubnet_id = var.app_target.subnet.iddb_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[] | |
hidden | 否 | PackageArgOp[] | |
validator | 否 | PackageArgValidator[] |
说明:
mode 为 standby 时,组件会读取主可用区的 StandbyZoneSet,仅展示该主可用区支持搭配的备可用区;未选择主可用区前,该表单项不可用。输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
region | 是 | string | 地域,ap-guangzhou。 |
zone | 是 | string | 可用区,ap-guangzhou-5。 |
zone_id | 是 | number | 可用区 ID,100005。 |
zone_name | 是 | string | 可用区名称,广州五区。 |
SubnetSelect 组件
描述
私有网络及子网选择组件。
示例
# <package.yaml>args:- name: subnetwidget: subnet-selectlabel: 安装网络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[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | 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; } | 子网信息。 |
SecurityGroupSelect 组件
描述
安全组选择组件。
示例
# <package.yaml>args:- name: subnetwidget: subnet-selectlabel: 安装网络regions:- ap-guangzhou- ap-beijing- ap-shanghai- ap-chongqing- name: app_sglabel: 安全组widget: security-group-selectregions:- ${subnet.region}
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "security-group-select" | 安全组 选择组件。 |
defaultValue | 是 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
supportedRegionIds | 是 | string[] | number[] | 支持的地域 ID。 |
regions | 否 | string[] | 支持的地域,['ap-guangzhou']。 |
region | 否 | string | 指定地域,如 ap-guangzhou。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
region | 是 | string | 地域标识,如 ap-guangzhou。 |
region_id | 是 | string | 地域 ID,如 1。 |
security_group | 是 | { id: string; } | 安全组信息。 |
CosBucketSelect 组件
描述
对象存储桶选择组件。
示例
# <package.yaml>args:- name: app_coswidget: cos-bucket-selectlabel: 对象存储optional: truedescription: 可以前往 COS 控制台进行设置
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "cos-bucket-select" | COS 桶 选择组件。 |
defaultValue | 是 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
region | 是 | string | 地域标识,如 ap-guangzhou。 |
region_id | 是 | string | 地域 ID,如 1。 |
bucket | 是 | string | COS 桶。 |
bucket_name | 是 | string | COS 桶 name 部分。 |
app_id | 是 | string | COS 桶 AppId 部分。 |
CvmInstanceTypeSelect 组件
描述
CVM 机型选择组件。
示例
# <package.yaml>args:- name: subnetwidget: subnet-selectlabel: 目标网络regions:- ap-guangzhou- ap-beijing- ap-shanghai- ap-chongqing- name: cvm_typelabel: CVM 机型widget: cvm-instance-type-selectzone: ${subnet.subnet.zone}region: ${subnet.region}cpu: [4, 16]memory: [8, 32]
预览效果

属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "cvm-instance-type-select" | CVM 机型 选择组件。 |
defaultValue | 是 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | 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等。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
region | 是 | string | 地域标识,如 ap-guangzhou。 |
region_id | 是 | string | 地域 ID,如 1。 |
zone | 是 | string | 可用区。 |
instance_type | 是 | string | 机型。 |
DiskSelect 组件
描述
云硬盘选择组件。
示例
# <package.yaml>args:- name: cvm_system_disklabel: 云硬盘widget: disk-selectusage: systemcvmConfig: ${cvm_type}
预览效果

属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "disk-select" | 云硬盘 选择组件。 |
defaultValue | 是 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
cvmConfig | 是 | CVM 机型选择结果 | CVM 配置。 |
usage | 否 | "system" | "data" | 云盘类型,默认系统盘。 |
minDiskSize | 否 | number | 最小磁盘大小,单位 GB。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
disk_type | 是 | string | 磁盘类型。 |
disk_size | 是 | string | 磁盘大小,单位 GB。 |
ImageSelect 组件
描述
CVM 镜像选择组件。
示例
# <package.yaml>args:- name: app_targetlabel: 目标网络widget: subnet-select- name: cvm_typelabel: 云服务器类型widget: cvm-instance-type-selectregion: ${app_target.region}zone: ${app_target.subnet.zone}- name: app_cvm_imagelabel: cvm 镜像widget: image-selectregion: ${app_target.region}instanceType: ${cvm_type.instance_type}incompleteTips: 请先选择 cvm 机型
预览效果

属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "image-select" | 镜像 选择组件。 |
defaultValue | 是 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
region | 是 | string | 地域。 |
instanceType | 是 | string | 机型。 |
incompleteTips | 否 | string | 未补全地域及机型信息时的提示内容。 |
platforms | 否 | string[] | 镜像来源平台。 |
imageIds | 否 | string[] | 可用镜像 ID 列表。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
image_id | 是 | string | 镜像 ID。 |
PrivateDNSDomainSelect 组件
描述
私有域名解析选择组件。
示例
# <package.yaml>args:- name: app_targetlabel: 目标网络widget: subnet-select- name: app_privatedns_domainlabel: 域名解析widget: privatedns-domain-selectdescription: 私有域解析域名,配置后将通过此域名来提供私有网络环境的服务访问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: 域名配置不符合规范
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "privatedns-domain-select" | PrivateDNS 域名 选择组件。 |
defaultValue | 是 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
relatedVpcId | 是 | string | 需要关联的 VPC ID。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
privatedns_zone_id | 是 | string | 私有域 ID,如 zone-xxxxxxxx。 |
privatedns_sub_domain | 是 | string | 子域名。 |
privatedns_domain | 是 | string | 私有域名。 |
CertificateSelect 组件
描述
SSL 证书选择组件,只支持选择公有云证书。
示例
# <package.yaml>args:- name: ssl_certificatelabel: SSL证书widget: certificate-select
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "certificate-select" | 证书选择 组件。 |
defaultValue | 否 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
cert_id | 是 | string | 证书 ID。 |
SSHKeyPairsSelect 组件
描述
SSH 密钥对选择组件。
示例
# <package.yaml>args:- name: ssh_aklabel: ssh 密钥widget: ssh-key-pairs-select
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "ssh-key-pairs-select" | SSH 密钥对 选择组件。 |
defaultValue | 否 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
multiple | 否 | boolean | 是否多选,默认 false。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
key_ids | 是 | string | 密钥对 ID 列表,单选时列表中仅有一个 ID,多选时列表中有多个 ID。 |
IPCidrInput 组件
描述
CIDR 输入框组件。
示例
# <package.yaml>args:- name: app_targetlabel: 目标网络widget: subnet-select- name: cluster_cidrlabel: 容器网络 CIDRwidget: ip-cidr-inputdescription: 创建后不能修改,请做好网络规划,并确保安全组规则放通子网内容器网络和其他资源region: ${app_target.region}vpcId: ${app_target.vpc.id}cidrType: service
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "ip-cidr-input" | CIDR 输入框 组件。 |
defaultValue | 否 | string | 默认值。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
region | 是 | `ap-${string}` | 地域。 |
vpcId | 是 | string | 需要检测网段冲突的 VPC。 |
cidrType | 否 | "cluster" | "service" | 欲校验的 CIDR 的类型。 |
allowIgnoreCidrConflict | 否 | boolean | 是否允许忽略某些 CIDR 冲突。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
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 模式生效)。 |
DomainInput 组件
描述
域名输入组件,如果传入 SSL 证书,则限制必须输入和 SSL 证书匹配的域名。
示例
# <package.yaml>args:- name: app_certificationlabel: SSL 证书widget: certificate-selectoptional: true- name: app_domainlabel: 域名widget: domain-inputoptional: truecertId: ${app_certification.certId}
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "domain-input" | 域名输入 组件。 |
defaultValue | 否 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
certId | 是 | string | SSL 证书 ID。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
domain | 是 | string | 输入的域名。 |
CamRolePolicyAttach 组件
描述
角色绑定权限策略组件,安装应用时如果需要为角色绑定策略,可以使用此组件。
示例
# <package.yaml># 为 TKE_QCSRole 角色绑定 QcloudAccessForTKERoleInCreatingCFSStorageclass 策略,用于安装容器集群的 cfs 组件args:- name: app_role_policylabel: CAM 角色权限widget: cam-role-policy-attachroles:- roleName: TKE_QCSRoleprincipalService: 'ccs.qcloud.com'policy:- QcloudAccessForTKERoleInCreatingCFSStorageclassdescription: 安装当前应用需要为角色授权
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "cam-role-policy-attach" | 角色绑定权限策略 组件。 |
defaultValue | 否 | undefined | 默认值,不可用。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
roles | 是 | CamRolePolicy[] | 需要绑定策略的角色列表。 |
输出
结果值
属性名称 | 是否必填 | 值类型 | 属性描述 |
roles | 是 | { roleName: string; principalService: string; policy: { policyName: string; attached?: boolean; }[]; }[] | 绑定之后的角色列表。 |
Switch 组件
描述
开关组件,用于切换两种状态。
示例
# <package.yaml># 设置是否自动续费args:- name: charge_typelabel: 计费类型description: 云资源购买使用付费方式widget: selectdefaultValue: PREPAIDoptions:- label: 包年包月value: PREPAID- label: 按量计费value: POSTPAID- name: charge_perpaid_auto_renewlabel: 自动续费widget: switchdefaultValue: falsewhen:- eq:a: ${charge_type}b: "PREPAID" # 包年包月
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "switch" | 开关 组件。 |
defaultValue | 否 | boolean | 默认值 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
输出
结果值
类型:
booleanCheck 组件
描述
选择框组件。
示例
# <package.yaml># 设置是否同意用户协议args:- name: charge_typelabel: 计费类型description: 云资源购买使用付费方式widget: selectdefaultValue: PREPAIDoptions:- label: 包年包月value: PREPAID- label: 按量计费value: POSTPAID- name: charge_perpaid_auto_renewlabel: 自动续费widget: switchdefaultValue: falsewhen:- eq:a: ${charge_type}b: "PREPAID" # 包年包月- name: accept_infolabel: 用户协议widget: checktext: 我已同意用户协议defaultValue: false
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "check" | 选框 组件。 |
defaultValue | 否 | boolean | 默认值。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
text | 否 | string | 选框描述文字。 |
输出
结果值
类型:
booleanSecret 组件
描述
密码或者敏感信息输入组件。
示例
# <package.yaml>args:- name: app_cos_secret_idlabel: COS 密钥 IDdefaultValue: "cos_id"widget: input- name: app_cos_secret_keylabel: COS 密钥 KeydefaultValue: "cos_key"widget: secret
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "secret" | 加密输入框 组件。 |
defaultValue | 否 | string | 默认值。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
输出
结果值
类型:
stringSecretTextarea 组件
描述
密码或者敏感信息多行输入组件。
示例
# <package.yaml>args:- name: app_cos_secret_idlabel: COS 密钥 IDdefaultValue: "cos_id"widget: input- name: app_cos_secret_keylabel: COS 密钥 KeydefaultValue: "cos_key"widget: secret- name: web_private_tokenlabel: token 信息widget: secret-textarea
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "secret-textarea" | 多行加密输入框 组件。 |
defaultValue | 否 | string | 默认值。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
输出
结果值
类型:
stringSelect 组件
描述
下拉选择组件。
示例
# <package.yaml>args:- name: charge_typelabel: 计费类型description: 云资源购买使用付费方式widget: selectdefaultValue: PREPAIDoptions:- label: 包年包月value: PREPAID- label: 按量计费value: POSTPAID- name: charge_perpaid_periodlabel: 购买时长widget: input-numberdefaultValue: 1description: 云资源包年包月购买的月份数when:- eq:a: ${charge_type}b: "PREPAID" # 包年包月
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "select" | 下拉选择 组件。 |
defaultValue | 否 | any | 默认值。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
options | 是 | { label: string; value: any; }[] | 下拉选项组。 |
输出
结果值:-
InputNumber 组件
描述
数字输入组件。
示例
# <package.yaml>args:- name: charge_typelabel: 计费类型description: 云资源购买使用付费方式widget: selectdefaultValue: PREPAIDoptions:- label: 包年包月value: PREPAID- label: 按量计费value: POSTPAID- name: charge_perpaid_auto_renewlabel: 自动续费widget: switchdefaultValue: falsewhen:- eq:a: ${charge_type}b: "PREPAID" # 包年包月- name: charge_perpaid_periodlabel: 购买时长widget: input-numberdefaultValue: 1description: 云资源包年包月购买的月份数when:- eq:a: ${charge_type}b: "PREPAID" # 包年包月optional: true
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "input-number" | 数字输入框 组件。 |
defaultValue | 否 | number | 默认值 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
max | 否 | number | 可输入的最大数字。 |
min | 否 | number | 可输入的最小数字。 |
step | 否 | number | 使用按钮增减时的步长。 |
输出
结果值
类型:
numberInputTextarea 组件
描述
多行输入组件。
示例
# <package.yaml>args:- name: charge_typelabel: 计费类型description: 云资源购买使用付费方式widget: selectdefaultValue: PREPAIDoptions:- label: 包年包月value: PREPAID- label: 按量计费value: POSTPAID- name: charge_perpaid_auto_renewlabel: 自动续费widget: switchdefaultValue: falsewhen:- eq:a: ${charge_type}b: "PREPAID" # 包年包月- name: app-descriptionlabel: 描述信息widget: input-textareadefaultValue: 描述
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "input-textarea" | 多行输入框 组件。 |
defaultValue | 否 | string | 默认值 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
输出
结果值
类型:
stringInput 组件
描述
输入框组件,不建议直接使用 input 组件,可以优先使用上述资源和通用组件。
示例
# <package.yaml># 设置是否自动续费args:- name: charge_typelabel: 计费类型description: 云资源购买使用付费方式widget: selectdefaultValue: PREPAIDoptions:- label: 包年包月value: PREPAID- label: 按量计费value: POSTPAID- name: charge_perpaid_auto_renewlabel: 自动续费widget: switchdefaultValue: falsewhen:- eq:a: ${charge_type}b: "PREPAID" # 包年包月- name: app_nacos_hostlabel: nacos 地址widget: inputoptional: truedefaultValue: "172.16.0.2:8848"description: 请提前创建 nacos 配置中心
预览效果


属性
属性名称 | 是否必填 | 值类型 | 属性描述 |
widget | 是 | "input" | 输入框 组件。 |
defaultValue | 否 | string | 默认值。 |
name | 是 | string | 表单项变量名,用于在 Terraform 中获取变量。 |
label | 是 | string | 表单项名。 |
description | 否 | string | 表单项描述。 |
optional | 否 | boolean | 表单项是否可选。 |
when | 否 | PackageArgOp[] | 表单项是否出现,可传递表达式。 |
hidden | 否 | PackageArgOp[] | 表单项是否隐藏,可传递表达式。 |
validator | 否 | PackageArgValidator[] | 表单项值校验器。 |
输出
结果值
类型:
string公共类型 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: 副本可用区不能与主可用区相同
公共类型 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; }
公共类型 CamRolePolicy
属性名称 | 是否必填 | 值类型 | 属性描述 |
roleName | 是 | string | 角色名。 |
policy | 是 | string[] | 预设策略名列表。 |
principalService | 是 | string | 角色载体。 |





















