You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform环境目录变量无法传递至模块问题求助

Terraform环境变量传递到模块的解决方法

你遇到的问题由两个独立的配置错误导致,按以下步骤修改即可实现跨环境变量传递到模块:

1. 修复tfvars文件不自动加载的问题

Terraform默认只会自动加载命名为terraform.tfvars或后缀为*.auto.tfvars的变量文件,你当前使用的vars.tfvars不在自动加载规则内,所以运行时会要求手动输入变量值,两种修复方案二选一:

  • 将test/vars.tfvars重命名为test/terraform.tfvars,即可实现自动加载
  • 运行Terraform命令时手动指定变量文件:
    terraform apply -var-file=vars.tfvars
    

2. 修复模块不识别range参数的问题

Terraform要求所有子模块的入参必须在子模块自身的变量定义中显式声明,你只在根模块(test目录)声明了range变量,子模块infra未声明对应变量,所以会抛出「不支持的参数」错误。
在modules/infra目录下新增variables.tf文件,添加以下内容即可:

variable "range" {
  type        = string
  description = "VPC对应的CIDR地址段"
}

修改完成后重新运行命令,即可正常将test环境变量文件中定义的range值传递到infra模块使用。

内容的提问来源于stack exchange,提问作者CEamonn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 19:48:02