Skip to content

SnippetRules

Source: src/Cloudflare/Snippets/SnippetRules.ts

The ordered list of snippet rules for a Cloudflare zone.

Snippet rules activate snippets against traffic: each rule pairs a Rules-language expression with the name of the snippet to execute on matching requests. The zone has exactly one rule list — this resource owns it in its entirety (PUT-replace semantics), so there should be at most one SnippetRules resource per zone.

Safety: when there is no prior state and the zone already has a non-empty rule list, read reports it as Unowned and the engine refuses to take it over unless --adopt (or adopt(true)) is set.

const snippet = yield* Cloudflare.Snippet("HeaderSnippet", {
zoneId: zone.zoneId,
code: snippetCode,
});
yield* Cloudflare.SnippetRules("Rules", {
zoneId: zone.zoneId,
rules: [
{
snippetName: snippet.name,
expression: 'http.request.uri.path wildcard "/api/*"',
description: "add headers to API responses",
},
],
});