terraform-serverless/media.tf (39 lines of code) (raw):

resource "google_storage_bucket" "media" { name = local.bucket_name } resource "google_storage_bucket_object" "cats" { for_each = fileset("${path.module}/${local.bucket_folder}", "*") name = each.value source = "${path.module}/${local.bucket_folder}/${each.value}" bucket = google_storage_bucket.media.name } resource "google_storage_bucket_iam_policy" "media" { bucket = google_storage_bucket.media.name # Generated with assistance from terraformer policy_data = <<POLICY { "bindings": [ { "members": [ "projectEditor:${var.project}", "projectOwner:${var.project}" ], "role": "roles/storage.legacyBucketOwner" }, { "members": [ "projectViewer:${var.project}", "${local.cats_worker_sa}" ], "role": "roles/storage.legacyBucketReader" }, { "members": [ "projectViewer:${var.project}", "${local.cats_worker_sa}" ], "role": "roles/storage.legacyObjectReader" } ] } POLICY }