【发布时间】:2021-03-02 17:40:15
【问题描述】:
我有一个 terraform 状态文件 (terraform.tfstate),下面用红色箭头突出显示,它存储在本地磁盘中。
我还有一个远程后端状态文件(存储在 Azure Blob 存储中),其中包含我已部署的资源。
我想将现有的本地状态文件附加到 Azure 中现有的远程后端。
我将本地状态移动到一个目录,我确实执行了terraform state push terraform.tfstate
我收到以下错误:
terraform cannot import state with lineage over unrelated stage with lineage
然后我做了terraform state push -force terraform.tfstate
但是,它完全用本地状态替换了我现有的状态(远程)。 (我确实备份了我的远程状态)。
我想用远程状态文件附加我的本地状态文件。怎么能做到这一点? 我想要的只是-一个远程的单一状态文件,已经提供了资源,请提供任何其他建议。帮助。
【问题讨论】:
-
每个状态有多少资源,你就不能
import新状态文件里的资源吗?是否都部署了相同的 terraform 版本?您的main.tf是否生成与本地状态文件中的状态匹配的资源?否则合并状态根本没有意义,因为下一次部署无论如何都会破坏资源。 -
@luk2302 本地状态文件中有许多资源。两者都部署在相同的 terraform 版本中。
adauthservice下的Main.tf确实与本地状态文件完全匹配
标签: terraform state push azure-blob-storage terraform-provider-azure