如果条件为真,Terraform 使用 for 循环分配变量值

时间:2021-07-29 07:19:04

标签: amazon-web-services azure terraform devops terraform-provider-azure

我需要将 short_id 分配给变量 short_location_name,

我在下面的 terrfaorm 代码中有 map short_location_names,如果“var.location”是“westus”,我需要分配 short_location_names“wus”

我的代码:

locals {
  short_location_names = {
      "westus": "wus",
      "eastus": "eus",
      "westus2": "wus2",
      "eastus2": "eus2"
  }
  short_location_name = {
    for location, short_id in local.short_location_names: location == var.location ? short_location_name => short_id
  }

我尝试了上面的代码,我得到错误缺少错误语句,如何解决?

1 个答案:

答案 0 :(得分:2)

改用 lookup 函数:

short_location_name = lookup(local.short_location_names, var.location, null)

short_location_name = { var.location: lookup(local.short_location_names, var.location, null) }

如果值将始终存在于地图中,则只需 local.short_location_names[var.location]

相关问题