Google Cloud Storage (GCS) の,とある Bucket を Terraform で管理していたのですが,不要になったので削除することにしました.何も考えずに google_storage_bucket
を tf ファイルから削除して,terraform apply
を実行しましたが,以下のようなエラーメッセージが表示されました.
Error trying to delete bucket [bucket name] containing objects without
force_destroy
set to true
Bucket が削除できず困りましたが,Terraform のドキュメントを落ち着いて読むと,「事前に中身を空にしてから terraform apply
を実行せよ」と書いてありました.
force_destroy
- (Optional, Default: false) When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, Terraform will fail that run. *1
もちろん force_destroy
を true
に指定して,terraform apply
を実行した後に, google_storage_bucket
を tf ファイルから削除してもう一度 terraform apply
を実行してもよさそうです.
結局,中身を手動で削除してから terraform apply
を実行したところ,bucket は削除されました.データを削除する際の安全装置だと思われますが,少しコツが必要でした.