Terraform-创建对象图

问题描述

这有点使我困惑。所以我想创建一个像这样的对象的地图:

{
  "nic_1" = {
    "interface_id" = "blah"
    "ip_configuration_name" = "blah"
  },"nic_2" = {
    "interface_id" = "blah"
    "ip_configuration_name" = "blah"
  },}

此数据的来源来自以下列表:

ni-resource = [
  {
    "id" = "blah"
    "ip_configuration" = [
      {
        "name" = "blah"
      },]
    "name" = "nic_1"
  },{
    "id" = "blah"
    "ip_configuration" = [
      {
        "name" = "blah"
      },]
    "name" = "nic_2"
  },]

因此,换句话说ni-resource->id需要映射到interface_id,而ni-resource->ip_configuration->name需要映射到ip_configuration_name

我正在尝试创建一个无法正常工作的本地计算机,

locals {
  ni_list = { for ni in ni-resource : 
    ni["name"] => {
      interface_id = ni["id"]
      ip_configuration = ni["ip_configuration"][0]["name"]
    }
  }
}

我得到的错误如下:

Error: Invalid object key

The key expression produced an invalid result: string required.

这是完整的ni资源输出:

ni-resource = [
  {
    "applied_dns_servers" = []
    "dns_servers" = []
    "enable_accelerated_networking" = false
    "enable_ip_forwarding" = false
    "id" = "blah"
    "internal_dns_name_label" = ""
    "internal_domain_name_suffix" = "blah"
    "ip_configuration" = [
      {
        "name" = "blah"
        "primary" = true
        "private_ip_address" = "dummy"
        "private_ip_address_allocation" = "Dynamic"
        "private_ip_address_version" = "IPv4"
        "public_ip_address_id" = ""
        "subnet_id" = "dummy"
      },]
    "location" = "dummy"
    "mac_address" = ""
    "name" = "nic_1l"
    "private_ip_address" = "dummy"
    "private_ip_addresses" = [
      "dummy",]
    "resource_group_name" = "dummy"
    "virtual_machine_id" = ""
  },]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...