首页 > 解决方案 > 使用 terraform 0.12 中的列表迭代地图

问题描述

我正在使用 terraform 0.12.8 并且我正在尝试编写一个可以迭代以下变量结构的资源:

variable "applications" {
  type        = map(string)
  default = {
    "app1" = "test,dev,prod"
    "app2" = "dev,prod"
  }
}

我的资源:

resource "aws_iam_user" "custom" {
  for_each = var.applications

  name = "circleci-${var.tags["ServiceType"]}-user-${var.tags["Environment"]}-${each.key}"
  path = "/"
}

所以,我可以遍历我的地图。但是,我不知道如何验证是否var.tags["Environment"]为特定应用启用了该功能,例如app1.

基本上,我想确保为每个应用程序创建资源,只要环境变量在应用程序映射中引用应用程序名称的列表中。

有人可以帮我吗?

请注意,如果您有什么建议可以实现我的目标,我很乐意使用不同的变量结构。

标签: terraformterraform-provider-awsterraform0.12+

解决方案


推荐阅读