覆盖 terraform 变量对象中的属性

Gue*_*135 1 variables terraform hcl

我需要传递一个包含具有多个变量的对象的变量。有什么方法可以在解析时覆盖这些属性之一吗?例如:

全局 = {

region = "eu-central-1"
account_id = "9555555"
app_port = 8080
domain = "my.domain"
stage = "production"
docker_tag = "production" }
Run Code Online (Sandbox Code Playgroud)

但我想传递这个全局变量,但是将 docker_tag 设置为“最新”,有没有办法做到这一点,而不需要放置所有属性并替换我需要的属性?(我有大约 25 个属性)我不想做的示例:

全局 = {

region = var.region
account_id = var.account_id
app_port = var.app_port
domain = var.domain
stage = var.stage
docker_tag = "latest" }
Run Code Online (Sandbox Code Playgroud)

谢谢大家

Gue*_*135 7

我找到了一种使用合并的方法(https://www.terraform.io/docs/language/functions/merge.html):“如果多个给定的地图或对象定义了相同的键或属性,则参数序列中较靠后的一个优先。”

合并 ( var.global, { docker_tag = "latest"})

它刚刚更换了我想要更换的钥匙