[英]How to move terraform resource in terraform apply
我在 terraform 模塊中定義了自定義資源:
resource "aws_alb_target_group" "whatever"
{
....
}
結果發現whatever
不好的名字,我需要更新它。
這樣做的經典方法是登錄到每個環境並執行terraform state mv
,但是我有很多環境,並且沒有自動執行此類操作。
如何在不手動移動 state 的情況下更改資源名稱(僅通過編輯 terraform 模塊和應用計划)?
根據問題中的解釋,我猜你最好的選擇是使用moved
block [1]。 因此,例如,在您的情況下將是:
resource "aws_alb_target_group" "a_much_better_whatever"
{
....
}
moved {
from = aws_alb_target_group.whatever
to = aws_alb_target_group.a_much_better_whatever
}
編輯:正如@Matt Schuchard 指出的那樣, moved
的塊僅適用於 Terraform 版本>=1.1.0
。
編輯 2:根據@Martin Atkins 的評論,將資源名稱更改為移動到而不是從.
[1] https://www.terraform.io/language/modules/develop/refactoring#moved-block-syntax
我處於同樣的情況。
我的計划是在Terraform新建資源組,應用它,將Azure入口的資源移動到新的資源組,然后做terraform state mv把terraform的資源移動。可以,如果你資源多這很無聊……但我想我不會以這種方式剎車。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.