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

Terraform assign variable value using for loop if condition is true

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

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

my_code:

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
  }

我试过上面的代码,我收到错误消息 missing false statement,如何解决?

改用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] 如果该值将始终存在于地图中。