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

为什么terraform创建的资源不包含在--target参数中?,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,我通常只需要在少数资源上运行Terraform,而忽略其计划的其他部分。这有一个特性,--target参数。但是,在我使用它时,经常会出现一些未包含在--target参数中的资源 例如,我在我的apply命令中针对远程_执行的资源,但terraform还包括创建一些缺失的NIC和VM。这些是定义的一部分,但我现在不想(也不能)创建它们 为什么(以及如何)他们“偷偷地”加入到计划中?有什么方法可以阻止它吗?参数-target指示Terraform包含指定的对象以及它们所依赖的任何对象,因为否则这将

我通常只需要在少数资源上运行Terraform,而忽略其计划的其他部分。这有一个特性,
--target
参数。但是,在我使用它时,经常会出现一些未包含在
--target
参数中的资源

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


为什么(以及如何)他们“偷偷地”加入到计划中?有什么方法可以阻止它吗?

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


这既包括使用
编写的显式依赖项,也包括仅引用另一个对象而给出的隐式依赖项,还包括Terraform为自身生成的一些特殊类型的依赖项,例如资源与其关联的提供程序配置之间的依赖项。

否,如果实际目标资源对这些资源具有某种依赖性(直接的或可传递的),则无法防止这种情况。如果没有这样的依赖关系,这些资源就不应该是地形规划的一部分。你能提供一个吗?它没有(至少是不应该有)-在我的示例中,我想在索引为43的机器上运行远程exec,但它创建的资源是索引为0和10的NIC和VM。因此没有(明显的)依赖性