Terraform 错误:运行 terraform init 时模块的无关标签

Posted

技术标签:

【中文标题】Terraform 错误:运行 terraform init 时模块的无关标签【英文标题】:Terraform Error: Extraneous label for module when running terraform init 【发布时间】:2021-01-20 17:08:19 【问题描述】:

我在运行 terraform init 时收到此错误:

Error: Extraneous label for module

  on rds.tf line 22, in module "rds" "app":
  22: module "rds" "app" 

Only 1 labels (name) are expected for module blocks.

我创建了两个模块“rds”和“app”,在创建数据库实例时我都会引用它们:

# PostgreSQL RDS App Instance
module "rds" "app" 

如何解决这个错误?

【问题讨论】:

module "module_name" 应该是语法,我不认为你可以用两个名字调用模块,如果你想调用模块两次,分别调用它们 module "rds" 和 module "app " 【参考方案1】:

如果使用 TF 0.13,另一种选择是使用计数设置为 2 的单个模块,然后使用 count.index 从预定义的列表 [] 变量中获取该迭代的特定名称。

https://blog.ktz.me/terraform-0-13-count-modules/

【讨论】:

以上是关于Terraform 错误:运行 terraform init 时模块的无关标签的主要内容,如果未能解决你的问题,请参考以下文章

如何解决错误:Terraform 中的“不得引用参数名称”?

可以对通过 terraformer 生成的文件运行 terraform 命令

Terraform 上的“无效的旧提供程序地址”错误

通过 Terraform 运行“aws stepfunctions update-state-machine”时出现 Json 解析错误

带有 azure CLI 的 Terraform - 错误构建帐户

使用 Istio 模块销毁 Terraform