はじめに
Terraform にてリソース名を変更する場合の対応方法について書きます。
今回対応すること
以下のコードにあるリソース名 bucket
の部分を別のリソース名 test_bucket
に変更
resource "aws_s3_bucket" "bucket" {
bucket = "test-bucket"
}
リソース名の変更手順
1.リソース名を test_bucket
に変更する。
resource "aws_s3_bucket" "test_bucket" {
bucket = "test-bucket"
}
2.State を bucket
から test_bucket
に移行する。
terraform state mv aws_s3_bucket.bucket aws_s3_bucket.test_bucket
※tfstate
のみを書き換える処理になります。実際のリソースが変更されることはありません。
3.リソースが移行されているか確認する。
正常に移行されていれば、以下のコマンドを実行した際に結果が表示される。
terraform state show aws_s3_bucket.test_bucket
参考