Workers
WorkersBetaWorkers
resource cloudflare_worker
cloudflare_worker
resource "cloudflare_worker" "example_worker" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
name = "my-worker"
logpush = true
observability = {
enabled = true
head_sampling_rate = 1
logs = {
destinations = ["string"]
enabled = true
head_sampling_rate = 1
invocation_logs = true
persist = true
}
traces = {
destinations = ["string"]
enabled = true
head_sampling_rate = 1
persist = true
}
}
subdomain = {
enabled = true
previews_enabled = true
}
tags = ["my-team", "my-public-api"]
tail_consumers = [{
name = "my-tail-consumer"
}]
}
data cloudflare_workers
optional
cloudflare_workers
data "cloudflare_workers" "example_workers" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
WorkersBetaWorkersVersions
resource cloudflare_worker_version
required
optional
Date indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.
The name of the main module in the modules array (e.g. the name of the module that exports a fetch handler).
computed
Time in milliseconds spent on Worker startup.
cloudflare_worker_version
resource "cloudflare_worker_version" "example_worker_version" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
worker_id = "worker_id"
annotations = {
workers_message = "Fixed bug."
workers_tag = "v1.0.1"
}
assets = {
config = {
html_handling = "auto-trailing-slash"
not_found_handling = "404-page"
run_worker_first = ["string"]
}
jwt = "jwt"
}
bindings = [{
name = "MY_ENV_VAR"
text = "my_data"
type = "plain_text"
}]
compatibility_date = "2021-01-01"
compatibility_flags = ["nodejs_compat"]
limits = {
cpu_ms = 50
}
main_module = "index.js"
migrations = {
deleted_classes = ["string"]
new_classes = ["string"]
new_sqlite_classes = ["string"]
new_tag = "v2"
old_tag = "v1"
renamed_classes = [{
from = "from"
to = "to"
}]
transferred_classes = [{
from = "from"
from_script = "from_script"
to = "to"
}]
}
modules = [{
content_base64 = "ZXhwb3J0IGRlZmF1bHQgewogIGFzeW5jIGZldGNoKHJlcXVlc3QsIGVudiwgY3R4KSB7CiAgICByZXR1cm4gbmV3IFJlc3BvbnNlKCdIZWxsbyBXb3JsZCEnKQogIH0KfQ=="
content_type = "application/javascript+module"
name = "index.js"
}]
placement = {
mode = "smart"
}
usage_model = "standard"
}
data cloudflare_worker_version
required
optional
computed
Identifier for the version, which can be a UUID, a UUID prefix (minimum length 8), or the literal "latest" to operate on the most recently created version.
Date indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.
The name of the main module in the modules array (e.g. the name of the module that exports a fetch handler).
Time in milliseconds spent on Worker startup.
Flags that enable or disable certain features in the Workers runtime. Used to enable upcoming features or opt in or out of specific changes not included in a compatibility_date.
cloudflare_worker_version
data "cloudflare_worker_version" "example_worker_version" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
worker_id = "worker_id"
version_id = "version_id"
include = "modules"
}
data cloudflare_worker_versions
required
cloudflare_worker_versions
data "cloudflare_worker_versions" "example_worker_versions" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
worker_id = "worker_id"
}
WorkersRoutes
resource cloudflare_workers_route
required
Pattern to match incoming requests against. Learn more.
cloudflare_workers_route
resource "cloudflare_workers_route" "example_workers_route" {
zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
pattern = "example.com/*"
script = "my-workers-script"
}
data cloudflare_workers_route
computed
Pattern to match incoming requests against. Learn more.
cloudflare_workers_route
data "cloudflare_workers_route" "example_workers_route" {
zone_id = "023e105f4ecef8ad9ca31a8372d0c353"
route_id = "023e105f4ecef8ad9ca31a8372d0c353"
}
WorkersScripts
resource cloudflare_workers_script
required
optional
An array of modules (often JavaScript files) comprising a Worker script. At least one module must be present and referenced in the metadata as main_module or body_part by filename.
Possible Content-Type(s) are: application/javascript+module, text/javascript+module, application/javascript, text/javascript, text/x-python, text/x-python-requirement, application/wasm, text/plain, application/octet-stream, application/source-map.
computed
Date indicating targeted support in the Workers runtime. Backwards incompatible fixes to the runtime following this date will not affect this Worker.
The tag of the Durable Object migration that was most recently applied for this Worker.
cloudflare_workers_script
resource "cloudflare_workers_script" "example_workers_script" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
script_name = "this-is_my_script-01"
metadata = {
annotations = {
workers_message = "Fixed bug."
workers_tag = "v1.0.1"
}
assets = {
config = {
headers = <<EOT
/dashboard/*
X-Frame-Options: DENY
/static/*
Access-Control-Allow-Origin: *
EOT
redirects = <<EOT
/foo /bar 301
/news/* /blog/:splat
EOT
html_handling = "auto-trailing-slash"
not_found_handling = "404-page"
run_worker_first = ["string"]
serve_directly = true
}
jwt = "jwt"
}
bindings = [{
name = "MY_ENV_VAR"
text = "my_data"
type = "plain_text"
}]
body_part = "worker.js"
compatibility_date = "2021-01-01"
compatibility_flags = ["nodejs_compat"]
keep_assets = false
keep_bindings = ["string"]
limits = {
cpu_ms = 50
}
logpush = false
main_module = "worker.js"
migrations = {
deleted_classes = ["string"]
new_classes = ["string"]
new_sqlite_classes = ["string"]
new_tag = "v2"
old_tag = "v1"
renamed_classes = [{
from = "from"
to = "to"
}]
transferred_classes = [{
from = "from"
from_script = "from_script"
to = "to"
}]
}
observability = {
enabled = true
head_sampling_rate = 0.1
logs = {
enabled = true
invocation_logs = true
destinations = ["cloudflare"]
head_sampling_rate = 0.1
persist = true
}
traces = {
destinations = ["cloudflare"]
enabled = true
head_sampling_rate = 0.1
persist = true
}
}
placement = {
mode = "smart"
}
tags = ["string"]
tail_consumers = [{
service = "my-log-consumer"
environment = "production"
namespace = "my-namespace"
}]
usage_model = "standard"
}
files = ["Example data"]
}
data cloudflare_workers_script
cloudflare_workers_script
data "cloudflare_workers_script" "example_workers_script" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
script_name = "this-is_my_script-01"
}
data cloudflare_workers_scripts
cloudflare_workers_scripts
data "cloudflare_workers_scripts" "example_workers_scripts" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
tags = "production:yes,staging:no"
}
WorkersScriptsSubdomain
resource cloudflare_workers_script_subdomain
required
cloudflare_workers_script_subdomain
resource "cloudflare_workers_script_subdomain" "example_workers_script_subdomain" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
script_name = "this-is_my_script-01"
enabled = true
previews_enabled = false
}
data cloudflare_workers_script_subdomain
required
cloudflare_workers_script_subdomain
data "cloudflare_workers_script_subdomain" "example_workers_script_subdomain" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
script_name = "this-is_my_script-01"
}
WorkersScriptsSchedules
resource cloudflare_workers_cron_trigger
required
cloudflare_workers_cron_trigger
resource "cloudflare_workers_cron_trigger" "example_workers_cron_trigger" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
script_name = "this-is_my_script-01"
body = [{
cron = "*/30 * * * *"
}]
}
data cloudflare_workers_cron_trigger
required
cloudflare_workers_cron_trigger
data "cloudflare_workers_cron_trigger" "example_workers_cron_trigger" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
script_name = "this-is_my_script-01"
}
WorkersScriptsDeployments
resource cloudflare_workers_deployment
required
cloudflare_workers_deployment
resource "cloudflare_workers_deployment" "example_workers_deployment" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
script_name = "this-is_my_script-01"
strategy = "percentage"
versions = [{
percentage = 100
version_id = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
}]
annotations = {
workers_message = "Deploy bug fix."
}
}
data cloudflare_workers_deployment
required
cloudflare_workers_deployment
data "cloudflare_workers_deployment" "example_workers_deployment" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
script_name = "this-is_my_script-01"
deployment_id = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
}
WorkersDomains
resource cloudflare_workers_custom_domain
required
optional
cloudflare_workers_custom_domain
resource "cloudflare_workers_custom_domain" "example_workers_custom_domain" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
hostname = "app.example.com"
service = "my-worker"
environment = "production"
zone_id = "593c9c94de529bbbfaac7c53ced0447d"
zone_name = "example.com"
}
data cloudflare_workers_custom_domain
computed
cloudflare_workers_custom_domain
data "cloudflare_workers_custom_domain" "example_workers_custom_domain" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
domain_id = "dbe10b4bc17c295377eabd600e1787fd"
}
data cloudflare_workers_custom_domains
optional
cloudflare_workers_custom_domains
data "cloudflare_workers_custom_domains" "example_workers_custom_domains" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
environment = "production"
hostname = "app.example.com"
service = "my-worker"
zone_id = "593c9c94de529bbbfaac7c53ced0447d"
zone_name = "example.com"
}