我想向我首先制作的服务器的输出结果添加不同的消息,以及我在第二个及以后制作的服务器并显示它。
我想做的是最终。
output
ec2global_ips [
manager_ip is : xxx,
node ip is: [xxx,xxx]
]
当前我的输出。tf代码如下。
output "ec2_global_ips" {
value = ["${aws_instance.main.*.public_ip}"]
}
为此,我认为有必要判断某个地方aws_instance.main.0.public_ip
或aws_instance.main.1.public_ip
并放置另一个值
有没有办法与Terraform做出这样的事情?var.count函数不能用于output.tf等。
您可以使用切片和元素插值(未测试(:
output "ec2_global_ips" {
value = "${
map(
"manager_ip", "${element(aws_instance.main.*.public_ip, 0)}"
"node_ips", "${slice(aws_instance.main.*.public_ip, 1, length(aws_instance.main.*.public_ip))}"
)
}"
}
根据您所需的输出来判断,看起来您正在寻找Manager_ip为字符串(因此是元素,而不是切片(,而Node_ips则为列表。这应该给您您要寻找的东西。