簡體   English   中英

GCP Cloud SQL 無法刪除實例,因為“deletion_protection”設置為 true - gcloud 切換?

[英]GCP Cloud SQL failed to delete instance because `deletion_protection` is set to true - gcloud toggle?

錯誤信息:

terraform 銷毀

module.application.google_sql_database_instance.sql-db-xxx:正在銷毀... [id=db-xxx]

錯誤:錯誤,刪除實例失敗,因為 deletion_protection 設置為 true。 將其設置為 false 以繼續刪除實例

terraform解決方案在這里:

https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/sql_database_instance

在較新版本的提供程序上,您必須顯式設置 deletion_protection=false(並運行 terraform >apply 以將字段寫入狀態)以銷毀實例。 建議在您准備好銷毀實例及其數據庫之前不要設置此 > 字段(或將其設置為 true)。

題:

我不想更改 terraform 腳本。 我寧願通過 gcloud 切換刪除保護標志,然后像往常一樣銷毀。 對於 gcloud 虛擬機,有一個我可以切換的刪除保護標志。 但是,我找不到數據庫的相應標志:

cloud sql instances describe db-xxx

  • 這個 deletion_protection 標志是 terraform 本身的元數據嗎?

  • 如果不是,切換它的 gcloud 命令是什么?

  • 如果是這樣,我如何在不修改代碼的情況下通過 terraform 覆蓋它; 即命令行參數?

我沒有足夠的“積分”來添加到類似標題的現有線程中。

回答你的問題:

  1. 來自 Terraform 文檔:

deletion_protection - 是否允許 Terraform 銷毀實例。

所以是的,這是在 Terraform 本身內。 GCP 上的刪除保護標志目前僅適用於 Compute Engine 實例,不適用於 Cloud SQL 實例。

  1. 目前,刪除保護只能在 Compute Engine 實例上切換。

  2. 您可以考慮使用這樣的輸入變量

terraform apply -var="deletion_protection=false"
terraform destroy

還有其他使用輸入變量的方法。 如需更多參考,請點擊此處 鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM