重命名而不是删除资源?

问题描述 投票:6回答:1

有没有办法在重新组织/重命名资源时避免资源删除?示例:当我第一次实现CloudFront Terraform时,它是我项目中的一个独立子目录,后来我切换到使用它作为我的根Terraform配置中的模块,但这导致Terraform想要删除旧的CloudFront分配并创建一个新的:

Terraform will perform the following actions:
    - aws_cloudfront_distribution.main_site_distribution
    + module.cloudfront.aws_cloudfront_distribution.main_site_distribution

有没有办法强制Terraform重命名资源?

terraform terraform-provider-aws
1个回答
10
投票

不幸的是,Terraform并不知道您已经重命名/移动了资源,但是您可以通过使用terraform state mv告诉它应该在该状态中存储资源的位置。

在您的情况下,如果您运行:

terraform state mv aws_cloudfront_distribution.main_site_distribution module.cloudfront.aws_cloudfront_distribution.main_site_distribution

然后运行另一个计划,您应该看不到任何更改(或者只对您所做的资源以及移动所做的更改)。

© www.soinside.com 2019 - 2024. All rights reserved.