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.
Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Products
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- © 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark