-
Notifications
You must be signed in to change notification settings - Fork 910
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into glb-backend-service-load-balancing-scheme
- Loading branch information
Showing
12 changed files
with
215 additions
and
241 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
# Google Cloud Storage Module | ||
|
||
## Example | ||
|
||
```hcl | ||
|
@@ -41,12 +42,10 @@ module "bucket" { | |
iam = { | ||
"roles/storage.admin" = ["group:[email protected]"] | ||
} | ||
retention_policy = { | ||
retention_period = 100 | ||
is_locked = true | ||
} | ||
logging_config = { | ||
log_bucket = var.bucket | ||
log_object_prefix = null | ||
|
@@ -63,32 +62,26 @@ module "bucket" { | |
project_id = "myproject" | ||
prefix = "test" | ||
name = "my-bucket" | ||
iam = { | ||
"roles/storage.admin" = ["group:[email protected]"] | ||
} | ||
lifecycle_rule = { | ||
action = { | ||
type = "SetStorageClass" | ||
storage_class = "STANDARD" | ||
} | ||
condition = { | ||
age = 30 | ||
created_before = null | ||
with_state = null | ||
matches_storage_class = null | ||
num_newer_versions = null | ||
custom_time_before = null | ||
days_since_custom_time = null | ||
days_since_noncurrent_time = null | ||
noncurrent_time_before = null | ||
lifecycle_rules = { | ||
lr-0 = { | ||
action = { | ||
type = "SetStorageClass" | ||
storage_class = "STANDARD" | ||
} | ||
condition = { | ||
age = 30 | ||
} | ||
} | ||
} | ||
} | ||
# tftest modules=1 resources=2 | ||
``` | ||
|
||
### Minimal example with GCS notifications | ||
|
||
```hcl | ||
module "bucket-gcs-notification" { | ||
source = "./fabric/modules/gcs" | ||
|
@@ -112,23 +105,23 @@ module "bucket-gcs-notification" { | |
|
||
| name | description | type | required | default | | ||
|---|---|:---:|:---:|:---:| | ||
| [name](variables.tf#L89) | Bucket name suffix. | <code>string</code> | ✓ | | | ||
| [project_id](variables.tf#L117) | Bucket project id. | <code>string</code> | ✓ | | | ||
| [cors](variables.tf#L17) | CORS configuration for the bucket. Defaults to null. | <code title="object({ origin = list(string) method = list(string) response_header = list(string) max_age_seconds = number })">object({…})</code> | | <code>null</code> | | ||
| [name](variables.tf#L116) | Bucket name suffix. | <code>string</code> | ✓ | | | ||
| [project_id](variables.tf#L145) | Bucket project id. | <code>string</code> | ✓ | | | ||
| [cors](variables.tf#L17) | CORS configuration for the bucket. Defaults to null. | <code title="object({ origin = optional(list(string)) method = optional(list(string)) response_header = optional(list(string)) max_age_seconds = optional(number) })">object({…})</code> | | <code>null</code> | | ||
| [encryption_key](variables.tf#L28) | KMS key that will be used for encryption. | <code>string</code> | | <code>null</code> | | ||
| [force_destroy](variables.tf#L34) | Optional map to set force destroy keyed by name, defaults to false. | <code>bool</code> | | <code>false</code> | | ||
| [iam](variables.tf#L40) | IAM bindings in {ROLE => [MEMBERS]} format. | <code>map(list(string))</code> | | <code>{}</code> | | ||
| [labels](variables.tf#L46) | Labels to be attached to all buckets. | <code>map(string)</code> | | <code>{}</code> | | ||
| [lifecycle_rule](variables.tf#L52) | Bucket lifecycle rule. | <code title="object({ action = object({ type = string storage_class = string }) condition = object({ age = number created_before = string with_state = string matches_storage_class = list(string) num_newer_versions = string custom_time_before = string days_since_custom_time = string days_since_noncurrent_time = string noncurrent_time_before = string }) })">object({…})</code> | | <code>null</code> | | ||
| [location](variables.tf#L74) | Bucket location. | <code>string</code> | | <code>"EU"</code> | | ||
| [logging_config](variables.tf#L80) | Bucket logging configuration. | <code title="object({ log_bucket = string log_object_prefix = string })">object({…})</code> | | <code>null</code> | | ||
| [notification_config](variables.tf#L94) | GCS Notification configuration. | <code title="object({ enabled = bool payload_format = string topic_name = string sa_email = string event_types = list(string) custom_attributes = map(string) })">object({…})</code> | | <code>null</code> | | ||
| [prefix](variables.tf#L107) | Optional prefix used to generate the bucket name. | <code>string</code> | | <code>null</code> | | ||
| [retention_policy](variables.tf#L122) | Bucket retention policy. | <code title="object({ retention_period = number is_locked = bool })">object({…})</code> | | <code>null</code> | | ||
| [storage_class](variables.tf#L131) | Bucket storage class. | <code>string</code> | | <code>"MULTI_REGIONAL"</code> | | ||
| [uniform_bucket_level_access](variables.tf#L141) | Allow using object ACLs (false) or not (true, this is the recommended behavior) , defaults to true (which is the recommended practice, but not the behavior of storage API). | <code>bool</code> | | <code>true</code> | | ||
| [versioning](variables.tf#L147) | Enable versioning, defaults to false. | <code>bool</code> | | <code>false</code> | | ||
| [website](variables.tf#L153) | Bucket website. | <code title="object({ main_page_suffix = string not_found_page = string })">object({…})</code> | | <code>null</code> | | ||
| [lifecycle_rules](variables.tf#L52) | Bucket lifecycle rule. | <code title="map(object({ action = object({ type = string storage_class = optional(string) }) condition = object({ age = optional(number) created_before = optional(string) custom_time_before = optional(string) days_since_custom_time = optional(number) days_since_noncurrent_time = optional(number) matches_prefix = optional(list(string)) matches_storage_class = optional(list(string)) # STANDARD, MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, DURABLE_REDUCED_AVAILABILITY matches_suffix = optional(list(string)) noncurrent_time_before = optional(string) num_newer_versions = optional(number) with_state = optional(string) # "LIVE", "ARCHIVED", "ANY" }) }))">map(object({…}))</code> | | <code>{}</code> | | ||
| [location](variables.tf#L101) | Bucket location. | <code>string</code> | | <code>"EU"</code> | | ||
| [logging_config](variables.tf#L107) | Bucket logging configuration. | <code title="object({ log_bucket = string log_object_prefix = optional(string) })">object({…})</code> | | <code>null</code> | | ||
| [notification_config](variables.tf#L121) | GCS Notification configuration. | <code title="object({ enabled = bool payload_format = string topic_name = string sa_email = string event_types = optional(list(string)) custom_attributes = optional(map(string)) object_name_prefix = optional(string) })">object({…})</code> | | <code>null</code> | | ||
| [prefix](variables.tf#L135) | Optional prefix used to generate the bucket name. | <code>string</code> | | <code>null</code> | | ||
| [retention_policy](variables.tf#L150) | Bucket retention policy. | <code title="object({ retention_period = number is_locked = optional(bool) })">object({…})</code> | | <code>null</code> | | ||
| [storage_class](variables.tf#L159) | Bucket storage class. | <code>string</code> | | <code>"MULTI_REGIONAL"</code> | | ||
| [uniform_bucket_level_access](variables.tf#L169) | Allow using object ACLs (false) or not (true, this is the recommended behavior) , defaults to true (which is the recommended practice, but not the behavior of storage API). | <code>bool</code> | | <code>true</code> | | ||
| [versioning](variables.tf#L175) | Enable versioning, defaults to false. | <code>bool</code> | | <code>false</code> | | ||
| [website](variables.tf#L181) | Bucket website. | <code title="object({ main_page_suffix = optional(string) not_found_page = optional(string) })">object({…})</code> | | <code>null</code> | | ||
|
||
## Outputs | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
force_destroy = true | ||
labels = { environment = "test" } | ||
logging_config = { | ||
log_bucket = "foo" | ||
} | ||
name = "test" | ||
project_id = "test-project" | ||
retention_policy = { | ||
retention_period = 5 | ||
is_locked = false | ||
} | ||
storage_class = "MULTI_REGIONAL" | ||
versioning = true |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.