Terraform: преобразовать список объектов в список отдельных элементов из объекта - PullRequest
1 голос
/ 10 июля 2020

У меня есть список объектов из переменной в terraform

variable "persons" {
  type = list(object({
    name = string,
    phonenumber = string,
    tshirtSize = string
  }))
    description = "List of person"
}

Теперь мне нужен список имен людей, чтобы я мог использовать его для определения AWS ресурса

Как я могу преобразовать этот список объектов в список имен ["bob", "amy", "jane"]

Я использую terraform 0.12.24, но могу обновить его при необходимости

1 Ответ

1 голос
/ 10 июля 2020

Обновленный ответ : Используйте выражение splat

var.persons[*].name

https://www.terraform.io/docs/configuration/expressions.html#splat -expressions

Исходный ответ: Я смог сделать это в файле locals

locals {
  names = [
    for person in var.persons:
    person.name
  ]
}

Для дополнительного чтения СМОТРИТЕ: https://www.hashicorp.com/blog/hashicorp-terraform-0-12-preview-for-and-for-each/

...