下面是terraform项目的简化结构
environemnt1/
-main.tf (includes module, backend, environment)
environemnt2/
-main.tf
modules/
resources (includes resources, variables etc)
此案试图处理状态文件丢失的情况。
在重要环境(例如说环境1)中使用资源时,该资源必须位于环境(main.tf)中。我可以成功地将资源导入到此环境中。尽管如此,这是正常模式,仍将环境馈入资源(模块源是资源,允许使用通用资源文件)。
所以我们要做的是为该环境导入资源,但保持代码通用(即在模块中拥有资源),而不是在每个环境文件中。有谁知道如何正确地做到这一点?
我尝试在环境中实现代码,成功将资源导入到状态中。但是,如果我将代码移回到环境中,它将替换现有资源。
答案 0 :(得分:0)
更新:
找到问题了
问题是在导入时,我没有指定模块。所以代码是
terraform import module.environment1 .azurerm_resource_group.RESOURCE / subscriptions / xxx / resourceGroups / MYRESOURCEGROUP