Используйте атрибут подстановочного знака в выражении, заданном для вывода значение , чтобы получить список идентификаторов для созданных виртуальных машин. Например,
output "vm_to_uuids" {
value = "${data.vsphere_virtual_machine.*.id}"
}
Необходимый синтаксис, представленный в вашем вопросе, является одним из исключений, когда предпочтение отдается функции над формой.Написание конфигурации terraform, которая обеспечивает это не просто.Возможно, я предлагаю использовать другие более простые способы вывода этой же информации.
Могут быть выведены имена, сопоставленные с идентификаторами:
output "vm_to_uuids" {
value = "${zipmap(
data.vsphere_virtual_machine.*.name,
data.vsphere_virtual_machine.*.id)}"
}
Карта имен и идентификаторов может быть выведена в столбцеманера:
output "vm_to_uuids" {
value = "${map("name",
data.vsphere_virtual_machine.*.name,
"id",
data.vsphere_virtual_machine.*.id)}"
}
Список имен и идентификаторов может быть выведен в виде столбцов:
output "vm_to_uuids" {
value = "${list(
data.vsphere_virtual_machine.*.name,
data.vsphere_virtual_machine.*.id)}"
}