Google Cloud Storage Module
TODO
- add support for defining notifications
Example
module "buckets" {
source = "./modules/gcs"
project_id = "myproject"
prefix = "test"
names = ["bucket-one", "bucket-two"]
bucket_policy_only = {
bucket-one = false
}
iam_members = {
bucket-two = {
"roles/storage.admin" = ["group:storage@example.com"]
}
}
iam_roles = {
bucket-two = ["roles/storage.admin"]
}
}
Variables
| name | description | type | required | default |
|---|---|---|---|---|
| names | Bucket name suffixes. | list(string) |
✓ | |
| project_id | Bucket project id. | string |
✓ | |
| bucket_policy_only | Optional map to disable object ACLS keyed by name, defaults to true. | map(bool) |
{} |
|
| force_destroy | Optional map to set force destroy keyed by name, defaults to false. | map(bool) |
{} |
|
| iam_members | IAM members keyed by bucket name and role. | map(map(list(string))) |
null |
|
| iam_roles | IAM roles keyed by bucket name. | map(list(string)) |
null |
|
| labels | Labels to be attached to all buckets. | map(string) |
{} |
|
| location | Bucket location. | string |
EU |
|
| prefix | Prefix used to generate the bucket name. | string |
|
|
| storage_class | Bucket storage class. | string |
MULTI_REGIONAL |
|
| versioning | Optional map to set versioning keyed by name, defaults to false. | map(bool) |
{} |
Outputs
| name | description | sensitive |
|---|---|---|
| bucket | Bucket resource (for single use). | |
| buckets | Bucket resources. | |
| name | Bucket name (for single use). | |
| names | Bucket names. | |
| names_list | List of bucket names. | |
| url | Bucket URL (for single use). | |
| urls | Bucket URLs. | |
| urls_list | List of bucket URLs. |