{"id":13505796,"url":"https://github.com/cloudflare/cf-terraforming","last_synced_at":"2026-10-19T13:07:36.975Z","repository":{"id":37549542,"uuid":"160878303","full_name":"cloudflare/cf-terraforming","owner":"cloudflare","description":"A command line utility to facilitate terraforming your existing Cloudflare resources.","archived":false,"fork":false,"pushed_at":"2026-10-04T17:58:54.000Z","size":8403,"stargazers_count":1407,"open_issues_count":20,"forks_count":171,"subscribers_count":21,"default_branch":"master","last_synced_at":"2026-10-09T03:13:04.708Z","etag":null,"topics":["cloudflare","terraform"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudflare.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-12-07T21:41:47.000Z","updated_at":"2026-10-03T20:57:03.000Z","dependencies_parsed_at":"2023-10-12T10:45:22.948Z","dependency_job_id":"7d1528cd-7452-4f7b-a47a-a113c3d867a1","html_url":"https://github.com/cloudflare/cf-terraforming","commit_stats":{"total_commits":868,"total_committers":61,"mean_commits":"14.229508196721312","dds":0.6670506912442397,"last_synced_commit":"e62988f44b9ac92bd31d80c9622c2c565981a50a"},"previous_names":[],"tags_count":47,"template":false,"template_full_name":null,"purl":"pkg:github/cloudflare/cf-terraforming","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflare%2Fcf-terraforming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflare%2Fcf-terraforming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflare%2Fcf-terraforming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflare%2Fcf-terraforming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudflare","download_url":"https://codeload.github.com/cloudflare/cf-terraforming/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudflare%2Fcf-terraforming/sbom","scorecard":{"id":292522,"data":{"date":"2025-08-11","repo":{"name":"github.com/cloudflare/cf-terraforming","commit":"09fdf95db6e583bf4ea26a3cb984ee69064e4fb9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.5,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 23 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/bump-formula.yaml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/bump-formula.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yaml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yaml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/lint.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yaml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/semgrep.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/semgrep.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/stale.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yaml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:101: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yaml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yaml:115: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/test.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/triage.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/triage.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate.yaml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/validate.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/validate.yaml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/validate.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/validate.yaml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/validate.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/validate.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/cloudflare/cf-terraforming/validate.yaml/master?enable=pin","Info:   0 out of  19 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   8 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/bump-formula.yaml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/lint.yaml:4","Info: topLevel 'pull-requests' permission set to 'read': .github/workflows/lint.yaml:5","Warn: no topLevel permission defined: .github/workflows/release.yaml:1","Warn: no topLevel permission defined: .github/workflows/semgrep.yml:1","Warn: no topLevel permission defined: .github/workflows/stale.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yaml:1","Warn: no topLevel permission defined: .github/workflows/triage.yml:1","Warn: no topLevel permission defined: .github/workflows/validate.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Mozilla Public License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yaml:9"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/cloudflare/.github/SECURITY.md:1","Info: Found linked content: github.com/cloudflare/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/cloudflare/.github/SECURITY.md:1","Info: Found text in security policy: github.com/cloudflare/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.24.0 not signed: https://api.github.com/repos/cloudflare/cf-terraforming/releases/231631280","Warn: release artifact v0.23.3 not signed: https://api.github.com/repos/cloudflare/cf-terraforming/releases/198016676","Warn: release artifact v0.23.2 not signed: https://api.github.com/repos/cloudflare/cf-terraforming/releases/197066384","Warn: release artifact v0.23.1 not signed: https://api.github.com/repos/cloudflare/cf-terraforming/releases/196569504","Warn: release artifact v0.23.0 not signed: https://api.github.com/repos/cloudflare/cf-terraforming/releases/196544756","Warn: release artifact v0.24.0 does not have provenance: https://api.github.com/repos/cloudflare/cf-terraforming/releases/231631280","Warn: release artifact v0.23.3 does not have provenance: https://api.github.com/repos/cloudflare/cf-terraforming/releases/198016676","Warn: release artifact v0.23.2 does not have provenance: https://api.github.com/repos/cloudflare/cf-terraforming/releases/197066384","Warn: release artifact v0.23.1 does not have provenance: https://api.github.com/repos/cloudflare/cf-terraforming/releases/196569504","Warn: release artifact v0.23.0 does not have provenance: https://api.github.com/repos/cloudflare/cf-terraforming/releases/196544756"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":8,"reason":"2 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2025-3754 / GHSA-2x5j-vhc8-9cwm","Warn: Project is vulnerable to: GO-2025-3787 / GHSA-fv92-fjc5-jj9h"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":9,"reason":"SAST tool is not run on all commits -- score normalized to 9","details":["Warn: 28 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T18:38:53.674Z","repository_id":37549542,"created_at":"2025-08-17T18:38:53.674Z","updated_at":"2025-08-17T18:38:53.674Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344872684,"owners_count":38356534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-19T02:00:06.414Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudflare","terraform"],"created_at":"2024-08-01T00:01:14.002Z","updated_at":"2026-10-19T13:07:36.961Z","avatar_url":"https://github.com/cloudflare.png","language":"Go","funding_links":[],"categories":["Tools","Go","Developer Tools"],"sub_categories":["Community providers","Infrastructure as Code"],"readme":"# Cloudflare Terraforming\n\n## Overview\n\n`cf-terraforming` is a command line utility to facilitate terraforming your\nexisting Cloudflare resources. It does this by using your account credentials to\nretrieve your configurations from the [Cloudflare API](https://api.cloudflare.com)\nand converting them to Terraform configurations that can be used with the\n[Terraform Cloudflare provider](https://registry.terraform.io/providers/cloudflare/cloudflare/latest).\n\nThis tool is ideal if you already have Cloudflare resources defined but want to\nstart managing them via Terraform, and don't want to spend the time to manually\nwrite the Terraform configuration to describe them. The intention is that this\nwould be a one-time HCL generation of whichever resource(s) you want to begin\nmanaging exclusively through Terraform.\n\nRead the [announcement blog](https://blog.cloudflare.com/cloudflares-partnership-with-hashicorp-and-bootstrapping-terraform-with-cf-terraforming/) for further details on using `cf-terraforming` in your workflow.\n\n\u003e [!WARNING]\n\u003e This tool is not intended for use in CI.\n\n\u003e [!NOTE]\n\u003e If you would like to export resources compatible with Terraform \u003c 0.12.x,\n\u003e you will need to download an older release as this tool no longer supports it.\n\n## Usage\n\n```\nUsage:\n  cf-terraforming import [flags]\n\nFlags:\n  -h, --help   help for import\n\nGlobal Flags:\n  -a, --account string                      Target the provided account ID for the command\n  -c, --config string                       Path to config file (default \"/Users/vaishak/.cf-terraforming.yaml\")\n  -e, --email string                        API Email address associated with your account\n      --hostname string                     Hostname to use to query the API\n  -k, --key string                          API Key generated on the 'My Profile' page. See: https://dash.cloudflare.com/profile\n      --modern-import-block                 Whether to generate HCL import blocks for generated resources instead of terraform import compatible CLI commands. This is only compatible with Terraform 1.5+\n      --provider-registry-hostname string   Hostname to use for provider registry lookups. Deprecated: this is no longer needed to be configured for custom registries.\n      --resource-id key                     Resource type and IDs mapping in the format of key to comma separated values. Example: `cloudflare_zone_setting=always_online,cache_level,...`\n      --resource-type string                Comma delimitered string of which resource(s) you wish to generate\n      --terraform-binary-path string        Path to an existing Terraform binary (otherwise, one will be downloaded)\n      --terraform-install-path string       Path to an initialized Terraform working directory (default \".\")\n  -t, --token string                        API Token\n  -v, --verbose                             Specify verbose output (same as setting log level to debug)\n  -z, --zone string                         Target the provided zone ID for the command\n```\n\n## Authentication\n\nCloudflare supports two authentication methods to the API:\n\n- API Token - gives access only to resources and permissions specified for that token (recommended)\n- API key - gives access to everything your user profile has access to\n\nBoth can be retrieved on the [user profile page](https://dash.cloudflare.com/profile/api-tokens).\n\n\u003e [!TIP]\n\u003e We recommend that you store your Cloudflare credentials (API key, email, token) as environment\n\u003e variables as demonstrated below.\n\n```bash\n# if using API Token\nexport CLOUDFLARE_API_TOKEN='Hzsq3Vub-7Y-hSTlAaLH3Jq_YfTUOCcgf22_Fs-j'\n\n# if using API Key\nexport CLOUDFLARE_EMAIL='user@example.com'\nexport CLOUDFLARE_API_KEY='1150bed3f45247b99f7db9696fffa17cbx9'\n\n# specify zone ID\nexport CLOUDFLARE_ZONE_ID='81b06ss3228f488fh84e5e993c2dc17'\n\n# now call cf-terraforming, e.g.\ncf-terraforming generate \\\n  --resource-type \"cloudflare_record\" \\\n  --zone $CLOUDFLARE_ZONE_ID\n```\n\ncf-terraforming supports the following environment variables:\n\n- CLOUDFLARE_API_TOKEN - API Token based authentication\n- CLOUDFLARE_EMAIL, CLOUDFLARE_API_KEY - API Key based authentication\n\nAlternatively, if using a config file, then specify the inputs using the same\nnames the `flag` names. Example:\n\n```\ncat ~/.cf-terraforming.yaml\nemail: \"email@domain.com\"\nkey: \"\u003ckey\u003e\"\n#or\ntoken: \"\u003ctoken\u003e\"\n```\n\n## Example usage\n\n```bash\ncf-terraforming generate \\\n  --zone $CLOUDFLARE_ZONE_ID \\\n  --resource-type \"cloudflare_record\"\n```\n\nwill contact the Cloudflare API on your behalf and result in a valid Terraform\nconfiguration representing the **resource** you requested:\n\n```hcl\nresource \"cloudflare_record\" \"terraform_managed_resource\" {\n  name = \"example.com\"\n  proxied = false\n  ttl = 120\n  type = \"A\"\n  value = \"198.51.100.4\"\n  zone_id = \"0da42c8d2132a9ddaf714f9e7c920711\"\n}\n```\n\nSome resource require an ID to be passed in to be able to either generate the hcl block or import command. The resources\nwhich require an id are listed in the table below for the v5 provider. Example usage:\n\n```bash\ncf-terraforming generate \\\n  --zone $CLOUDFLARE_ZONE_ID \\\n  --resource-type \"cloudflare_hostname_tls_setting\" \\\n  --resource-id \"cloudflare_hostname_tls_setting=ciphers\"\n```\n\nDefine `--terraform-binary-path` on the generate command which will ensure we're reusing the installed version of\nterraform instead of fetching a new one each time, if you're seeing issues.\n\n## Prerequisites\n\n- A Cloudflare account with resources defined (e.g. a few zones, some load\n  balancers, spectrum applications, etc)\n- A valid Cloudflare API key and sufficient permissions to access the resources\n  you are requesting via the API\n- An initialised Terraform directory (`terraform init` has run and providers installed). See the [provider documentation](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs) if you have not yet setup the Terraform directory.\n\n## Installation\n\n### Homebrew\n\n```bash\nbrew tap cloudflare/cloudflare\nbrew install cloudflare/cloudflare/cf-terraforming\n```\n\n\u003e [!NOTE]\n\u003e If you have installed an older version of `cf-terraforming` via Homebrew,\n\u003e you may need to first uninstall `cf-terraforming` and then install it to\n\u003e pick up the updated install process and address the signing/notarisation\n\u003e issues.\n\n### Go\n\n```bash\ngo install github.com/cloudflare/cf-terraforming/cmd/cf-terraforming@latest\n```\n\nIf you use another OS, you will need to download the release directly from\n[GitHub Releases](https://github.com/cloudflare/cf-terraforming/releases) or\nbuild the Go source.\n\n## Importing with Terraform state\n\n`cf-terraforming` has the ability to generate the configuration for you to import\nexisting resources.\n\nDepending on your version of Terraform, you can generate the `import` block\n(Terraform 1.5+) using the `--modern-import-block` flag or the `terraform import`\ncompatible CLI output (all versions).\n\nThis command assumes you have already ran `cf-terraforming generate ...` to\noutput your resources.\n\n```\n# All versions of Terraform\ncf-terraforming import \\\n  --resource-type \"cloudflare_record\" \\\n  --email $CLOUDFLARE_EMAIL \\\n  --key $CLOUDFLARE_API_KEY \\\n  --zone $CLOUDFLARE_ZONE_ID\n```\n\n```\n# Terraform 1.5+ only\ncf-terraforming import \\\n  --resource-type \"cloudflare_record\" \\\n  --modern-import-block \\\n  --email $CLOUDFLARE_EMAIL \\\n  --key $CLOUDFLARE_API_KEY \\\n  --zone $CLOUDFLARE_ZONE_ID\n```\n\n## Using non-standard Terraform binaries\n\nInternally, we use [`terraform-exec`](https://github.com/hashicorp/terraform-exec)\nlibrary to run Terraform operations in the same way that the CLI tooling would.\nIf a `terraform` binary is not available on your system path, we will attempt\nto download the latest to use it.\n\nShould you have the binary stored in a non-standard location, want to use an\nexisting binary, or you wish to provide a Terraform compatible binary (such as\n`tofu`), you need to provide the `--terraform-binary-path` flag or\n`CLOUDFLARE_TERRAFORM_BINARY_PATH` environment variable to instruct\n`cf-terraforming` which you expect to use.\n\n## CDKTF\n\nIf you'd like to use [cdktf](https://developer.hashicorp.com/terraform/cdktf)\nfor your project resources, you can pipe the output from `cf-terraforming` into\n`cdktf convert` in order to correctly generate CDKTF output automatically.\n\nExample:\n\n```\ncf-terraforming generate \\\n  --resource-type \"cloudflare_record\" \\\n  --zone \"0da42c8d2132a9ddaf714f9e7c920711\" \\\n| cdktf convert --language \"typescript\" --provider \"cloudflare/cloudflare\"\n```\n\n## Supported Resources\n\n### v5\n\nAny resource that is released within the Terraform Provider is automatically supported for generation and import.\nThe cf-terraforming cli tool should be able to generate the HCL config for resource in the version 5 of the provider.\nCertain resources generated might not pass `terraform validate` command due to inconsistencies with the schema. These\nare known issues and will be addressed in the later releases.\n\n#### Generate\n\nAny resources not listed may have known issues. The HCL config may still be generated but might need manual modifications.\n\n| Resource Type                                                      | Identifier Type | CLI Flags Example                                                                                                      |\n|:-------------------------------------------------------------------|:----------------|:-----------------------------------------------------------------------------------------------------------------------|\n| cloudflare_account                                                 | account         |                                                                                                                        |\n| cloudflare_account_member                                          | account         |                                                                                                                        |\n| cloudflare_account_subscription                                    | account         |                                                                                                                        |\n| cloudflare_address_map                                             | account         |                                                                                                                        |\n| cloudflare_ai_gateway                                              | account         |                                                                                                                        |\n| cloudflare_ai_search_instance                                      | account         |                                                                                                                        |\n| cloudflare_ai_search_namespace                                     | account         |                                                                                                                        |\n| cloudflare_ai_search_token                                         | account         |                                                                                                                        |\n| cloudflare_api_shield_discovery_operation                          | zone            |                                                                                                                        |\n| cloudflare_api_shield_operation                                    | zone            |                                                                                                                        |\n| cloudflare_api_shield_operation_schema_validation_settings         | zone            | cloudflare_api_shield_operation_schema_validation_settings=8255d5da-5a46-4928-ad00-01de7d48c1e7                        |\n| cloudflare_api_shield_schema                                       | zone            |                                                                                                                        |\n| cloudflare_api_shield_schema_validation_settings                   | zone            |                                                                                                                        |\n| cloudflare_argo_smart_routing                                      | zone            |                                                                                                                        |\n| cloudflare_argo_tiered_caching                                     | zone            |                                                                                                                        |\n| cloudflare_authenticated_origin_pulls                              | zone            | cloudflare_authenticated_origin_pulls=jotsqcjaho.terraform.cfapi.net                                                   |\n| cloudflare_authenticated_origin_pulls_certificate                  | zone            |                                                                                                                        |\n| cloudflare_bot_management                                          | zone            |                                                                                                                        |\n| cloudflare_calls_sfu_app                                           | account         |                                                                                                                        |\n| cloudflare_calls_turn_app                                          | account         |                                                                                                                        |\n| cloudflare_certificate_pack                                        | zone            |                                                                                                                        |\n| cloudflare_content_scanning_expression                             | zone            |                                                                                                                        |\n| cloudflare_custom_hostname                                         | zone            |                                                                                                                        |\n| cloudflare_custom_hostname_fallback_origin                         | zone            |                                                                                                                        |\n| cloudflare_d1_database                                             | account         |                                                                                                                        |\n| cloudflare_dns_firewall                                            | account         |                                                                                                                        |\n| cloudflare_dns_record                                              | zone            |                                                                                                                        |\n| cloudflare_dns_zone_transfers_acl                                  | account         |                                                                                                                        |\n| cloudflare_dns_zone_transfers_incoming                             | zone            |                                                                                                                        |\n| cloudflare_dns_zone_transfers_outgoing                             | zone            |                                                                                                                        |\n| cloudflare_dns_zone_transfers_peer                                 | account         |                                                                                                                        |\n| cloudflare_dns_zone_transfers_tsig                                 | account         |                                                                                                                        |\n| cloudflare_email_routing_address                                   | account         |                                                                                                                        |\n| cloudflare_email_routing_catch_all                                 | zone            |                                                                                                                        |\n| cloudflare_email_routing_dns                                       | zone            |                                                                                                                        |\n| cloudflare_email_routing_rule                                      | zone            |                                                                                                                        |\n| cloudflare_email_routing_settings                                  | zone            |                                                                                                                        |\n| cloudflare_email_security_block_sender                             | account         |                                                                                                                        |\n| cloudflare_email_security_impersonation_registry                   | account         |                                                                                                                        |\n| cloudflare_email_security_trusted_domains                          | account         |                                                                                                                        |\n| cloudflare_filter                                                  | zone            |                                                                                                                        |\n| cloudflare_healthcheck                                             | zone            |                                                                                                                        |\n| cloudflare_hostname_tls_setting                                    | zone            | cloudflare_hostname_tls_setting=ciphers,min_tls_version                                                                |\n| cloudflare_keyless_certificate                                     | zone            |                                                                                                                        |\n| cloudflare_leaked_credential_check                                 | zone            |                                                                                                                        |\n| cloudflare_leaked_credential_check_rule                            | zone            |                                                                                                                        |\n| cloudflare_list                                                    | account         |                                                                                                                        |\n| cloudflare_list_item                                               | account         | cloudflare_list_item=2a4b8b2017aa4b3cb9e1151b52c81d22                                                                  |\n| cloudflare_load_balancer                                           | zone            |                                                                                                                        |\n| cloudflare_load_balancer_monitor                                   | account         |                                                                                                                        |\n| cloudflare_load_balancer_pool                                      | account         |                                                                                                                        |\n| cloudflare_logpull_retention                                       | zone            |                                                                                                                        |\n| cloudflare_logpush_job                                             | account or zone |                                                                                                                        |\n| cloudflare_magic_wan_static_route                                  | account         |                                                                                                                        |\n| cloudflare_managed_transforms                                      | zone            |                                                                                                                        |\n| cloudflare_mtls_certificate                                        | account         |                                                                                                                        |\n| cloudflare_notification_policy                                     | account         |                                                                                                                        |\n| cloudflare_notification_policy_webhooks                            | account         |                                                                                                                        |\n| cloudflare_observatory_scheduled_test                              | zone            | cloudflare_observatory_scheduled_test=terraform.cfapi.net/thyygxveip                                                   |\n| cloudflare_origin_ca_certificate                                   | zone            |                                                                                                                        |\n| cloudflare_page_rule                                               | zone            |                                                                                                                        |\n| cloudflare_page_shield_policy                                      | zone            |                                                                                                                        |\n| cloudflare_pages_domain                                            | account         | cloudflare_pages_domain=ykfjmcgpfs                                                                                     |\n| cloudflare_pages_project                                           | account         |                                                                                                                        |\n| cloudflare_queue                                                   | account         |                                                                                                                        |\n| cloudflare_queue_consumer                                          | account         | cloudflare_queue_consumer=2dde6ac405cd457c9ce59dc4bda20c65                                                             |\n| cloudflare_r2_bucket                                               | account         |                                                                                                                        |\n| cloudflare_r2_custom_domain                                        | account         | cloudflare_r2_custom_domain=jb-test-bucket,bnfywlzwpt                                                                  |\n| cloudflare_r2_managed_domain                                       | account         | cloudflare_r2_managed_domain=jb-test-bucket,bnfywlzwpt                                                                 |\n| cloudflare_rate_limit                                              | zone            |                                                                                                                        |\n| cloudflare_regional_hostname                                       | zone            |                                                                                                                        |\n| cloudflare_regional_tiered_cache                                   | zone            |                                                                                                                        |\n| cloudflare_registrar_domain                                        | account         |                                                                                                                        |\n| cloudflare_ruleset                                                 | account or zone |                                                                                                                        |\n| cloudflare_snippet_rules                                           | zone            |                                                                                                                        |\n| cloudflare_snippets                                                | zone            |                                                                                                                        |\n| cloudflare_spectrum_application                                    | zone            |                                                                                                                        |\n| cloudflare_stream                                                  | account         |                                                                                                                        |\n| cloudflare_stream_key                                              | account         |                                                                                                                        |\n| cloudflare_stream_live_input                                       | account         |                                                                                                                        |\n| cloudflare_stream_watermark                                        | account         |                                                                                                                        |\n| cloudflare_stream_webhook                                          | account         |                                                                                                                        |\n| cloudflare_tiered_cache                                            | zone            |                                                                                                                        |\n| cloudflare_total_tls                                               | zone            |                                                                                                                        |\n| cloudflare_turnstile_widget                                        | account         |                                                                                                                        |\n| cloudflare_url_normalization_settings                              | zone            |                                                                                                                        |\n| cloudflare_user                                                    | account         |                                                                                                                        |\n| cloudflare_waiting_room                                            | account or zone |                                                                                                                        |\n| cloudflare_waiting_room_event                                      | zone            | cloudflare_waiting_room_event=e7f9e4c190ea8d6c66cab32ac110f39a                                                         |\n| cloudflare_waiting_room_rules                                      | zone            | cloudflare_waiting_room_rules=8bbd1b13450f6c63ab6ab4e08a63762d                                                         |\n| cloudflare_waiting_room_settings                                   | zone            |                                                                                                                        |\n| cloudflare_web3_hostname                                           | zone            |                                                                                                                        |\n| cloudflare_web_analytics_rule                                      | account         | cloudflare_web_analytics_rule=2fa89d8f-35f7-49ef-87d3-f24e866a5d5e                                                     |\n| cloudflare_web_analytics_site                                      | account         |                                                                                                                        |\n| cloudflare_workers_cron_trigger                                    | account         | cloudflare_workers_cron_trigger=script_2                                                                               |\n| cloudflare_workers_custom_domain                                   | account         |                                                                                                                        |\n| cloudflare_workers_deployment                                      | account         | cloudflare_workers_deployment=script_2                                                                                 |\n| cloudflare_workers_for_platforms_dispatch_namespace                | account         |                                                                                                                        |\n| cloudflare_workers_kv_namespace                                    | account         |                                                                                                                        |\n| cloudflare_workers_script_subdomain                                | account         | cloudflare_workers_script_subdomain=accounts                                                                           |\n| cloudflare_zero_trust_access_application                           | account or zone |                                                                                                                        |\n| cloudflare_zero_trust_access_custom_page                           | account         |                                                                                                                        |\n| cloudflare_zero_trust_access_group                                 | account or zone |                                                                                                                        |\n| cloudflare_zero_trust_access_identity_provider                     | account or zone |                                                                                                                        |\n| cloudflare_zero_trust_access_infrastructure_target                 | account         |                                                                                                                        |\n| cloudflare_zero_trust_access_key_configuration                     | account         |                                                                                                                        |\n| cloudflare_zero_trust_access_mtls_certificate                      | account or zone |                                                                                                                        |\n| cloudflare_zero_trust_access_mtls_hostname_settings                | account or zone |                                                                                                                        |\n| cloudflare_zero_trust_access_policy                                | account         |                                                                                                                        |\n| cloudflare_zero_trust_access_service_token                         | account or zone |                                                                                                                        |\n| cloudflare_zero_trust_access_short_lived_certificate               | account or zone |                                                                                                                        |\n| cloudflare_zero_trust_access_tag                                   | account         |                                                                                                                        |\n| cloudflare_zero_trust_device_custom_profile                        | account         |                                                                                                                        |\n| cloudflare_zero_trust_device_default_profile                       | account         |                                                                                                                        |\n| cloudflare_zero_trust_device_default_profile_certificates          | zone            |                                                                                                                        |\n| cloudflare_zero_trust_device_default_profile_local_domain_fallback | account         |                                                                                                                        |\n| cloudflare_zero_trust_device_managed_networks                      | account         |                                                                                                                        |\n| cloudflare_zero_trust_device_posture_integration                   | account         |                                                                                                                        |\n| cloudflare_zero_trust_device_posture_rule                          | account         |                                                                                                                        |\n| cloudflare_zero_trust_dex_test                                     | account         |                                                                                                                        |\n| cloudflare_zero_trust_dlp_custom_profile                           | account         | cloudflare_zero_trust_dlp_custom_profile=38f45ad8-476e-4b56-ad16-42f364250802                                          |\n| cloudflare_zero_trust_dlp_dataset                                  | account         |                                                                                                                        |\n| cloudflare_zero_trust_dlp_predefined_profile                       | account         | cloudflare_zero_trust_dlp_predefined_profile=c8932cc4-3312-4152-8041-f3f257122dc4,56a8c060-01bb-4f89-ba1e-3ad42770a342 |\n| cloudflare_zero_trust_dns_location                                 | account         |                                                                                                                        |\n| cloudflare_zero_trust_gateway_certificate                          | account         |                                                                                                                        |\n| cloudflare_zero_trust_gateway_policy                               | account         |                                                                                                                        |\n| cloudflare_zero_trust_gateway_proxy_endpoint                       | account         |                                                                                                                        |\n| cloudflare_zero_trust_gateway_settings                             | account         |                                                                                                                        |\n| cloudflare_zero_trust_list                                         | account         |                                                                                                                        |\n| cloudflare_zero_trust_organization                                 | account or zone |                                                                                                                        |\n| cloudflare_zero_trust_risk_behavior                                | account         |                                                                                                                        |\n| cloudflare_zero_trust_risk_scoring_integration                     | account         |                                                                                                                        |\n| cloudflare_zero_trust_tunnel_cloudflared                           | account         |                                                                                                                        |\n| cloudflare_zero_trust_tunnel_cloudflared_config                    | account         | cloudflare_zero_trust_tunnel_cloudflared_config=285f508d-d6ef-4ce4-9293-983d5bdc269e                                   |\n| cloudflare_zero_trust_tunnel_cloudflared_route                     | account         |                                                                                                                        |\n| cloudflare_zero_trust_tunnel_cloudflared_virtual_network           | account         |                                                                                                                        |\n| cloudflare_zone                                                    | zone            |                                                                                                                        |\n| cloudflare_zone_cache_reserve                                      | zone            |                                                                                                                        |\n| cloudflare_zone_cache_variants                                     | zone            |                                                                                                                        |\n| cloudflare_zone_dnssec                                             | zone            |                                                                                                                        |\n| cloudflare_zone_lockdown                                           | zone            |                                                                                                                        |\n| cloudflare_zone_setting                                            | zone            | cloudflare_zone_setting=always_online,cache_level                                                                      |\n\n\n#### Import\n\nAny resources not listed may have known issues or may not yet support import.\n\n| Resource Type                                           | Identifier Type | CLI Flags Example                                                  |\n|:--------------------------------------------------------|:----------------|:-------------------------------------------------------------------|\n| cloudflare_account                                      | account         |                                                                    |\n| cloudflare_account_member                               | account         |                                                                    |\n| cloudflare_address_map                                  | account         |                                                                    |\n| cloudflare_ai_gateway                                   | account         |                                                                    |\n| cloudflare_ai_search_instance                           | account         |                                                                    |\n| cloudflare_ai_search_namespace                          | account         |                                                                    |\n| cloudflare_ai_search_token                              | account         |                                                                    |\n| cloudflare_api_shield_operation                         | zone            |                                                                    |\n| cloudflare_bot_management                               | zone            |                                                                    |\n| cloudflare_certificate_pack                             | zone            |                                                                    |\n| cloudflare_custom_hostname                              | zone            |                                                                    |\n| cloudflare_custom_hostname_fallback_origin              | zone            |                                                                    |\n| cloudflare_d1_database                                  | account         |                                                                    |\n| cloudflare_dns_firewall                                 | account         |                                                                    |\n| cloudflare_dns_record                                   | zone            |                                                                    |\n| cloudflare_dns_zone_transfers_acl                       | account         |                                                                    |\n| cloudflare_dns_zone_transfers_incoming                  | zone            |                                                                    |\n| cloudflare_dns_zone_transfers_outgoing                  | zone            |                                                                    |\n| cloudflare_dns_zone_transfers_peer                      | account         |                                                                    |\n| cloudflare_dns_zone_transfers_tsig                      | account         |                                                                    |\n| cloudflare_email_routing_address                        | account         |                                                                    |\n| cloudflare_email_routing_catch_all                      | zone            |                                                                    |\n| cloudflare_email_routing_dns                            | zone            |                                                                    |\n| cloudflare_email_routing_rule                           | zone            |                                                                    |\n| cloudflare_email_routing_settings                       | zone            |                                                                    |\n| cloudflare_email_security_block_sender                  | account         |                                                                    |\n| cloudflare_email_security_impersonation_registry        | account         |                                                                    |\n| cloudflare_email_security_trusted_domains               | account         |                                                                    |\n| cloudflare_filter                                       | zone            |                                                                    |\n| cloudflare_healthcheck                                  | zone            |                                                                    |\n| cloudflare_hostname_tls_setting                         | zone            | cloudflare_hostname_tls_setting=ciphers,min_tls_version            |\n| cloudflare_keyless_certificate                          | zone            |                                                                    |\n| cloudflare_list                                         | account         |                                                                    |\n| cloudflare_list_item                                    | account         | cloudflare_list_item=2a4b8b2017aa4b3cb9e1151b52c81d22              |\n| cloudflare_load_balancer                                | zone            |                                                                    |\n| cloudflare_load_balancer_monitor                        | account         |                                                                    |\n| cloudflare_load_balancer_pool                           | account         |                                                                    |\n| cloudflare_logpush_job                                  | account or zone |                                                                    |\n| cloudflare_managed_transforms                           | zone            |                                                                    |\n| cloudflare_mtls_certificate                             | account         |                                                                    |\n| cloudflare_notification_policy                          | account         |                                                                    |\n| cloudflare_notification_policy_webhooks                 | account         |                                                                    |\n| cloudflare_origin_ca_certificate                        | zone            |                                                                    |\n| cloudflare_page_rule                                    | zone            |                                                                    |\n| cloudflare_page_shield_policy                           | zone            |                                                                    |\n| cloudflare_pages_domain                                 | account         | cloudflare_pages_domain=ykfjmcgpfs                                 |\n| cloudflare_pages_project                                | account         |                                                                    |\n| cloudflare_queue                                        | account         |                                                                    |\n| cloudflare_r2_bucket                                    | account         |                                                                    |\n| cloudflare_r2_custom_domain                             | account         | cloudflare_r2_custom_domain=jb-test-bucket,bnfywlzwpt              |\n| cloudflare_r2_managed_domain                            | account         | cloudflare_r2_managed_domain=jb-test-bucket,bnfywlzwpt             |\n| cloudflare_rate_limit                                   | zone            |                                                                    |\n| cloudflare_regional_hostname                            | zone            |                                                                    |\n| cloudflare_regional_tiered_cache                        | zone            |                                                                    |\n| cloudflare_ruleset                                      | account or zone |                                                                    |\n| cloudflare_spectrum_application                         | zone            |                                                                    |\n| cloudflare_tiered_cache                                 | zone            |                                                                    |\n| cloudflare_total_tls                                    | zone            |                                                                    |\n| cloudflare_turnstile_widget                             | account         |                                                                    |\n| cloudflare_url_normalization_settings                   | zone            |                                                                    |\n| cloudflare_waiting_room                                 | zone            |                                                                    |\n| cloudflare_waiting_room_event                           | zone            | cloudflare_waiting_room_event=e7f9e4c190ea8d6c66cab32ac110f39a     |\n| cloudflare_waiting_room_rules                           | zone            | cloudflare_waiting_room_rules=8bbd1b13450f6c63ab6ab4e08a63762d     |\n| cloudflare_waiting_room_settings                        | zone            |                                                                    |\n| cloudflare_web3_hostname                                | zone            |                                                                    |\n| cloudflare_web_analytics_rule                           | account         | cloudflare_web_analytics_rule=2fa89d8f-35f7-49ef-87d3-f24e866a5d5e |\n| cloudflare_web_analytics_site                           | account         |                                                                    |\n| cloudflare_workers_custom_domain                        | account         |                                                                    |\n| cloudflare_workers_for_platforms_dispatch_namespace     | account         |                                                                    |\n| cloudflare_workers_kv_namespace                         | account         |                                                                    |\n| cloudflare_zero_trust_access_application                | account or zone |                                                                    |\n\n### v4\n\nAny resources not listed are currently not supported.\n\n| Resource                                                                                                                                         | Resource Scope  | Generate Supported | Import Supported |\n| ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------- | ------------------ | ---------------- |\n| [cloudflare_access_application](https://www.terraform.io/docs/providers/cloudflare/r/access_application)                                         | Account         | ✅                 | ✅               |\n| [cloudflare_access_group](https://www.terraform.io/docs/providers/cloudflare/r/access_group)                                                     | Account         | ✅                 | ✅               |\n| [cloudflare_access_identity_provider](https://www.terraform.io/docs/providers/cloudflare/r/access_identity_provider)                             | Account         | ✅                 | ❌               |\n| [cloudflare_access_mutual_tls_certificate](https://www.terraform.io/docs/providers/cloudflare/r/access_mutual_tls_certificate)                   | Account         | ✅                 | ❌               |\n| [cloudflare_access_policy](https://www.terraform.io/docs/providers/cloudflare/r/access_policy)                                                   | Account         | ❌                 | ❌               |\n| [cloudflare_access_rule](https://www.terraform.io/docs/providers/cloudflare/r/access_rule)                                                       | Account         | ✅                 | ✅               |\n| [cloudflare_access_service_token](https://www.terraform.io/docs/providers/cloudflare/r/access_service_token)                                     | Account         | ✅                 | ❌               |\n| [cloudflare_account_member](https://www.terraform.io/docs/providers/cloudflare/r/account_member)                                                 | Account         | ✅                 | ✅               |\n| [cloudflare_api_shield](https://www.terraform.io/docs/providers/cloudflare/r/api_shield)                                                         | Zone            | ✅                 | ❌               |\n| [cloudflare_api_token](https://www.terraform.io/docs/providers/cloudflare/r/api_token)                                                           | User            | ❌                 | ❌               |\n| [cloudflare_argo](https://www.terraform.io/docs/providers/cloudflare/r/argo)                                                                     | Zone            | ✅                 | ✅               |\n| [cloudflare_authenticated_origin_pulls](https://www.terraform.io/docs/providers/cloudflare/r/authenticated_origin_pulls)                         | Zone            | ❌                 | ❌               |\n| [cloudflare_authenticated_origin_pulls_certificate](https://www.terraform.io/docs/providers/cloudflare/r/authenticated_origin_pulls_certificate) | Zone            | ❌                 | ❌               |\n| [cloudflare_bot_management](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/bot_management)                  | Zone            | ✅                 | ✅               |\n| [cloudflare_byo_ip_prefix](https://www.terraform.io/docs/providers/cloudflare/r/byo_ip_prefix)                                                   | Account         | ✅                 | ✅               |\n| [cloudflare_certificate_pack](https://www.terraform.io/docs/providers/cloudflare/r/certificate_pack)                                             | Zone            | ✅                 | ✅               |\n| [cloudflare_custom_hostname](https://www.terraform.io/docs/providers/cloudflare/r/custom_hostname)                                               | Zone            | ✅                 | ✅               |\n| [cloudflare_custom_hostname_fallback_origin](https://www.terraform.io/docs/providers/cloudflare/r/custom_hostname_fallback_origin)               | Account         | ✅                 | ❌               |\n| [cloudflare_custom_pages](https://www.terraform.io/docs/providers/cloudflare/r/custom_pages)                                                     | Account or Zone | ✅                 | ✅               |\n| [cloudflare_custom_ssl](https://www.terraform.io/docs/providers/cloudflare/r/custom_ssl)                                                         | Zone            | ✅                 | ✅               |\n| [cloudflare_filter](https://www.terraform.io/docs/providers/cloudflare/r/filter)                                                                 | Zone            | ✅                 | ✅               |\n| [cloudflare_firewall_rule](https://www.terraform.io/docs/providers/cloudflare/r/firewall_rule)                                                   | Zone            | ✅                 | ✅               |\n| [cloudflare_healthcheck](https://www.terraform.io/docs/providers/cloudflare/r/healthcheck)                                                       | Zone            | ✅                 | ✅               |\n| [cloudflare_ip_list](https://www.terraform.io/docs/providers/cloudflare/r/ip_list)                                                               | Account         | ❌                 | ✅               |\n| [cloudflare_list](https://www.terraform.io/docs/providers/cloudflare/r/list)                                                                     | Account         | ✅                 | ❌               |\n| [cloudflare_load_balancer](https://www.terraform.io/docs/providers/cloudflare/r/load_balancer)                                                   | Zone            | ✅                 | ✅               |\n| [cloudflare_load_balancer_monitor](https://www.terraform.io/docs/providers/cloudflare/r/load_balancer_monitor)                                   | Account         | ✅                 | ✅               |\n| [cloudflare_load_balancer_pool](https://www.terraform.io/docs/providers/cloudflare/r/load_balancer_pool)                                         | Account         | ✅                 | ✅               |\n| [cloudflare_logpull_retention](https://www.terraform.io/docs/providers/cloudflare/r/logpull_retention)                                           | Zone            | ❌                 | ❌               |\n| [cloudflare_logpush_job](https://www.terraform.io/docs/providers/cloudflare/r/logpush_job)                                                       | Zone            | ✅                 | ❌               |\n| [cloudflare_logpush_ownership_challenge](https://www.terraform.io/docs/providers/cloudflare/r/logpush_ownership_challenge)                       | Zone            | ❌                 | ❌               |\n| [cloudflare_magic_firewall_ruleset](https://www.terraform.io/docs/providers/cloudflare/r/magic_firewall_ruleset)                                 | Account         | ❌                 | ❌               |\n| [cloudflare_managed_headers](https://www.terraform.io/docs/providers/cloudflare/r/managed_headers)                                               | Zone            | ✅                 | ❌               |\n| [cloudflare_origin_ca_certificate](https://www.terraform.io/docs/providers/cloudflare/r/origin_ca_certificate)                                   | Zone            | ✅                 | ✅               |\n| [cloudflare_page_rule](https://www.terraform.io/docs/providers/cloudflare/r/page_rule)                                                           | Zone            | ✅                 | ✅               |\n| [cloudflare_rate_limit](https://www.terraform.io/docs/providers/cloudflare/r/rate_limit)                                                         | Zone            | ✅                 | ✅               |\n| [cloudflare_record](https://www.terraform.io/docs/providers/cloudflare/r/record)                                                                 | Zone            | ✅                 | ✅               |\n| [cloudflare_ruleset](https://www.terraform.io/docs/providers/cloudflare/r/ruleset)                                                               | Account or Zone | ✅                 | ✅               |\n| [cloudflare_spectrum_application](https://www.terraform.io/docs/providers/cloudflare/r/spectrum_application)                                     | Zone            | ✅                 | ✅               |\n| [cloudflare_tiered_cache](https://www.terraform.io/docs/providers/cloudflare/r/tiered_cache)                                                     | Zone            | ✅                 | ❌               |\n| [cloudflare_teams_list](https://www.terraform.io/docs/providers/cloudflare/r/teams_list)                                                         | Account         | ✅                 | ✅               |\n| [cloudflare_teams_location](https://www.terraform.io/docs/providers/cloudflare/r/teams_location)                                                 | Account         | ✅                 | ✅               |\n| [cloudflare_teams_proxy_endpoint](https://www.terraform.io/docs/providers/cloudflare/r/teams_proxy_endpoint)                                     | Account         | ✅                 | ✅               |\n| [cloudflare_teams_rule](https://www.terraform.io/docs/providers/cloudflare/r/teams_rule)                                                         | Account         | ✅                 | ✅               |\n| [cloudflare_tunnel](https://www.terraform.io/docs/providers/cloudflare/r/tunnel)                                                                 | Account         | ✅                 | ✅               |\n| [cloudflare_turnstile_widget](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/turnstile_widget)              | Account         | ✅                 | ✅               |\n| [cloudflare_url_normalization_settings](https://www.terraform.io/docs/providers/cloudflare/r/url_normalization_settings)                         | Zone            | ✅                 | ❌               |\n| [cloudflare_waf_group](https://www.terraform.io/docs/providers/cloudflare/r/waf_group)                                                           | Zone            | ❌                 | ❌               |\n| [cloudflare_waf_override](https://www.terraform.io/docs/providers/cloudflare/r/waf_override)                                                     | Zone            | ✅                 | ✅               |\n| [cloudflare_waf_package](https://www.terraform.io/docs/providers/cloudflare/r/waf_package)                                                       | Zone            | ✅                 | ❌               |\n| [cloudflare_waf_rule](https://www.terraform.io/docs/providers/cloudflare/r/waf_rule)                                                             | Zone            | ❌                 | ❌               |\n| [cloudflare_waiting_room](https://www.terraform.io/docs/providers/cloudflare/r/waiting_room)                                                     | Zone            | ✅                 | ✅               |\n| [cloudflare_worker_cron_trigger](https://www.terraform.io/docs/providers/cloudflare/r/worker_cron_trigger)                                       | Account         | ❌                 | ❌               |\n| [cloudflare_worker_route](https://www.terraform.io/docs/providers/cloudflare/r/worker_route)                                                     | Zone            | ✅                 | ✅               |\n| [cloudflare_worker_script](https://www.terraform.io/docs/providers/cloudflare/r/worker_script)                                                   | Account         | ❌                 | ❌               |\n| [cloudflare_workers_kv](https://www.terraform.io/docs/providers/cloudflare/r/workers_kv)                                                         | Account         | ❌                 | ❌               |\n| [cloudflare_workers_kv_namespace](https://www.terraform.io/docs/providers/cloudflare/r/workers_kv_namespace)                                     | Account         | ✅                 | ✅               |\n| [cloudflare_zone](https://www.terraform.io/docs/providers/cloudflare/r/zone)                                                                     | Account         | ✅                 | ✅               |\n| [cloudflare_zone_dnssec](https://www.terraform.io/docs/providers/cloudflare/r/zone_dnssec)                                                       | Zone            | ❌                 | ❌               |\n| [cloudflare_zone_lockdown](https://www.terraform.io/docs/providers/cloudflare/r/zone_lockdown)                                                   | Zone            | ✅                 | ✅               |\n| [cloudflare_zone_settings_override](https://www.terraform.io/docs/providers/cloudflare/r/zone_settings_override)                                 | Zone            | ✅                 | ❌               |\n\n## Build cf-terraforming Locally\n\n### Quickstart\nA quick and easy way to get it installed in the directory you’re currently working in is to run the following command.\n\n```bash\nGOBIN=$(pwd) go install -v github.com/cloudflare/cf-terraforming/cmd/cf-terraforming@master\n```\n\n### Manual Build\n#### Step 1: Clone the Repository\nTo clone the cf-terraforming repository from GitHub, run the following command:\n\n```bash\ngit clone https://github.com/cloudflare/cf-terraforming.git\ncd cf-terraforming\n```\n\n#### Step 2: Build cf-terraforming\nTo build cf-terraforming locally, run the following command in the terminal:\n\n```bash\ngo build -o cf-terraforming ./cmd/cf-terraforming\n```\nThis will compile the source code and create an executable named `cf-terraforming` in the directory you’re currently in.\nOnce the binary is built, you can run the following command to run cf-terraforming directly from the directory where \nthe binary was built.\n\n```bash\n./cf-terraforming --help\n```\n\n\n### Step 3: Add to PATH (Optional)\nThe following is completely optional and might differ depending on the OS you’re on.\nTo make `cf-terraforming` globally accessible from the terminal, move it to a directory included in your $PATH. \nFor example, you can move it to `/usr/local/bin/`\n\n```bash\nsudo mv cf-terraforming /usr/local/bin/\n```\nYou can also verify if the command is in your $PATH by typing:\n\n```bash\ncf-terraforming --help\n```\n\n## Testing\n\nTo ensure changes don't introduce regressions this tool uses an automated test\nsuite consisting of HTTP mocks via go-vcr and Terraform configuration files to\nassert against. The premise is that we mock the HTTP responses from the\nCloudflare API to ensure we don't need to create and delete real resources to\ntest. The Terraform files then allow us to build what the resource structure is\nexpected to look like and once the tool parses the API response, we can compare\nthat to the static file.\n\nSuggested local testing steps:\n\n1. Create a file with the basic provider configuration (do not commit this file)\nThe version should target the version of the provider. The latest versions are 5.x\n```bash\ncat \u003e main.tf \u003c\u003cEOF\nterraform {\n  required_providers {\n    cloudflare = {\n      source = \"cloudflare/cloudflare\"\n      version = \"(~\u003e 4 or ~\u003e 5)\"    \n    }\n  }\n}\nEOF\n```\n\n2. Initialize terraform\n\n```bash\nterraform init\n```\n\n3. Run tests (Cloudflare Install path should be path to repository)\n\n```bash\nmake test\n```\n\nIf you want to run a specific test case you can do so with the TESTARGS variable and -run flag\n\n```bash\nTESTARGS=\"-run '^TestResourceGeneration/cloudflare_teams_list'\" make test\n```\n\n## Updating VCR cassettes\n\nPeriodically, it is a good idea to recreate the VCR cassettes used in our\ntesting to ensure they haven't drifted from actual responses. To do this, you\nwill need to:\n\n- Create the appropriate resource in a Cloudflare account/zone you have access\n  to. This is required as overwriting cassettes makes real API requests on your\n  behalf.\n- Invoke the test suite with `OVERWRITE_VCR_CASSETTES=true`,\n  `CLOUDFLARE_DOMAIN=\u003creal domain here\u003e`, authentication credentials\n  (`CLOUDFLARE_EMAIL`, `CLOUDFLARE_KEY`, `CLOUDFLARE_API_TOKEN`) and the test\n  you want to update.\n  Example of updating the DNS CAA record test with a zone I own:\n\n```bash\n  OVERWRITE_VCR_CASSETTES=true \\\n    CLOUDFLARE_DOMAIN=\"terraform.cfapi.net\" \\\n    CLOUDFLARE_EMAIL=\"jb@example.com\" \\\n    CLOUDFLARE_API_KEY=\"...\" \\\n    TESTARGS=\"-run '^TestResourceGeneration/cloudflare_record_caa'\"  \\\n    make test\n```\n\n- Commit your changes and push them via a Pull Request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudflare%2Fcf-terraforming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudflare%2Fcf-terraforming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudflare%2Fcf-terraforming/lists"}