Preventing resources from being destroyed
The use of Infrastructure as Code (IaC) requires attention in some cases. Indeed, when the Terraform execution is integrated into a CI/CD pipeline and the plan is overlooked, resources containing important data can be deleted. This can be done either by changing a property of a Terraform resource, which requires the deletion and recreation of this resource, or by executing the terraform destroy
command.
Fortunately, Terraform includes a configuration in its language that prevents the destruction of sensitive resources.
In this recipe, we will see how to prevent the destruction of resources that are managed in a Terraform configuration.
Getting ready
For this recipe, we will use a Terraform configuration to manage the following resources in Azure:
- An Azure Resource Group
- An Azure App Service plan
- An Azure App Service (web app) instance
- An Azure Application Insights instance
We often encounter...