Skip to content
Cloudflare Docs

Configure Snippets using Terraform

You can create Snippets using the Terraform Cloudflare provider.

To get started with Terraform for Cloudflare configuration, refer to Get started.

Example configuration

The following example Terraform configuration creates a snippet and an associated snippet rule that defines when the snippet code will run. The snippet code is loaded from the file1.js file in your machine.

resource "cloudflare_snippet" "my_snippet" {
zone_id = "<ZONE_ID>"
name = "my_test_snippet_1"
main_module = "file1.js"
files {
name = "file1.js"
content = file("file1.js")
}
}
resource "cloudflare_snippet_rules" "cookie_snippet_rule" {
zone_id = "<ZONE_ID>"
rules {
enabled = true
expression = "http.cookie eq \"a=b\""
description = "Trigger snippet on specific cookie"
snippet_name = "my_test_snippet_1"
}
depends_on = [cloudflare_snippet.my_snippet]
}

The name of a snippet can only contain the characters a-z, 0-9, and _ (underscore). The name must be unique in the context of the zone. You cannot change the snippet name after creating the snippet.

All snippet_name values in the cloudflare_snippet_rules resource must match the names of existing snippets.

More resources

Refer to the Terraform Cloudflare provider documentation for more information on the cloudflare_snippet and cloudflare_snippet_rules resources.