将变量作为映射中的值传递

问题描述 投票:0回答:1
  variable "selected_role" {
    type = map(list(string))
    default = {
      "devops"  = var.devops_arn
      "dbadmin" = var.dbadmin_arn
    }
  }

如果 devops_arn 和 dbadmin_arn 变量具有托管策略 ARN 列表。那么,我可以像上面那样将这些变量作为映射变量中的值传递吗?我刚刚阻止了这一点。请快速帮助

在映射内传递变量作为值

dictionary variables terraform
1个回答
0
投票

我很确定你不能这样做,但是在你的计划中,你可以有一些条件将你的变量转换成更“规范化”的形式。也许尝试这样的事情:

variable "selected_role" {
    type = map(string)
    default = {
    }
  }

locals {
  normalized_selected_role = var.selected_role == {} ? {
    "devops"  = var.devops_arn
    "dbadmin" = var.dbadmin_arn
  } : var.selected_role
}

© www.soinside.com 2019 - 2024. All rights reserved.