一、描述
系统变量是由云应用平台注入的变量,应用开发无需关注。
·变量名都是以 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。 |