R2
R2Buckets
resource cloudflare_r2_bucket
optional
cloudflare_r2_bucket
resource "cloudflare_r2_bucket" "example_r2_bucket" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
name = "example-bucket"
location = "apac"
storage_class = "Standard"
}
data cloudflare_r2_bucket
computed
cloudflare_r2_bucket
data "cloudflare_r2_bucket" "example_r2_bucket" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
}
R2BucketsLifecycle
resource cloudflare_r2_bucket_lifecycle
cloudflare_r2_bucket_lifecycle
resource "cloudflare_r2_bucket_lifecycle" "example_r2_bucket_lifecycle" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
rules = [{
id = "Expire all objects older than 24 hours"
conditions = {
prefix = "prefix"
}
enabled = true
abort_multipart_uploads_transition = {
condition = {
max_age = 0
type = "Age"
}
}
delete_objects_transition = {
condition = {
max_age = 0
type = "Age"
}
}
storage_class_transitions = [{
condition = {
max_age = 0
type = "Age"
}
storage_class = "InfrequentAccess"
}]
}]
}
data cloudflare_r2_bucket_lifecycle
cloudflare_r2_bucket_lifecycle
data "cloudflare_r2_bucket_lifecycle" "example_r2_bucket_lifecycle" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
}
R2BucketsCORS
resource cloudflare_r2_bucket_cors
cloudflare_r2_bucket_cors
resource "cloudflare_r2_bucket_cors" "example_r2_bucket_cors" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
rules = [{
allowed = {
methods = ["GET"]
origins = ["http://localhost:3000"]
headers = ["x-requested-by"]
}
id = "Allow Local Development"
expose_headers = ["Content-Encoding"]
max_age_seconds = 3600
}]
}
R2BucketsDomainsCustom
resource cloudflare_r2_custom_domain
required
optional
cloudflare_r2_custom_domain
resource "cloudflare_r2_custom_domain" "example_r2_custom_domain" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
domain = "prefix.example-domain.com"
enabled = true
zone_id = "36ca64a6d92827b8a6b90be344bb1bfd"
ciphers = ["string"]
min_tls = "1.0"
}
data cloudflare_r2_custom_domain
required
cloudflare_r2_custom_domain
data "cloudflare_r2_custom_domain" "example_r2_custom_domain" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
domain = "example-domain/custom-domain.com"
}
R2BucketsDomainsManaged
resource cloudflare_r2_managed_domain
required
cloudflare_r2_managed_domain
resource "cloudflare_r2_managed_domain" "example_r2_managed_domain" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
enabled = true
}
R2BucketsEvent Notifications
resource cloudflare_r2_bucket_event_notification
required
cloudflare_r2_bucket_event_notification
resource "cloudflare_r2_bucket_event_notification" "example_r2_bucket_event_notification" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
queue_id = "queue_id"
rules = [{
actions = ["PutObject", "CopyObject"]
description = "Notifications from source bucket to queue"
prefix = "img/"
suffix = ".jpeg"
}]
}
data cloudflare_r2_bucket_event_notification
required
cloudflare_r2_bucket_event_notification
data "cloudflare_r2_bucket_event_notification" "example_r2_bucket_event_notification" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
queue_id = "queue_id"
}
R2BucketsLocks
resource cloudflare_r2_bucket_lock
cloudflare_r2_bucket_lock
resource "cloudflare_r2_bucket_lock" "example_r2_bucket_lock" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
rules = [{
id = "Lock all objects for 24 hours"
condition = {
max_age_seconds = 100
type = "Age"
}
enabled = true
prefix = "prefix"
}]
}
R2BucketsSippy
resource cloudflare_r2_bucket_sippy
cloudflare_r2_bucket_sippy
resource "cloudflare_r2_bucket_sippy" "example_r2_bucket_sippy" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
destination = {
access_key_id = "accessKeyId"
r2_bucket_sippy_provider = "r2"
secret_access_key = "secretAccessKey"
}
source = {
access_key_id = "accessKeyId"
bucket = "bucket"
r2_bucket_sippy_provider = "aws"
region = "region"
secret_access_key = "secretAccessKey"
}
}
data cloudflare_r2_bucket_sippy
cloudflare_r2_bucket_sippy
data "cloudflare_r2_bucket_sippy" "example_r2_bucket_sippy" {
account_id = "023e105f4ecef8ad9ca31a8372d0c353"
bucket_name = "example-bucket"
}