доступ к вложенным выходным значениям terraform - PullRequest
0 голосов
/ 31 марта 2020

У меня есть выход

output "route_tables" {
  value       = module.oci_network.route_tables
}

Это приводит к выводам в следующем формате

route_tables = {
  "cool_systems" = [
    {
      "compartment_id" = {}
      "defined_tags" = {}
      "display_name" = "cool_systems"
      "freeform_tags" = {}
      "id" = "id-123"
      "route_rules" = [
        {
          "cidr_block" = "0.0.0.0/0"
          "description" = "sauce"
          "destination" = "car"
          "destination_type" = "CIDR_BLOCK"
          "network_entity_id" = "foo"
        },
      ]
      "state" = "AVAILABLE"
      "time_created" = ""
      "vcn_id" = "vcn-123"
    },
  ]
  "tool_systems" = [
    {
      "compartment_id" = ""
      "defined_tags" = {}
      "display_name" = "tool_systems"
      "freeform_tags" = {}
      "id" = ""
      "route_rules" = [
        {
          "cidr_block" = ""
          "description" = ""
          "destination" = "0.0.0.0/0"
          "destination_type" = "CIDR_BLOCK"
          "network_entity_id" = "foo"
        },
      ]
      "state" = "AVAILABLE"
      "time_created" = ""
      "vcn_id" = "vcn-123"
    },
  ]
}

Удаленное состояние считывается через источники данных, называемые vcn.

Я хочу прочитать атрибут "id" ("id" = "id-123"), но он вложен в cool_systems, из этого источника данных как мне получить доступ к этому вложенному элементу?

Если это было бы плоско, это было бы просто

route_table_id   = data.terraform_remote_state.vcn.outputs.route_tables.cool_systems.id 

, но это приводило к следующей ошибке.

| data.terraform_remote_state.vcn.outputs.route_tables.cool_systems является кортежем с 1 элементом

Как мне go получить доступ к этому вложенному значению?

...