一千萬個為什麽

搜索

Terraform:是否有簡明的語法來為資源指定多個標簽?



要將多個標簽附加到資源,我目前使用多個標簽塊:

resource "aws_autoscaling_group" "instance" {
  ...

  tag {
    key                 = "Name"
    value               = "${var.cluster_prefix}"
    propagate_at_launch = true
  }

  tag {
    key                 = "Owner"
    value               = "${var.tag_Owner}"
    propagate_at_launch = true
  }

  tag {
    key                 = "Project"
    value               = "${var.tag_Project}"
    propagate_at_launch = true
  }
}

它的工作原理,但我想知道是否有一個更簡潔的語法。由於您必須為每個標簽指定 propagate_at_launch ,所以也有點容易出錯。

轉載註明原文: Terraform:是否有簡明的語法來為資源指定多個標簽?

一共有 2 個回答:

對於自動縮放組,這是可用的最簡潔的語法。

對於大多數其他資源,您可以使用 tags 語法,如下所示:

tags {
  Key1 = "value1"
  Key2 = "value2"
}

aws_autoscaling_group 現在支持一系列標簽( https://www.terraform.io/docs/providers/aws/r/autoscaling_group.html#tags )。但是這與其他地形資源的語法看起來有些不同:

tags = [
  {
    key                 = "explicit1"
    value               = "value1"
    propagate_at_launch = true
  },
  {
    key                 = "explicit2"
    value               = "value2"
    propagate_at_launch = true
  },
]

這也允許通過內插動態構建標簽。