Configure Snippets using Terraform
You can create Snippets using the Terraform Cloudflare provider ↗.
To get started with Terraform for Cloudflare configuration, refer to Terraform: Get started.
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.
Refer to the Terraform Cloudflare provider documentation ↗ for more information on the cloudflare_snippet
and cloudflare_snippet_rules
resources.