很遗憾 terraform 不向后兼容。
data "aws_security_group" "security_groupdev" {
filter {
name = "group-name"
values = ["SecurityGroupdev"]
}
}
resource "aws_instance" "ec2_instance" {
count = "${var.ec2_instance_count}"
...
}
resource "aws_network_interface_sg_attachment" "sg_attachment" {
security_group_id = "${data.aws_security_group.security_groupdev.id}"
network_interface_id = "${aws_instance.ec2_instance.primary_network_interface_id}"
}
但是在将其升级到 Terraform 0.12 后,我开始遇到问题,并且无法获得 TF0.12 的语法。
错误:缺少资源实例键
on ..\resources\ec2_instance\main.tf line 101, in resource "aws_network_interface_sg_attachment" "sg_attachment":
101: network_interface_id = "${aws_instance.ec2_instance.primary_network_interface_id}"
由于 aws_instance.ec2_instance 设置了“计数”,因此必须在特定实例上访问其属性。
我试过“${aws_instance.ec2_instance[count.index].primary_network_interface_id}”但没有运气。