【发布时间】:2021-06-24 13:36:03
【问题描述】:
我在 tf 中有一个 ips 列表
ips = ["1.2.3.1/32", "1.2.3.2/32", "1.2.3.3/32", "1.2.3.4/32", "1.2.3.5/32", "1.2.3.6/32" ]
规则:
resource "aws_alb_listener_rule" "test" {
listener_arn = aws_alb_listener.https.arn
priority = 4
action {
type = "forward"
target_group_arn = aws_alb_target_group.test.arn
}
condition {
host_header {
values = ["test"]
}
}
condition {
path_pattern {
values = [
"/somepath"]
}
}
condition {
source_ip {
values = var.ips
}
}
}
现在我必须为此 ALB 创建一个侦听器规则。我遇到了一些问题,您最多只能为侦听器规则设置 5 个条件。
我可以通过将列表拆分为 2 并创建 2 个规则来使其工作,一个指向 ips_1,第二个规则使用 ips_2
ips_1 = ["1.2.3.1/32", "1.2.3.2/32", "1.2.3.3/32"]
ips_2 = ["1.2.3.4/32", "1.2.3.5/32", "1.2.3.6/32"]
现在的问题是我必须在添加新 IP 时创建一个新变量 (ips_3),因为现在每个规则最多有 5 个条件。
所以我想保留一份清单:
ips = ["1.2.3.1/32", "1.2.3.2/32", "1.2.3.3/32", "1.2.3.4/32", "1.2.3.5/32", "1.2.3.6/32"]
我怎样才能使它更具动态性:
- 为变量的每 3 个项目 (ips) 创建一个规则,这样我现在将得到 2 个规则,如果我添加一个变量,我将得到第 3 个规则。
【问题讨论】:
标签: amazon-web-services terraform