【发布时间】: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