aws_shield_protection Terraform



我正在努力寻找一种方法,包括所有负载均衡器与某些标签值的(例如盾保护= ON)在一个aws帐户。目前我有一个地图的arn's在一个变量和运行for循环。这种方法有效,但效率不高;因为每次我都必须手动添加新的负载均衡器的ARN。

resource "aws_shield_protection" "this" {
for_each = var.listofarn
name         = "shield protection".each.key
resource_arn = each.key
}
variable listofarn {
type = map(string)
default = {
appx_alb="arn::xxxxx"
appy_alb="arn:yyyyy"
}
}

是否有办法使用数据资源"aws_l "。谢谢。

使用数据源没有多大帮助aws_lb数据源只能返回一个alb。你不能用它来获取你所有alb的信息。您必须在带有标签或一些ALB id的for_loop中运行aws_lb数据源。

但是您可以通过开发外部数据源来解决这个问题。因为它是一个完全自定义的数据源,所以它可以以您想要的形式返回关于所有alb的信息。

最新更新