Есть ли причина, по которой вы не просто используете источник данных aws_subnet . Вы можете набрать, какая подсеть будет возвращена с использованием фильтров, а затем использовать атрибут id
из этого:
data "aws_subnet" "default" {
vpc_id = "vpc-0dfc13e14b4e1fa57"
filter {
name = "availability-zone-id"
values = ["use1-az4"]
}
}
resource "aws_network_interface" "eth0" {
private_ips = "172.31.16.1"
subnet_id = data.aws_subnet.default.id
lifecycle {
ignore_changes = ["subnet_id"]
}
}
Если вам нужно использовать aws_subnet_ids
, например, создать сетевой интерфейс для каждой подсети, вы можете сделать что-нибудькак это:
data "aws_subnet_ids" "default" {
vpc_id = "vpc-0dfc13e14b4e1fa57"
}
resource "aws_network_interface" "eth0" {
count = length(data.aws_subnet_ids.default.ids)
subnet_id = element(tolist(data.aws_subnet_ids.default.ids),count.index)
lifecycle {
ignore_changes = ["subnet_id"]
}
}