Terraform 合并两个列表并输出

Terraform 合并两个列表并输出,terraform,Terraform,我想将Azure虚拟机的外部和内部IP地址输入Python脚本,格式为script.py external1、internal1 external2、internal2 external3、internal3,例如script.py 54.120.31.31192.168.0.1 54.32.13.14192.168.0.2 54.33.16.19192.168.0.3 我可以使用此命令获得所需的输出,只是格式不正确: output "inventory" { value = "${

我想将Azure虚拟机的外部和内部IP地址输入Python脚本,格式为
script.py external1、internal1 external2、internal2 external3、internal3
,例如
script.py 54.120.31.31192.168.0.1 54.32.13.14192.168.0.2 54.33.16.19192.168.0.3

我可以使用此命令获得所需的输出,只是格式不正确:

output "inventory" {
  value = "${
    formatlist(
      "%s,%s",
      azurerm_public_ip.main.*.ip_address,
      azurerm_network_interface.main.*.private_ip_address
    )
  }"
}
是否可以将这些列表合并到我想要的输出格式中?

您很接近:

output "inventory" {
  value = "${
    join(
      " ",
      formatlist(
        "%s,%s",
        azurerm_public_ip.main.*.ip_address,
        azurerm_network_interface.main.*.private_ip_address
      )
    )
  }"
}
例如:

output "inventory" {
  value = "${
    join(
      " ",
      formatlist(
        "%s,%s",
        list("1", "2", "3"),
        list("a", "b", "c")
      )
    )
  }"
}

>地形应用
申请完成!资源:添加0个,更改0个,销毁0个。
产出:
存货=1,A2,B3,c

Hi@beatcracker,谢谢你。昨晚我在手机上读到了你的答案,并给了你一个巨大的绿色记号,但重新阅读后,我犯了一个错误——这不太正确。我需要
inventory
输出以空格显示,例如
1、a2、b3、c
-第一个列表中的一个条目,然后是逗号,然后是第二个列表中的第一个条目-然后是空格,然后重复。@dunc没问题,您只需要用空格连接即可。我已经更新了我的答案。Duhh,如果我只是快速看一下语法的话,我可能自己也能做到…:)对不起,伙计,你现在正在打绿色记号。谢谢