Terraform 模板中的资源创建顺序

时间:2021-02-11 18:51:12

标签: azure terraform

我创建了带有两个模块的 terraform 模板(天蓝色)。一个模块用于资源组。另一个用于 vnet(它处理 NSG 和路由表的创建以及它们与子网的关联)。

当我运行 terraform apply 时,它给出了路由表错误,因为尚未创建资源组。创建顺序显示为先创建路由表,然后是资源组。 有没有办法设置创建顺序?在根文件夹的main.tf中,先调用module资源组,然后调用vnet。

2 个答案:

答案 0 :(得分:1)

重新考虑使用两个模块创建 RG 和资源的想法。问自己一个简单的问题:为什么?

如果您 100% 确定这是正确的方法,请使用 depends_on

module "rg1" {
  source = "./rg_module"
  ...
}

module "net1" {
  source = "./network_module"
  ....
  depends_on = [module.rg1]
}

答案 1 :(得分:0)

您必须使用 -out 选项将计划保存到文件中。喜欢:

terraform plan -out <plan_file>

始终建议使用 -out 并保存计划文件。这将确保在后续应用中保留创建顺序。