web-dev-qa-db-ja.com

リソースを削除する代わりに名前を変更しますか?

リソースを再編成/名前変更するときにリソースの削除を回避する方法はありますか?例:最初に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にリソースの名前を変更させる方法はありますか?

12
Jack Compton

残念ながら、Terraformは、リソースの名前を変更/移動したことを認識していませんが、- terraform state mv

あなたの場合、あなたが走った場合:

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

次に、別の計画を実行すると、変更は表示されません(または、移動と同様に、行ったリソースへの変更のみが表示されます)。

13
ydaetskcoR