Skip to content

Commit

Permalink
[Rules] Terraform support for Snippets (#18679)
Browse files Browse the repository at this point in the history
  • Loading branch information
pedrosousa authored Dec 11, 2024
1 parent dcfaf8c commit acf6ab7
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 7 deletions.
4 changes: 4 additions & 0 deletions src/content/changelogs/rules.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ productLink: "/rules/"
productArea: Application performance
productAreaLink: /fundamentals/reference/changelog/performance/
entries:
- publish_date: "2024-12-11"
title: Snippets support in the Cloudflare provider for Terraform
description: |-
You can now manage Snippets using Terraform. For more information, refer to [Configure Snippets using Terraform](/rules/snippets/create-terraform/).
- publish_date: "2024-11-22"
title: Support for Cloudflare R2 object storage in Cloud Connector
description: |-
Expand Down
3 changes: 2 additions & 1 deletion src/content/docs/rules/snippets/create-api.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
title: Configure via API
title: Configure Snippets via API
pcx_content_type: how-to
sidebar:
order: 3
label: Configure via API
head:
- tag: title
content: Configure Snippets via API
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/rules/snippets/create-dashboard.mdx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
title: Create in the dashboard
title: Create a snippet in the dashboard
pcx_content_type: how-to
sidebar:
order: 2
label: Create in the dashboard
head:
- tag: title
content: Create a snippet in the dashboard

---

The snippet creation wizard will guide you through the following steps:
Expand Down
49 changes: 49 additions & 0 deletions src/content/docs/rules/snippets/create-terraform.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: Configure Snippets using Terraform
pcx_content_type: how-to
sidebar:
order: 4
label: Configure using Terraform
head:
- tag: title
content: Configure Snippets using Terraform
---

You can create Snippets using the [Terraform Cloudflare provider](https://registry.terraform.io/providers/cloudflare/cloudflare/latest).

To get started with Terraform for Cloudflare configuration, refer to [Terraform: Get started](/terraform/installing/).

## 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.

```tf
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.

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](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs) for more information on the `cloudflare_snippet` and `cloudflare_snippet_rules` resources.
5 changes: 2 additions & 3 deletions src/content/docs/rules/snippets/errors.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@
title: Common errors
pcx_content_type: troubleshooting
sidebar:
order: 4
order: 8
head:
- tag: title
content: Common errors

---

import { GlossaryTooltip } from "~/components"
import { GlossaryTooltip } from "~/components";

Cloudflare Snippets may encounter specific errors during execution. Here are the common errors:

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/rules/snippets/examples/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ hideChildren: true
pcx_content_type: navigation
title: Examples
sidebar:
order: 3
order: 7
---

import { ListExamples } from "~/components";
Expand Down

0 comments on commit acf6ab7

Please sign in to comment.