系统变量手册

最近更新时间:2025-07-04 18:41:53

我的收藏

描述

系统变量是由云应用平台注入的变量,应用开发无需关注。
变量名都是以 cloudapp_ 开头。
使用时需要在 tf 中声明 variable
系统变量名是固定的,用户无法变更。

使用示例

声明变量
# 系统变量
variable "cloudapp_cam_role" {}
variable "cloudapp_spec" {}
variable "cloudapp_repo_server" {}
variable "cloudapp_repo_username" {}
variable "cloudapp_repo_password" {}
variable "cloudapp_id" {}
variable "cloudapp_name" {}
variable "cloudapp_tags" {}
variable "cloudapp_installer_uin" {}
variable "cloudapp_owner_uin" {}
variable "cloudapp_owner_appid" {}

# 应用内变量
variable "app_network_vpc" {
type = object({
region = string
availability_zone = string
region_id = string
vpc = object({
id = string
cidr_block = string
})
subnet = object({
id = string
cidr_block = string
zone = string
})
})
}


variable "app_cvm" {
type = object({
instance_type = string
})
}
variable "app_cvm_image" {
type = object({
image_id = string
})
}

variable "charge_type" {
type = string
default = "POSTPAID"
}
variable "charge_perpaid_period" {
type = number
default = 1
}
使用变量
resource "random_password" "password_for_cvm" {
length = 16
override_special = "_+-&=!@#$%^*()"
}

resource "tencentcloud_instance" "main" {
instance_name = "main_instance"
availability_zone = var.app_network_vpc.availability_zone
image_id = var.app_cvm_image.image_id #"img-mmytdhbn"
instance_type = var.app_cvm.instance_type
password = random_password.password_for_cvm.result
vpc_id = var.app_network_vpc.vpc.id
subnet_id = var.app_network_vpc.subnet.id
instance_charge_type = var.charge_type == "PREPAID" ? "PREPAID" : "POSTPAID_BY_HOUR"
instance_charge_type_prepaid_period = var.charge_perpaid_period
cam_role_name = var.cloudapp_cam_role
}

变量说明

当前支持的系统变量如下:
变量
类型
说明
cloudapp_cam_role
string
用于调用应用接口的 CAM 角色名,需传给 CVM 或者 TKE 使用。
cloudapp_spec
object
用户选定的商品规格。
cloudapp_repo_server
string
容器镜像仓库地址。
cloudapp_repo_username
string
容器镜像仓库用户名。
cloudapp_repo_password
string
容器镜像仓库密码。
cloudapp_id
string
云应用实例 ID。
cloudapp_name
string
云应用实例名称。
cloudapp_tags
Array<{
Key: string;
Value: string;
}>
云应用实例标签清单。
cloudapp_installer_uin
string
安装用户 uin。
cloudapp_owner_uin
string
所属主账号 uin。
cloudapp_owner_appid
string
所属主账号 appid。