Vow*_*eee 5 terraform terraform-provider-azure terraform-provider-aws
与状态文件有何terraform plan关系。destroy
当 Terraform 执行时plan,
它如何知道清单文件中的所需状态与 azure 门户中资源的当前状态相同?是直接使用azurerm api检查还是参考状态文件?
如果它引用状态文件,那么 terraform 计划如何在第一次计划时得到验证,而它还没有状态文件(因为它只是一个terraform apply会生成状态文件的文件?
其次,该terraform destroy命令是否引用了我们的清单文件(所需的配置文件),或者只是用当前状态(Azure 门户中的资源实际状态)验证状态文件
Aterraform plan基本上根据 terraform 验证您的代码,azurerm provider以检查您的代码是否正确,是否满足 Azure API 的要求(例如使用正确的属性、类型等)。如果一切顺利,它会进行一次试运行,并向您展示执行操作时会发生什么terraform apply。此时,terraform 并不知道 Azure 中存在或不存在什么,它只是进行一次演练来给您一个想法。这意味着即使你terraform plan成功了,你terraform apply也不一定会成功。
请记住,它azurerm provider更多的是 Azure API 之上的包装器。它根据 Azure API 的要求进行自己的验证。
它如何知道清单文件中的所需状态与 azure 门户中资源的当前状态相同?是直接使用azurerm api检查还是参考状态文件?
对于 Terraform 创建的任何资源,Terraform 将always根据状态文件进行验证。它仅在必须与资源交互时才检查 Azure API。
如果它引用状态文件,那么 terraform 计划如何在第一次计划时得到验证,而它还没有状态文件(因为它只是一个会生成状态文件的 terraform 应用?
参考基本解释。这又回到了 a 的工作方式terraform plan。因为它是一个执行计划,所以它还不需要状态文件。状态文件仅保存在 Azure 中创建的内容或从 Azure 导入的内容的信息。它是有关实际现有资源的信息。Aterraform plan仅进行空运行/测试/简单验证,让您知道您的代码是否足以继续下一步:terraform apply。
其次,terraform destroy 命令是否引用了我们的清单文件(所需的配置文件),或者只是用当前状态(azure 门户中的资源实际状态)验证状态文件
当 Terraform 对象保存在状态文件中时,它们会使用 Azure 资源 ID 耦合到 Azure 对象。terraform destroy类似于 a或plan仍将apply使用状态文件作为其对现实世界的理解(Azure 中的当前状态)。如果您从 Terraform 代码中删除 Terraform 对象,则会destroy对照状态文件进行交叉检查,并注意到该资源存在于状态文件中。由于它存在于状态文件中,但正在从代码中删除,Terraform 将发送一个请求来销毁该资源。
看一下下面的一些您可以尝试的场景,这可能会帮助您更好地理解。
ststorageaccount创建了一个名为的存储帐户的存储帐户。terraform plan. 您会注意到,执行计划不知道该存储帐户已经存在,并且执行计划显示尝试再次创建它。terraform apply。您现在收到一条错误,指出存储帐户ststorageaccount已存在并且需要导入到状态文件中。舞台terraform apply是 Terraform 的时候azurerm provider开始与 Azure API 交互以创建资源的阶段。Azure API 知道 Azure 中的状态,因此会将该错误抛出给 Terraform,然后再向您抛出。South East Asia。terraform plan和 ,因为 Terraform 仅根据 Terraform 验证您的代码azurerm provider ,因为 Terraform 仅根据 Terraform 验证您的代码,它会向您显示一个成功的执行计划。terraform apply但现在收到一条错误,指出该区域是错误的,它必须是SouthEastAsia(没有空格)。azurerm provider接受South East Asia,而该特定资源的 Azure API 要求以不同的方式编写区域。因此,您可以看到这两个案例显示了不同的方式terraform plan和terraform apply行为,因为它们在两个不同的“平面”上工作。
| 归档时间: |
|
| 查看次数: |
2328 次 |
| 最近记录: |