我使用
terraform-aws-modules/rds/aws
作为“db”模块的源,该模块被我的其他数据库模块用作源。如果不对这些部分进行任何代码更改,我在尝试使用 Terraform 进行规划时会收到错误。下面我会详细介绍。
我正在使用
terraform-aws-modules/rds/aws
运行以下模块
module "db" {
source = "terraform-aws-modules/rds/aws"
version = "~> 4.2"
identifier = var.name
allocated_storage = var.storage
db_name = replace(var.name, "-", "")
...other fields
}
但是当 terraform 尝试规划时,我收到此错误:
错误:不支持的属性
在 .terraform/modules/my-db.db/modules/db_instance/outputs.tf 第 63 行,在输出“db_instance_name”中: 63:值=尝试(aws_db_instance.this[0].name,“”)
该对象没有参数、嵌套块或名为的导出属性 │ “名字”。
我认为这与
aws_db_instance
中弃用的“名称”有关。但我没有使用 aws_db_instance
,所以我猜测它实际上是由 terraform-aws-modules/rds/aws
使用的。我已经更新了版本,但似乎没有任何作用...
“我认为这与 aws_db_instance 中弃用的“name”有关。但我没有使用 aws_db_instance”
这不是真的。您最常使用的模块肯定是使用
aws_db_instance
。
module "db" { source = "terraform-aws-modules/rds/aws" version = "~> 4.2"
我已经更新了版本,但似乎没有任何作用...
您尚未更新模块。 4.2版本落后了几个主要版本。截至我发布此答案时,该模块的最新版本是
6.1.1
您需要更新到更新版本的 Terraform 模块才能修复您看到的错误。