amazon-web-services - aws_shield_protection Terraform
问题描述
我正在努力寻找一种方法来将具有特定标签值(例如 Shield protection = ON)的所有负载均衡器包含在 aws 帐户中。目前我在一个变量中有一个 arn 的映射并运行一个 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_lb”。谢谢。
解决方案
使用数据源不会有太大帮助。aws_lb
数据源只能返回一个 alb。您不能使用它来获取有关所有 ALB 的信息。您必须aws_lb
在带有标签或某些 ALB id 的 for_loop 中运行数据源。
但是您可以通过开发外部数据源来解决您的问题。由于它是一个完全自定义的数据源,它可以以您想要的形式返回有关所有 ALB 的信息。
推荐阅读
- swift - Swift UIView zPosition 问题,视图与其他视图重叠
- javascript - 我如何只读值属性?
- node.js - 如何在社交媒体应用程序中显示包含群组参与者数量的群组列表?
- python - 根据具有预分配唯一标识符的数据帧为数据帧行分配唯一标识符
- python - 如何解决 ModuleNotFoundError:虚拟环境中没有名为“skimage”的模块
- android-studio - 不能全部导入 - Android Studio
- android - 如何使 .proto 定义文件在 Android Studio (4.2) 的 Android 视图中可见?
- php - 将属性路径分配给变量时,PHP simplexmlelement 找不到属性
- python - 如何保存选项卡式 json 文件
- python - PyTorch RuntimeError:参数 #1 'self' 的张量在 CPU 上,但预计它们在 GPU 上