馃幆 诪讟专讜转 讛诇诪讬讚讛


讞诇拽 1: 讛讻谞转 住讘讬讘转 讛注讘讜讚讛

讛住讘专

讬爪讬专转 拽讜讘抓 讞讚砖 诇讚讬讜谉 注诇 砖讬诇讜讘 讘讬谉 专砖讬诪讜转 讜-maps. 讗驻砖专 诇讘爪注 讗讬讟专爪讬讛 注诇 专砖讬诪讛 讜诇讬爪讜专 map 讘住讜祝, 讜讙诐 诇讛驻讱 - 诇讘爪注 讗讬讟专爪讬讛 注诇 map 讜诇讬爪讜专 专砖讬诪讛.

拽讜讚 / 转爪讜专讛

讛讙讚专转 诪砖转谞讛 users讘拽讜讘抓 variables.tf:

variable "users" {
  type = list(object({
    username = string
    role     = string
  }))
}

讛讜住驻转 讛注专讻讬诐 讘-terraform.tfvars:

users = [
  {
    username = "John"
    role     = "admin"
  },
  {
    username = "Jane"
    role     = "developer"
  },
  {
    username = "Laura"
    role     = "auditor"
  }
]

讞诇拽 2: 讛诪专转 专砖讬诪讛 诇-map

讛住讘专

讛诪讟专讛 讛讬讗 诇讛诪讬专 讗转 讛诪砖转谞讛 砖讛讜讗 专砖讬诪转 诪砖转诪砖讬诐 诇-map 砖讘讜 讛-username 讛讜讗 讛-key 讜讛-role 讛讜讗 讛-value.

拽讜讚 / 转爪讜专讛

locals {
  users_map = {
    for user_info in var.users : user_info.username => user_info.role
  }
}

output "users_map" {
  value = local.users_map
}