this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 48 lines 1.2 kB view raw
1package main 2 3import ( 4 "context" 5 "flag" 6 "log" 7 8 "github.com/cloudflare/cloudflare-go" 9) 10 11func main() { 12 var apiToken, accountID, bucket string 13 flag.StringVar(&apiToken, "api-token", "", "Cloudflare account ID") 14 flag.StringVar(&accountID, "account-id", "", "Cloudflare account ID") 15 flag.StringVar(&bucket, "bucket", "", "Cloudflare R2 bucket name") 16 flag.Parse() 17 18 if apiToken == "" || accountID == "" || bucket == "" { 19 log.Fatal("--api-token, --account-id and --bucket must be provided") 20 } 21 22 resourceContainer := cloudflare.AccountIdentifier(accountID) 23 ctx := context.Background() 24 25 api, err := cloudflare.NewWithAPIToken(apiToken) 26 if err != nil { 27 log.Fatalf("failed to create Cloudflare API client: %v", err) 28 } 29 30 existingBucket, err := api.GetR2Bucket(ctx, resourceContainer, bucket) 31 if err == nil { 32 log.Printf("bucket %q already exists: %+v\n", bucket, existingBucket) 33 return 34 } 35 36 createdBucket, err := api.CreateR2Bucket( 37 ctx, 38 resourceContainer, 39 cloudflare.CreateR2BucketParameters{ 40 Name: bucket, 41 }, 42 ) 43 if err != nil { 44 log.Fatalf("failed to create bucket: %v", err) 45 } 46 47 log.Printf("created bucket: %+v\n", createdBucket) 48}