📈 GH Trending Explorer 🎲 Surprise me

← all repos

terraform-google-modules / terraform-google-cloud-storage

git clone https://github.com/terraform-google-modules/terraform-google-cloud-storage.git v12.4.1 · 15d ago

Creates one or more Cloud Storage buckets and assigns basic permissions on them to arbitrary users

+~0
stars, 24h · #23,727
+~0
stars, 7 days · #32,275
+~0
stars, 30 days · #35,904
207
★ total
609
forks · 6 open issues

Star history (as recorded here)

2026-10-20 · 207 ★ 2026-10-23 · 207 ★
LanguageHCL
LicenseApache-2.0
Created2019-05-10 (7y ago)
Last push2d ago
Watchers33
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-21 — #5 weekly in hcl
  • 2026-10-20 — #5 weekly in hcl

GitHub topics

Links

README excerpt
# Terraform Google Cloud Storage Module
This module makes it easy to create one or more GCS buckets, and assign basic permissions on them to arbitrary users.
The resources/services/activations/deletions that this module will create/trigger are:
- One or more GCS buckets
- Zero or more IAM bindings for those buckets
If you only wish to create a single bucket, consider using the
simple bucket submodule instead.
## Compatibility
This module is meant for use with Terraform 0.13+ and tested using Terraform 1.0+. If you find incompatibilities using Terraform >=0.13, please open an issue.
 If you haven't
upgraded and need a Terraform
0.12.x-compatible version of this module, the last released version
intended for Terraform 0.12.x is v1.7.1.
## Usage
Basic usage of this module is as follows:
 [code] 
Functional examples are included in the
examples directory.
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| admins | IAM-style members who will be granted roles/storage.objectAdmin on all buckets. | `list(string)` | `[]` | no |
| autoclass | Optional map of lowercase unprefixed bucket name => boolean, defaults to false. | `map(bool)` | `{}` | no |
| bucket\_admins | Map of lowercase unprefixed name => comma-delimited IAM-style per-bucket admins. | `map(string)` | `{}` | no |
| bucket\_creators | Map of lowercase unprefixed name => comma-delimited IAM-style per-bucket creators. | `map(string)` | `{}` | no |
| bucket\_hmac\_key\_admins | Map of lowercase unprefixed name => comma-delimited IAM-style per-bucket HMAC Key admins. | `map(string)` | `{}` | no |
| bucket\_lifecycle\_rules | Additional lifecycle\_rules for specific buckets. Map of lowercase unprefixed name => list of lifecycle rules to configure. | map(set(object({ # Object with keys: # - type - The type of the action of this Lifecycle Rule. Supported values: Delete and SetStorageClass. # - storage_class - (Required if action type is SetStorageClass) The target Storage Class of objects affected by this Lifecycle Rule. action = object({ type = string storage_class = optional(string) }) # Object with keys: # - age - (Optional) Minimum age of an object in days to satisfy this condition. # - send_age_if_zero - (Optional) While set true, num_newer_versions value will be sent in the request even for zero value of the field. # - created_before - (Optional) Creation date of an object in RFC 3339 (e.g. 2017-06-13) to satisfy this condition. # - with_state - (Optional) Match to live and/or archived objects. Supported values include: "LIVE", "ARCHIVED", "ANY". # - matches_storage_class - (Optional) Storage Class of objects to satisfy this condition. Supported values include: MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, STANDARD, DURABLE_REDUCED_AVAILABILITY. # - matches_prefix - (Optional) One or more matching name prefixes to satisfy this condition. # - matches_suffix - (Optional) One or more matching name suffixes to satisfy this condition # -