繁体   English   中英

terraform 动态转换列表为字符串

[英]terraform convert list to string dynamically

我需要从 for_each 生成的元组/列表中提取字符串。

如何在每个角色的成员中传递“account1”然后“account2”?

variable "binding" {
    type = map
    default = {
        "roles/viewer" = [
            "account1",
            "account2",
        ],
        "roles/logging.viewer" = [
            "account1",
            "account2",
        ],
    }
}


resource "google_project_iam_member" "test-sa-binding" {
  project = var.PROJECT_ID

  for_each = var.binding
  role    = each.key 
  member  = ???
}

谢谢,

你必须先展平你的变量:

locals {
  flat_binding = merge([
      for role, accounts in var.binding:
         {
           for idx, account in accounts:
             "${role}-${idx}" => {
               account = account
               role = role
             }
         }
    ]...) # pls, do NOT remove the dots
}

然后

resource "google_project_iam_member" "test-sa-binding" {
  project = var.PROJECT_ID

  for_each = local.flat_binding
  role    = each.value["role"] 
  member  = each.value["account"] 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM