[英]Terraform data filter : get multiple values
我想從另一個存儲庫獲取 su.net 值。 為此,我添加了數據 aws_su.net 部分。 但是我在過濾部分遇到了問題。 在值行的末尾,我需要計算每個 su.net。 我嘗試使用 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 部分以下的所有 su.net。
output "private" {
value = data.aws_subnet.private.*.id
}
output "public" {
value = data.aws_subnet.public.*.id
}
您應該使用aws_su.nets ,而不是aws_su.net
:
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
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.