You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform 1.7中如何实现字符串与变量的拼接?

Terraform 1.7 字符串与变量拼接实现方案

1. 先声明environment_name变量

在你的Terraform配置的variables.tf文件中添加如下变量定义,限制可选值仅为test、stage、prod:

variable "environment_name" {
  type        = string
  description = "部署环境标识"
  # 限制可选值范围
  validation {
    condition     = contains(["test", "stage", "prod"], var.environment_name)
    error_message = "environment_name 参数仅允许传入 test、stage、prod 三个值"
  }
  # 可按需设置默认值,也可以删除default字段要求执行时必须传参
  default = "test"
}

2. 替换资源中的硬编码值

Terraform 1.7 原生支持${}字符串插值语法,直接把变量嵌入到目标字符串的对应位置即可,修改后的fusionauth_tenant资源配置如下:

resource "fusionauth_tenant" "tenant" {
  name = "Test (${var.environment_name})"
  email_configuration {
    default_from_name                 = "FusionAuth [${var.environment_name}]"
    verification_email_template_id    = fusionauth_email.verification_template.id
  }
}

可选写法:使用format函数实现

如果你偏好显式的字符串格式化写法,也可以用Terraform内置的format函数,效果和插值语法完全一致:

  • name字段写法:name = format("Test (%s)", var.environment_name)
  • default_from_name字段写法:default_from_name = format("FusionAuth [%s]", var.environment_name)

内容的提问来源于stack exchange,提问作者cloudbud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 05:15:02