Terraform模块传参报错:Unsupported argument 'vpc_name'原因排查
Terraform "Unsupported argument" 错误原因分析
这个错误的核心原因是你调用compute_engine_controller模块时传入的vpc_name参数,在该模块的定义中没有对应的变量声明。
具体细节:
- 即便你在
compute_engine模块的ce.tf里用到了var.vpc_name,但如果该模块没有显式通过variable块声明这个变量(比如模块目录下缺少包含variable "vpc_name" {}的.tf文件),Terraform会判定这个参数不被支持。 - 也可能是参数名称拼写不匹配:比如模块内定义的变量名是
vpc_network_name,但你调用时写的是vpc_name,导致名称对应不上。
解决方向:
- 在
./modules/compute_engine/目录下添加或修改变量声明文件(如variables.tf),确保存在如下定义:
variable "vpc_name" { type = string description = "VPC网络名称,用于关联Compute Instance" }
- 核对模块调用时的参数名与模块内定义的变量名,确保完全一致,无拼写错误。
内容的提问来源于stack exchange,提问作者Bernardo Rebelo
相关产品推荐
相关产品推荐

