document that destroy provisioners don't run with create_before_destroy

This commit is contained in:
Yves Peter 2021-04-13 10:26:32 +02:00
parent 140c613ae8
commit c6de87354a
2 changed files with 9 additions and 0 deletions

View File

@ -45,6 +45,10 @@ The following arguments can be used within a `lifecycle` block:
such features, so you must understand the constraints for each resource such features, so you must understand the constraints for each resource
type before using `create_before_destroy` with it. type before using `create_before_destroy` with it.
Destroy provisioners of this resource will not run if `create_before_destroy`
is used. This limitation may be addressed in the future, see
[GitHub issue](https://github.com/hashicorp/terraform/issues/13549) for details.
* `prevent_destroy` (bool) - This meta-argument, when set to `true`, will * `prevent_destroy` (bool) - This meta-argument, when set to `true`, will
cause Terraform to reject with an error any plan that would destroy the cause Terraform to reject with an error any plan that would destroy the
infrastructure object associated with the resource, as long as the argument infrastructure object associated with the resource, as long as the argument

View File

@ -237,6 +237,11 @@ fail, Terraform will error and rerun the provisioners again on the next
`terraform apply`. Due to this behavior, care should be taken for destroy `terraform apply`. Due to this behavior, care should be taken for destroy
provisioners to be safe to run multiple times. provisioners to be safe to run multiple times.
Destroy provisioners will not run if the lifecycle Meta-Argument
[`create_before_destroy`](/docs/language/meta-arguments/lifecycle.html) is used
in the resource. This limitation may be addressed in the future, see
[GitHub issue](https://github.com/hashicorp/terraform/issues/13549) for details.
Destroy-time provisioners can only run if they remain in the configuration Destroy-time provisioners can only run if they remain in the configuration
at the time a resource is destroyed. If a resource block with a destroy-time at the time a resource is destroyed. If a resource block with a destroy-time
provisioner is removed entirely from the configuration, its provisioner provisioner is removed entirely from the configuration, its provisioner