代码之家  ›  专栏  ›  技术社区  ›  Jack Compton

是否重命名而不是删除资源?

  •  19
  • Jack Compton  · 技术社区  · 6 年前

    在重新组织/重命名资源时,是否有任何方法可以避免删除资源?示例:当我第一次实现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重命名资源?

    1 回复  |  直到 6 年前
        1
  •  30
  •   ydaetskcoR    6 年前

    不幸的是,Terraform不知道您已经重命名/移动了资源,但您可以通过使用 terraform state mv

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

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

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