【问题标题】:Terraform output: Error: module "rds": "monitoring_role_arn" is not a valid argumentTerraform 输出:错误:模块“rds”:“monitoring_role_arn”不是有效参数
【发布时间】:2020-12-22 01:19:49
【问题描述】:

我在我的 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”:“monitoring_role_arn”不是有效参数

我不确定为什么会收到此错误,因为“monitoring_role_arn”是有效的 terraform 参数。

【问题讨论】:

  • 从source 参数我猜你已经制作了模块的私有副本 - 你对它进行了任何更改吗?
  • 我没有对模块本身进行任何更改。我正在当前存储库中使用 variable.tf 文件,我正在其中进行所有更改。
  • 因为我看不到你的 git repo,我需要问:你确定你在那个 repo 中的模块接受 monitoring_role_arn 参数吗?
  • 嗯,这似乎就是问题所在。我将尝试在源代码库中添加一个变量并再次运行它。谢谢!
  • 如果源代码库尚未接受该参数,那么仅将其添加为变量不会使其使用它。听起来您的存储库中有错误的模块代码,或者您正在使用非常旧版本的模块(我认为该参数是在大约 3 年前添加的)

标签: amazon-web-services terraform amazon-rds terraform-provider-aws


【解决方案1】:

错误消息中的关键字是module:

Error: module "rds": "monitoring_role_arn" is not a valid argument

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

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

【讨论】:

    猜你喜欢
    • 2021-08-23
    • 2021-06-07
    • 2021-01-30
    • 2020-10-15
    • 2019-01-02
    • 2018-06-13
    • 2021-02-12
    • 2021-01-20
    相关资源
    最近更新 更多