在aws_lb_listener_rule 中获取此错误
错误:不支持的参数
在。。。。\euc-地形控制alb\ab.tf行127,在资源"中;aws_alb_listener_rule"alb_listener_rule":127:字段="0"${element(split(",",var.listener_rule_field(,count.index(}">
一个名为";字段";此处不应出现。
错误:不支持的参数
在。。。。\euc-地形控制alb\ab.tf行128,在资源"中;aws_alb_listener_rule"alb_listener_rule":128:values=["${element(split(",",var.listener_rule_value(,count.index(}"]
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"
}
版本
meta-argument
为provider
指定版本约束,其工作方式与required_providers块中的版本参数相同。提供程序配置中的版本约束仅在required_providers不包括该提供程序的版本约束时使用。
/提供商验证
在aws提供程序2.x版本中,field
和values
被弃用,如下所示。在提供程序3.x版本中,它们被删除,并且不再有效,如条件块的新文档中所示。
这在官方的";Terraform AWS提供商版本3升级指南";in:
- condition.field和condition.values参数删除
因此,您要么必须迁移代码以使用aws provider 3.x,要么返回使用旧版本。