gpt4 book ai didi

terraform - 导入tf文件中定义的所有资源

转载 作者:行者123 更新时间:2023-12-03 06:52:59 28 4
gpt4 key购买 nike

假设我使用 Terraform 来构建我的基础设施,并且我的 tfstate 由于某种原因被删除。这意味着我已经在 tf 文件中定义了资源,我只需要重新导入所有内容。

这必须是手动过程吗?

例如,这就是我导入 EC2 实例的方式:

terraform import aws_instance.web i-123456

如果我必须对每个资源都这样做,那是相当痛苦的(不妨删除所有内容并重新开始)。

如果我已经有了 tf 文件,有没有办法导入其中定义的所有资源?例如,我需要实例 ID 才能导入该实例。 Terraform import 命令可以读取我的 tf 文件并找到映射到“aws_instance.web”的资源吗?

为了做到这一点,Terraform 需要将该 aws 实例映射到 tf 文件中的资源 - 这当然是 tfstate 的目的。但是 Terraform 是否有办法使用资源映射来标记资源?那么我可以对 tf 文件进行导入,而 terraform 只是动态读取 tf 文件并通过唯一标签查找与 tf 资源对应的物理资源?

最佳答案

不,没有办法在 Terraform 中本地执行此操作;即使您一起编写了一种方法 - 我认为它也不会非常可靠,您也无法相信它选择了正确的资源(至少不容易)。

Terraform 在文档中多次提到您需要保护您的状态文件;这就是为什么我们鼓励远程存储(例如 S3)来处理您关心的任何事情;以及为什么这是 Terraform Enterprise 的一个卖点。

关于terraform - 导入tf文件中定义的所有资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47613926/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com