Terraform 组合两组IP以形成单个输出地形
我有两个Terraform资源,每个都创建了几个EC2(一个Linux EC2,另一个Windows),它们都有各自IP的输出(这一个用于Linux,Windows有Terraform 组合两组IP以形成单个输出地形,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我有两个Terraform资源,每个都创建了几个EC2(一个Linux EC2,另一个Windows),它们都有各自IP的输出(这一个用于Linux,Windows有target\u Windows,而不是target): 我想将两个输出合并为一个输出,以便以后更容易访问我的线路。任何人都知道如何做到这一点?可以将两个集合合并成一个新集合,其中包含两个集合中的所有值: output "target_ips" { value = setunion( aws_inst
target\u Windows
,而不是target
):
我想将两个输出合并为一个输出,以便以后更容易访问我的线路。任何人都知道如何做到这一点?可以将两个集合合并成一个新集合,其中包含两个集合中的所有值:
output "target_ips" {
value = setunion(
aws_instance.target.*.private_ip,
aws_instance.target_windows.*.private_ip,
)
}
在这种情况下,根据定义,这两个输入中不可能有公共值,因为每个实例的IP地址都是唯一的,但为了完整性,我将注意到,由于集合的规则,
setunion
结果将只包含每个唯一值一次,即使它出现在两个输入中。可能有一种方法是localexec
写入公共文件?看看这里的这个例子
output "target_ips" {
value = setunion(
aws_instance.target.*.private_ip,
aws_instance.target_windows.*.private_ip,
)
}