如何正确使用terraform中的每个值?

如何正确使用terraform中的每个值?,terraform,terraform0.12+,Terraform,Terraform0.12+,我正在尝试为每个用户创建一个文件,并将分配给他们的项目作为文件的内容。我无法获取“${each.value}”,因为它是字符串列表。有什么办法吗 locals { data = { "project1" = { user_assigned = ["user1", "user2", "user3"] } "project2" = {

我正在尝试为每个用户创建一个文件,并将分配给他们的项目作为文件的内容。我无法获取“${each.value}”,因为它是字符串列表。有什么办法吗

locals {
  data = {
    "project1" = {
      user_assigned           = ["user1", "user2", "user3"]
     }
    "project2" = {
      user_assigned           = ["user2", "user3", "user4"]
     }
  }


`
resource "local_file" "foo" {
  for_each = transpose(zipmap(keys(local.data), values(local.data)[*].user_assigned))
  content  = "${each.value}"
  filename = "${each.key}"
}
错误:

  on test.tf line 85, in resource "local_file" "foo":
  85:   content  = "${each.value}"
    |----------------
    | each.value is list of string with 2 elements

内容必须是字符串,但在您的情况下,它是一个列表,例如
[“project1”、“project2”]
。将其转换为字符串的一种方法是:


内容必须是字符串,但在您的情况下,它是一个列表,例如
[“project1”、“project2”]
。将其转换为字符串的一种方法是:


@没问题。很高兴它成功了:-)@Devopsnoob没问题。很高兴它成功了:-)
resource "local_file" "foo" {
  for_each = transpose(zipmap(keys(local.data), values(local.data)[*].user_assigned))
  content  = jsonencode(each.value)
  filename = each.key
}