← Rules / rules / origin-rules / examples
Define a single origin rule using Terraform
The following example defines a single origin rule for a zone using Terraform. The rule overrides the Host header, the resolved hostname, and the destination port of API requests.
# Change origin for API requests
resource "cloudflare_ruleset" "http_origin_example" {
zone_id = "<ZONE_ID>"
name = "Change origin"
description = ""
kind = "zone"
phase = "http_request_origin"
rules {
ref = "change_api_origin"
description = "Change origin of API requests"
expression = "(http.request.uri.path matches \"^/api/\")"
action = "route"
action_parameters {
host_header = "example.net"
origin {
host = "example.net"
port = 8000
}
}
}
}Use the ref field to get stable rule IDs across updates when using Terraform. Adding this field prevents Terraform from recreating the rule on changes. For more information, refer to Troubleshooting in the Terraform documentation.
Additional resources
For additional guidance on using Terraform with Cloudflare, refer to the following resources:
- Terraform documentation
- Cloudflare Provider for Terraform ↗ (reference documentation)