[英]Is dynamic condition block with aws_lb_listener_rule possible?
[英]terraform aws_lb_listener_rule condition arguement not getting recognized in terraform 0.12.20
在 aws_lb_listener_rule 中收到此錯誤
錯誤:不支持的參數
在....\euc-terraformcontrol-alb\alb.tf 第 127 行,在資源“aws_alb_listener_rule”“alb_listener_rule”中:127:field =“${element(split(",", var.listener_rule_field), count.index )}"
此處不應使用名為“field”的參數。
錯誤:不支持的參數
在....\euc-terraformcontrol-alb\alb.tf 第 128 行,在資源“aws_alb_listener_rule”“alb_listener_rule”中:128:values = ["${element(split(",", var.listener_rule_value), count.指數)}”]
resource "aws_alb_listener_rule" "alb_listener_rule" {
count = "${length(compact(split(",", var.priority))) > 0 ? "${length(compact(split(",", var.priority)))}" : 0}"
listener_arn = "${var.listener_arn}"
priority = "${element(split(",", var.priority), count.index)}"
action {
type = "forward"
target_group_arn = "${element(split(",", var.target_group_arn), count.index)}"
}
condition {
//field = "${element(split(",", var.listener_rule_field), count.index)}"
//values = "${element(split(",", var.listener_rule_value), count.index)}"
}
}
這是新版本中的重大更改
在舊版本中,我們可以使用以下代碼進行條件路由
condition {
field = "host-header"
values = ["api.example.com"]
}
將您的 Terraform 配置切換為使用host_header
或path_pattern
配置塊。
所以上面的條件就會變成
condition {
host_header {
values = ["api.example.com"]
}
}
如果您在某些 CI/CD 平台上運行您的代碼,那么最好在配置中添加一個版本以避免將來出現此類問題並保持代碼兼容。
provider "aws" {
version = "~> 2.31.0"
}
version
meta-argument
為provider
指定一個版本約束,並且與 required_providers 塊中的 version 參數的工作方式相同。 提供者配置中的版本約束僅在 required_providers 不包含該提供者的版本約束時使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.