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

假设我已经使用terraform来构建我的基础架构,并且出于某种原因删除了我的tfstate。这意味着我已经在tf文件中定义了我的资源,我只需要重新导入所有内容。导入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的卖点。

以上是 导入tf文件中定义的所有资源 的全部内容, 来源链接: utcz.com/qa/258952.html

回到顶部