使用terraform plan -var-file未正确加载变量的问题排查
Terraform自定义tfvars变量未生效的原因及解决方法
核心原因
你在terraform plan时通过-var-file指定了自定义路径的tfvars文件,但terraform apply和terraform console没有传递相同的参数。Terraform默认仅自动加载当前工作目录下的terraform.tfvars或*.auto.tfvars文件,未指定参数时不会自动读取你自定义路径的tfvars,因此这两个命令无法获取变量值,导致需要手动输入或显示(known after apply)。
解决方法
1. 执行apply时指定相同的-var-file参数
直接在apply命令后追加同样的变量文件路径,让Terraform读取指定文件的变量:
terraform apply -var-file=C:\Users\Dev\repo\terraform-dep\terraform\TEST\terraform.tfvars
2. 重命名tfvars为自动加载格式
如果不想每次命令都手动加参数,可将目标tfvars文件重命名为*.auto.tfvars格式(例如test.auto.tfvars),并放置在Terraform工作目录下。Terraform会自动识别并加载这类文件,后续执行plan、apply、console时无需额外指定参数即可读取变量。
3. 用console查询时指定var-file
若要在console中查看该文件的变量值,同样需要传递参数:
terraform console -var-file=C:\Users\Dev\repo\terraform-dep\terraform\TEST\terraform.tfvars
内容的提问来源于stack exchange,提问作者Michu93
相关产品推荐
相关产品推荐

