此对象没有名为 "this_rds_cluster_master_username" 的属性

This object does not have an attribute named "this_rds_cluster_master_username"

正在尝试将 Aurora 版本升级到最新版本。在升级 Terraform 计划之前工作正常。完成升级后,我得到:

错误:不支持的属性

在 main.tf 第 50 行,在本地: 50:

      "master_username" = module.db.this_rds_cluster_master_username
       module.db is a object, known only after apply

此对象没有名为“this_rds_cluster_master_username”的属性。

我尝试用变量 var.this_rds_cluster_master_username 替换 module.db 并且成功了,但我想在输出文件中进行更改而不是使用变量。非常感谢任何帮助。

output.tf

            output "this_rds_cluster_master_username" {
                   value       = module.db.this_rds_cluster_master_username
                    description = "The master username."
                }

main.tf

         locals {
           rds_cluster_master_creds = {
          "master_username" = module.db.this_rds_cluster_master_username
          "master_password" = module.db.this_rds_cluster_master_password
                }
             }

如何修改输出模块?

#module 数据库

module "db" {
  source  = "terraform-aws-modules/rds/aws"
  version = "5.2.0"
  engine            = "aurora-postgressql"
  engine_mode       = "serveless"
  engine_version    = null
  db_subnet_group_name = aws_db_subnet_group.rds_isolated.name
  vpc_id              = local.vpc_id
  deletion_protection = true
      }

#本地人

 locals {
       rds_cluster_master_creds = {
      "master_username" = module.db.this_rds_cluster_master_username
      "master_password" = module.db.this_rds_cluster_master_password
            }
         }

模块 terraform-aws-modules/rds/aws 没有名为 this_rds_cluster_master_username 的输出 。相反,它被称为 db_master_password。因此,而不是以下内容:

module.db.this_rds_cluster_master_username

你应该使用

module.db.db_instance_username

this_rds_cluster_master_password 相同。