如何防止使用Terraform删除OCI中附加到实例的核心卷?
使用Terraform v1.1.6,我注意到AWS提供商可以启用enable_deletion_protection
,但在OCI上没有这样的选项,例如:
resource "oci_core_volume" "volume_1" {
count = 1
availability_domain = data.oci_identity_availability_domains.ad_list.availability_domains[0]["name"]
compartment_id = "test"
display_name = "test_disk"
size_in_gbs = 50
vpus_per_gb = 10
}
我已经查看了lifecycle
事件,但oci_core_volume的文档中没有它们在oci_core_volume 上的使用示例
lifecycle {
}
我想确保对我的";oci_ core_;实例不删除";oci_core_volume";而更新应该重新附加。
oci_core_volume
文档没有为您提供示例,因为lifecycle
事件是元参数,它们的用法对于每种类型的资源都是相同的。您可以在lifecycle
文档中找到适用于所有类型资源的示例。
在您的情况下,一个使用示例是:
resource "oci_core_volume" "volume_1" {
count = 1
availability_domain = data.oci_identity_availability_domains.ad_list.availability_domains[0]["name"]
compartment_id = "test"
display_name = "test_disk"
size_in_gbs = 50
vpus_per_gb = 10
lifecycle {
prevent_destroy = true
}
}
请记住,每当资源被标记为要销毁时,prevent_destroy
都会抛出一个错误。您仍然可以从外部手动销毁资源。