Карта внутри карты в переменных terraform - PullRequest
0 голосов
/ 26 июня 2019

Кто-нибудь знает, возможно ли это с помощью фрагментов кода, представляющих, могу ли я создать переменную карты в переменной карты в переменных terraform?

   variable "var" {
    type = map
    default = {
    firstchoice = {
    firstAChoice ="foo"
    firstBChoice = "bar"
    }
    secondchoice = {
    secondAChoice = "foobar"
    secondBChoice = "barfoo"
    }
    }
    }

Если у кого-то есть понимание того, возможно ли это, или какой-либо документации, которая разработает это, было бы замечательно.

1 Ответ

1 голос
/ 26 июня 2019

Да, можно использовать переменную карты в качестве значения ключа переменной карты. Ваша переменная просто нуждается в правильном отступе. Также я предоставляю способы доступа к этой переменной.

variable "var" {
  default = {
    firstchoice = {
      firstAChoice = "foo"
      firstBChoice = "bar"
    }

    secondchoice = {
      secondAChoice = "foobar"
      secondBChoice = "barfoo"
    }
  }
}

Чтобы получить доступ ко всему значению карты ключа карты firstchoice, вы можете попробовать набрать

value = "${var.var["firstchoice"]}"

output:
{
  firstAChoice = foo
  firstBChoice = bar
}

Чтобы получить доступ к определенному ключу этого ключа карты (пример firstAChoice), вы можете попробовать

value = "${lookup(var.var["firstchoice"],"firstAChoice")}"

output: foo
...