有没有办法让Terraform CLI在PWD以外的目录中运行脚本



我知道,当我在一个目录中运行terraform CLI时,它会从当前目录中获取所有的terraform工件。

有没有可能让terraform应用和terraform计划在当前PWD以外的目录中查找脚本,这样我就不必不断更改当前目录了?

在我写这篇文章的时候,Terraform v0.14.0目前是候选版本,它的最终版本预计将在未来几周内发布。

这个新版本将引入一个新功能,允许在运行任何子命令之前请求Terraform切换目录本身。例如:

terraform -chdir=subdirectory init
terraform -chdir=subdirectory apply

这基本上与在当前工作目录已设置为给定子目录的情况下启动Terraform相同,但有两个小区别:

  • Terraform将path.cwd值设置为运行Terraform的目录,而不是子目录。和以前一样,path.root是包含根模块的目录,因此这两个目录都可用
  • 如果CLI配置包括Terraform在启动期间解析的路径,则这些路径将相对于原始工作目录进行解析,因为目录开关仅适用于给定子命令的行为,而不适用于Terraform在运行子命令之前执行的操作

对于常见的Terraform使用,这两种差异通常都不显著,因此在大多数情况下,您可以认为-chdir=选项与首先使用cd切换到目标目录具有相同的效果。

最新更新