Amazon web services 地形输出:错误:模块";rds";:&引用;监控“角色”;这不是一个有效的论点

Amazon web services 地形输出:错误:模块";rds";:&引用;监控“角色”;这不是一个有效的论点,amazon-web-services,terraform,amazon-rds,terraform-provider-aws,Amazon Web Services,Terraform,Amazon Rds,Terraform Provider Aws,我在tf代码中添加了以下内容: module "rds" "app" { source = "git@github.com:*****/aws-terraform-rds.git" name = "${var.rds_name_app}" engine = "${var.rds_engine_app}" engi

我在tf代码中添加了以下内容:

module "rds" "app" {
  source = "git@github.com:*****/aws-terraform-rds.git"

  name                   = "${var.rds_name_app}"
  engine                 = "${var.rds_engine_app}"
  engine_version         = "${var.rds_engine_version_app}"
  family                 = "${var.rds_family_app}"
  instance_class         = "${var.rds_instance_class_app}"

  password                   = "${random_string.rds_password.result}"
  port                       = "${var.rds_port_app}"
  security_groups            = ["${aws_security_group.rds_app.id}"]
  subnets                    = ["${module.vpc.public_subnets}"]
  auto_minor_version_upgrade = "${var.rds_auto_minor_version_upgrade_app}"
  backup_retention_period    = "${var.rds_backup_retention_period_app}"
  backup_window              = "${var.rds_backup_window_app}"
  maintenance_window         = "${var.rds_maintenance_window_app}"
  environment                = "${var.environment}"
  kms_key_id                 = "${aws_kms_key.rds.arn}"
  multi_az                   = "${var.rds_multi_az_app}"
  notification_topic         = "${var.rds_notification_topic_app}"
  publicly_accessible        = "${var.rds_publicly_accessible_app}"
  storage_encrypted          = "${var.rds_storage_encrypted_app}"
  storage_size               = "${var.rds_storage_size_app}"
  storage_type               = "${var.rds_storage_type_app}"
  monitoring_interval        = "${var.rds_monitoring_interval_app}"
  monitoring_role_arn        = "${var.rds_monitoring_role_arn_app}"
  apply_immediately          = true  
变量存在于variables.tf文件中

当我运行terraform plan时,会出现以下错误:

错误:模块“rds”:“监视角色”不是有效参数


我不确定为什么会出现此错误,因为“监控角色”是一个有效的terraform参数。

错误消息中的关键术语是
模块

错误:模块“rds”:“监控角色”不是有效参数

这始终意味着您正在使用的模块(而不是AWS资源)在其
variables.tf
中缺少您试图传递给它的特定变量


这与模块内使用的任何资源无关。即使删除模块中的所有资源(如RDS),也会出现相同的错误。

错误消息中的关键术语是
模块

错误:模块“rds”:“监控角色”不是有效参数

这始终意味着您正在使用的模块(而不是AWS资源)在其
variables.tf
中缺少您试图传递给它的特定变量


这与模块内使用的任何资源无关。即使您删除了模块中的所有资源(例如RDS),您也会得到相同的错误。

source
参数中,我猜您已经创建了模块的私有副本-您对其进行了任何更改吗?我没有对模块本身进行任何更改。我正在当前存储库中使用一个variable.tf文件进行所有更改。由于我看不到您的git repo,我需要问:您确定该repo中的模块接受
监视角色\u arn
参数吗?嗯,这似乎是问题所在。我将尝试在源repo中添加一个变量,然后再次运行它。非常感谢。如果源repo尚未接受该参数,那么仅仅将其作为变量添加并不能使其使用该参数。听起来你可能在回购协议中使用了错误的模块代码,或者你是从
参数的非常旧的模块版本(我认为该参数是在~3年前添加的)开始工作的。我猜你已经制作了该模块的私有副本-你对其进行了任何更改吗?我没有对模块本身进行任何更改。我正在当前存储库中使用一个variable.tf文件进行所有更改。由于我看不到您的git repo,我需要问:您确定该repo中的模块接受
监视角色\u arn
参数吗?嗯,这似乎是问题所在。我将尝试在源repo中添加一个变量,然后再次运行它。非常感谢。如果源repo尚未接受该参数,那么仅仅将其作为变量添加并不能使其使用该参数。听起来你可能在回购协议中使用了错误的模块代码,或者你使用的是非常旧的模块版本(我认为这个论点是3年前添加的)