リソースを再編成/名前変更するときにリソースの削除を回避する方法はありますか?例:最初に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 state mv
。
あなたの場合、あなたが走った場合:
terraform state mv aws_cloudfront_distribution.main_site_distribution module.cloudfront.aws_cloudfront_distribution.main_site_distribution
次に、別の計画を実行すると、変更は表示されません(または、移動と同様に、行ったリソースへの変更のみが表示されます)。