diff --git a/src/content/docs/terraform/troubleshooting/rule-id-changes.mdx b/src/content/docs/terraform/troubleshooting/rule-id-changes.mdx index d3e462a974286cd..cff8d61d252ce97 100644 --- a/src/content/docs/terraform/troubleshooting/rule-id-changes.mdx +++ b/src/content/docs/terraform/troubleshooting/rule-id-changes.mdx @@ -5,7 +5,7 @@ sidebar: label: Rule ID changes --- -For [`cloudflare_ruleset`](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/ruleset) resources, the Cloudflare provider may delete a rule and create a new one when you modify a ruleset rule in your Terraform configuration. This happens when the provider cannot match your new rule configuration in Terraform with an existing rule in your Cloudflare configuration. In this situation, modifying a rule in your Terraform configuration and applying the changes will create a new rule with a different rule ID in your Cloudflare account or zone. +For [`cloudflare_ruleset`](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/ruleset) resources, the Cloudflare provider may delete a rule and create a new one when you modify a ruleset rule in your Terraform configuration. This happens because the API cannot match rules in your new Terraform configuration with existing rules in your Cloudflare configuration. Modifying a rule in your Terraform configuration and applying the changes will create a new rule with a different rule ID in your Cloudflare account or zone. This behavior may have an impact on any automation or monitoring systems you may have configured that rely on having immutable rule IDs between rule modifications. @@ -17,9 +17,11 @@ The `ref` field is a user-defined external identifier that must be unique for ea `ref` values have a string data type with a minimum length of one character. For example, `my_ref`. +Once you set the `ref` field of a rule, changing the `ref` field value will make Terraform create a new rule. + ## `cf-terraforming` support for `ref` field values -By default, when you create a rule, its `ref` value will be equal to the rule ID. You can set or modify `ref` values via Cloudflare API. +By default, when you create a rule, its `ref` value will be equal to the rule ID. You can set `ref` values via Cloudflare API. When you [import your existing Cloudflare configuration to Terraform](/terraform/advanced-topics/import-cloudflare-resources/) using [`cf-terraforming`](https://github.com/cloudflare/cf-terraforming), the generated Terraform configuration will have `ref` values for each rule, with the same value as the rule ID.