Terraform
You must generate an Access Key before getting started. All examples will utilize access_key_id and access_key_secret variables which represent the Access Key ID and Secret Access Key values you generated.
This example shows how to configure R2 with Terraform using the Cloudflare provider ↗.
With terraform ↗ installed, create main.tf and copy the content below replacing with your API Token.
terraform {  required_providers {    cloudflare = {      source = "cloudflare/cloudflare"      version = "~> 4"    }  }}
provider "cloudflare" {  api_token = "<YOUR_API_TOKEN>"}
resource "cloudflare_r2_bucket" "cloudflare-bucket" {  account_id = "<YOUR_ACCOUNT_ID>"  name       = "my-tf-test-bucket"  location   = "WEUR"}You can then use terraform plan to view the changes and terraform apply to apply changes.
Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Directory
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- © 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark