Terraform OCI,如何防止删除附加到计算的核心卷?
Terraform OCI, how to prevent deletion of a core volume attached to compute?
如何使用 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
事件,但是 documentation for oci_core_volume 没有它们在 oci_core_volume
上的用法示例
lifecycle {
}
我想确保对我的“oci_core_instance”实例的任何更新都不会删除他们当前所做的“oci_core_volume”,而应该重新附加更新。
oci_core_volume
文档没有给您示例,因为 lifecycle
事件是 meta-arguments 并且它们的用法对于每种类型的资源都是相同的。您可以在 lifecycle
documentation.
中找到适用于所有类型资源的示例
您的情况下的用法示例是:
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
就会抛出错误。您仍然可以从外部手动销毁资源。
如何使用 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
事件,但是 documentation for oci_core_volume 没有它们在 oci_core_volume
lifecycle {
}
我想确保对我的“oci_core_instance”实例的任何更新都不会删除他们当前所做的“oci_core_volume”,而应该重新附加更新。
oci_core_volume
文档没有给您示例,因为 lifecycle
事件是 meta-arguments 并且它们的用法对于每种类型的资源都是相同的。您可以在 lifecycle
documentation.
您的情况下的用法示例是:
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
就会抛出错误。您仍然可以从外部手动销毁资源。