为什么 terraform 创建的资源不包含在 --target 参数中?

Why is terraform creating a resource not included with --target argument?

我经常需要 运行 Terraform 仅在少数资源上,而忽略其计划的其他部分。有一个特性,即 --target 参数。但是,很多时候,当我使用它时,一些未包含在 --target 参数中的资源仍然出现。

例如,我在 apply 命令中定位了 remote_execute 的资源,但 terraform 还包括创建一些缺失的 NIC 和 VM。这些是定义的一部分,但我现在不想(也不能)创建它们。

他们为什么(以及如何)“潜入”该计划?有什么办法可以预防吗?

-target 参数指示 Terraform 包含指定的对象以及它们依赖的任何对象,否则这将违反依赖关系。

这包括使用 depends_on 编写的显式依赖项、通过仅引用另一个对象给出的隐式依赖项,以及 Terraform 为自身生成的一些特殊类型的依赖项,例如资源与其关联的资源之间的依赖项提供商配置。