如何将资源导入模块(azure)而不是主Terraform文件

时间:2019-04-16 01:23:57

标签: terraform terraform-provider-azure

下面是terraform项目的简化结构

environemnt1/
  -main.tf (includes module, backend, environment)
environemnt2/
  -main.tf
modules/
resources (includes resources, variables etc)

此案试图处理状态文件丢失的情况。

在重要环境(例如说环境1)中使用资源时,该资源必须位于环境(main.tf)中。我可以成功地将资源导入到此环境中。尽管如此,这是正常模式,仍将环境馈入资源(模块源是资源,允许使用通用资源文件)。

所以我们要做的是为该环境导入资源,但保持代码通用(即在模块中拥有资源),而不是在每个环境文件中。有谁知道如何正确地做到这一点?

我尝试在环境中实现代码,成功将资源导入到状态中。但是,如果我将代码移回到环境中,它将替换现有资源。

1 个答案:

答案 0 :(得分:0)

更新: 找到问题了
问题是在导入时,我没有指定模块。所以代码是
terraform import module.environment1 .azurerm_resource_group.RESOURCE / subscriptions / xxx / resourceGroups / MYRESOURCEGROUP