【问题标题】:How to create multiple azure ad users using terraform?如何使用 terraform 创建多个 azure 广告用户?
【发布时间】:2021-12-10 16:03:52
【问题描述】:

我正在尝试使用 terraform 创建多个用户。现在我将它们声明为本地人,但稍后我将使用 json 文件在我的 azuread 环境中创建多个用户。

这是我声明本地人的方式:

locals {
  users = [
    [
      "user1", 
      "Example User1",
      "Password@1234#"
    ],
    [
      "user2", 
      "Example User2",
      "Password@09876#" 
    ]
  ]
}

但是当我使用下面的代码时,我得到了一个错误:

resource "azuread_user" "test" {
  for_each = local.users

  user_principal_name = "${each.value[0]}@tenantname.OnMicrosoft.com"
  display_name        = each.value[1]
  mail_nickname       = each.value[0]
  password            = each.value[2]
}

错误:

╷
│ Error: Invalid for_each argument
│
│   on main.tf line 18, in resource "azuread_user" "test":
│   18:   for_each = local.users
│     ├────────────────
│     │ local.users is tuple with 2 elements
│
│ The given "for_each" argument value is unsuitable: the "for_each" argument must be a map, or set of strings, and you have provided a value of type tuple.
╵

非常感谢有关如何解决此问题的任何帮助吗?

【问题讨论】:

    标签: azure azure-active-directory terraform


    【解决方案1】:

    您必须将其转换为地图:

    resource "azuread_user" "test" {
    
      for_each = {for idx, user in local.users: idx => user}
    
      user_principal_name = "${each.value[0]}@M365B109047.OnMicrosoft.com"
      display_name        = each.value[1]
      mail_nickname       = each.value[0]
      password            = each.value[2]
    }
    

    【讨论】:

      【解决方案2】:

      正如您在另一个答案中被告知的那样,您需要它是一张地图,但在另一个答案中执行 for 之前,它将使用 terraform 自己的 tomap () 函数。

      resource "azuread_user" "test" {
      
        for_each = tomap({users=local.users})
      
        user_principal_name = "${each.value[0]}@M365B109047.OnMicrosoft.com"
        display_name        = each.value[1]
        mail_nickname       = each.value[0]
        password            = each.value[2]
      

      【讨论】:

        猜你喜欢
        • 2020-11-09
        • 2020-05-15
        • 1970-01-01
        • 2020-12-26
        • 2018-11-24
        • 2021-04-18
        • 1970-01-01
        • 2019-07-11
        • 2020-07-04
        相关资源
        最近更新 更多