在Terraform中,如何在目录中运行特定的* .tf文件?

时间:2019-08-01 15:23:03

标签: terraform

使用Terraform 0.12.6

我有一个包含多个*.tf文件的目录,例如product1.tfproduct2.tf等。如何执行terraform plan并随后执行terraform apply * .tf文件?我希望这将是-target选项,但我阅读了文档,却没有看到此内容。

1 个答案:

答案 0 :(得分:0)

不能。 Terraform将目录中的所有.tf文件连接在一起,并一次处理所有文件。

您可以使用-target定位特定资源,但不知道它们都在哪个文件中。

-target通常应谨慎用作逃生舱口,如果您需要一次运行单独的Terraform位,然后将Terraform代码拆分到单独的目录和状态文件中。

这在the docs中也有讨论:

  

此定位功能是在特殊情况下提供的,   例如从错误中恢复或解决Terraform   局限性。不建议将-target用于常规   操作,因为这可能导致无法检测到的配置漂移和   关于资源的真实状态如何与之混淆   配置。

     

不是使用-target作为对孤立的部分进行操作的手段   非常大的配置,宁愿破坏大   配置分成几个较小的配置,每个配置可以是   独立应用。数据源可用于访问信息   关于在其他配置中创建的资源,这使得复杂   系统架构将分解为更易于管理的部分   可以独立更新。