Skip to content

Configure Cloud Connector rules using Terraform

Last updated View as MarkdownAgent setup

You can create Cloud Connector rules using the Terraform Cloudflare provider ↗︎.

To get started with Terraform for Cloudflare configuration, refer to Get started.

Required permissions

The API token used by Terraform must have at least the following permission:

  • Zone > Cloud Connector > Write

Example configuration

The following example Terraform configuration creates Cloud Connector rules for various supported providers to route traffic between them based on URI paths:

resource "cloudflare_cloud_connector_rules" "cloud_connector_rules" {
  zone_id = "<ZONE_ID>"

  rules {
    description = "Route /data to GCP bucket"
    enabled     = true
    expression  = "(http.request.uri.path wildcard \"*/data/*\")"
    provider    = "gcp_storage"
    parameters {
      host = "mystorage.storage.googleapis.com"
    }
  }

  rules {
    description = "Route /resources to AWS bucket"
    enabled     = true
    expression  = "(http.request.uri.path wildcard \"*/resources/*\")"
    provider    = "aws_s3"
    parameters {
      host = "mystorage.s3.ams.amazonaws.com"
    }
  }

  rules {
    description = "Route /files to Azure bucket"
    enabled     = true
    expression  = "(http.request.uri.path wildcard \"*/files/*\")"
    provider    = "azure_storage"
    parameters {
      host = "mystorage.blob.core.windows.net"
    }
  }

  rules {
    description = "Route /images to R2 bucket"
    enabled     = true
    expression  = "(http.request.uri.path wildcard \"*/images/*\")"
    provider    = "cloudflare_r2"
    parameters {
      host = "mybucketcustomdomain.example.com"
    }
  }
}

More resources

Refer to the Terraform Cloudflare provider documentation ↗︎ for more information on the cloudflare_cloud_connector_rules resource.

Was this helpful?