我想從另一個存盤庫獲取子網值。為此,我添加了資料 aws_subnet 部分。但是我的過濾部分有問題。在值行的末尾,我需要計算每個子網。我嘗試使用 count.index 和不同的東西。但是我收到了這個錯誤:The "count" object can only be used in "module", "resource", and "data" blocks, and only when the "count" argument is set.那么我如何使用 * 作為過濾器值部分。如:${var.vpcname}-Public-*
我的子網:
myvpc-Private-0
myvpc-Private-1
myvpc-Private-2
myvpc-Public-0
myvpc-Public-1
myvpc-Public-2
我的資料部分:
data "aws_subnet" "public" {
filter {
name = "tag:Name"
values = ["${var.vpcname}-Public-"]
}
}
data "aws_subnet" "private" {
filter {
name = "tag:Name"
values = ["${var.vpcname}-Private-"]
}
}
想要查看具有以下輸出部分的所有子網。
output "private" {
value = data.aws_subnet.private.*.id
}
output "public" {
value = data.aws_subnet.public.*.id
}
uj5u.com熱心網友回復:
您應該使用aws_subnets,而不是aws_subnet:
data "aws_subnets" "public" {
filter {
name = "tag:Name"
values = ["${var.vpcname}-Public-*"]
}
}
data "aws_subnets" "private" {
filter {
name = "tag:Name"
values = ["${var.vpcname}-Private-*"]
}
}
然后
output "private" {
value = data.aws_subnets.private.ids
}
output "public" {
value = data.aws_subnets.public.ids
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/464265.html
標籤:亚马逊网络服务 地形 terraform-provider-aws
