Skip to content

Commit f00db98

Browse files
Ak-skyocofaigh
andauthored
feat: added support for bucket-name-suffix in fscloud and bucket module (#550)
Co-authored-by: Conall Ó Cofaigh <ocofaigh@ie.ibm.com>
1 parent a79721c commit f00db98

File tree

6 files changed

+6
-2
lines changed

6 files changed

+6
-2
lines changed

modules/buckets/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ No resources.
7878

7979
| Name | Description | Type | Default | Required |
8080
|------|-------------|------|---------|:--------:|
81-
| <a name="input_bucket_configs"></a> [bucket\_configs](#input\_bucket\_configs) | Cloud Object Storage bucket configurations | <pre>list(object({<br> access_tags = optional(list(string), [])<br> bucket_name = string<br> kms_encryption_enabled = optional(bool, true)<br> kms_guid = optional(string, null)<br> kms_key_crn = optional(string, null)<br> skip_iam_authorization_policy = optional(bool, false)<br> management_endpoint_type = optional(string, "public")<br> cross_region_location = optional(string, null)<br> storage_class = optional(string, "smart")<br> region_location = optional(string, null)<br> resource_instance_id = string<br> force_delete = optional(bool, true)<br> single_site_location = optional(string, null)<br> hard_quota = optional(number, null)<br><br> activity_tracking = optional(object({<br> read_data_events = optional(bool, true)<br> write_data_events = optional(bool, true)<br> activity_tracker_crn = optional(string, null)<br> }))<br> archive_rule = optional(object({<br> enable = optional(bool, false)<br> days = optional(number, 20)<br> type = optional(string, "Glacier")<br> }))<br> expire_rule = optional(object({<br> enable = optional(bool, false)<br> days = optional(number, 365)<br> }))<br> metrics_monitoring = optional(object({<br> usage_metrics_enabled = optional(bool, true)<br> request_metrics_enabled = optional(bool, true)<br> metrics_monitoring_crn = optional(string, null)<br> }))<br> object_versioning = optional(object({<br> enable = optional(bool, false)<br> }))<br> retention_rule = optional(object({<br> default = optional(number, 90)<br> maximum = optional(number, 350)<br> minimum = optional(number, 90)<br> permanent = optional(bool, false)<br> }))<br> cbr_rules = optional(list(object({<br> description = string<br> account_id = string<br> rule_contexts = list(object({<br> attributes = optional(list(object({<br> name = string<br> value = string<br> }))) }))<br> enforcement_mode = string<br> tags = optional(list(object({<br> name = string<br> value = string<br> })), [])<br> operations = optional(list(object({<br> api_types = list(object({<br> api_type_id = string<br> }))<br> })))<br> })), [])<br><br> }))</pre> | n/a | yes |
81+
| <a name="input_bucket_configs"></a> [bucket\_configs](#input\_bucket\_configs) | Cloud Object Storage bucket configurations | <pre>list(object({<br> access_tags = optional(list(string), [])<br> add_bucket_name_suffix = optional(bool, false)<br> bucket_name = string<br> kms_encryption_enabled = optional(bool, true)<br> kms_guid = optional(string, null)<br> kms_key_crn = optional(string, null)<br> skip_iam_authorization_policy = optional(bool, false)<br> management_endpoint_type = optional(string, "public")<br> cross_region_location = optional(string, null)<br> storage_class = optional(string, "smart")<br> region_location = optional(string, null)<br> resource_instance_id = string<br> force_delete = optional(bool, true)<br> single_site_location = optional(string, null)<br> hard_quota = optional(number, null)<br><br> activity_tracking = optional(object({<br> read_data_events = optional(bool, true)<br> write_data_events = optional(bool, true)<br> activity_tracker_crn = optional(string, null)<br> }))<br> archive_rule = optional(object({<br> enable = optional(bool, false)<br> days = optional(number, 20)<br> type = optional(string, "Glacier")<br> }))<br> expire_rule = optional(object({<br> enable = optional(bool, false)<br> days = optional(number, 365)<br> }))<br> metrics_monitoring = optional(object({<br> usage_metrics_enabled = optional(bool, true)<br> request_metrics_enabled = optional(bool, true)<br> metrics_monitoring_crn = optional(string, null)<br> }))<br> object_versioning = optional(object({<br> enable = optional(bool, false)<br> }))<br> retention_rule = optional(object({<br> default = optional(number, 90)<br> maximum = optional(number, 350)<br> minimum = optional(number, 90)<br> permanent = optional(bool, false)<br> }))<br> cbr_rules = optional(list(object({<br> description = string<br> account_id = string<br> rule_contexts = list(object({<br> attributes = optional(list(object({<br> name = string<br> value = string<br> }))) }))<br> enforcement_mode = string<br> tags = optional(list(object({<br> name = string<br> value = string<br> })), [])<br> operations = optional(list(object({<br> api_types = list(object({<br> api_type_id = string<br> }))<br> })))<br> })), [])<br><br> }))</pre> | n/a | yes |
8282

8383
### Outputs
8484

modules/buckets/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ module "buckets" {
2020
source = "../../"
2121
bucket_name = each.value.bucket_name
2222
create_cos_instance = false
23+
add_bucket_name_suffix = each.value.add_bucket_name_suffix
2324
skip_iam_authorization_policy = each.value.skip_iam_authorization_policy
2425
existing_cos_instance_id = each.value.resource_instance_id
2526
region = each.value.region_location

modules/buckets/variables.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
variable "bucket_configs" {
99
type = list(object({
1010
access_tags = optional(list(string), [])
11+
add_bucket_name_suffix = optional(bool, false)
1112
bucket_name = string
1213
kms_encryption_enabled = optional(bool, true)
1314
kms_guid = optional(string, null)

modules/fscloud/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ No resources.
108108
| Name | Description | Type | Default | Required |
109109
|------|-------------|------|---------|:--------:|
110110
| <a name="input_access_tags"></a> [access\_tags](#input\_access\_tags) | A list of access tags to apply to the cos instance created by the module, see https://cloud.ibm.com/docs/account?topic=account-access-tags-tutorial for more details | `list(string)` | `[]` | no |
111-
| <a name="input_bucket_configs"></a> [bucket\_configs](#input\_bucket\_configs) | Cloud Object Storage bucket configurations | <pre>list(object({<br> access_tags = optional(list(string), [])<br> bucket_name = string<br> kms_encryption_enabled = optional(bool, true)<br> kms_guid = optional(string, null)<br> kms_key_crn = string<br> skip_iam_authorization_policy = optional(bool, false)<br> management_endpoint_type = string<br> cross_region_location = optional(string, null)<br> storage_class = optional(string, "smart")<br> region_location = optional(string, null)<br> resource_instance_id = optional(string, null)<br> force_delete = optional(bool, true)<br> single_site_location = optional(string, null)<br> hard_quota = optional(number, null)<br><br> activity_tracking = optional(object({<br> read_data_events = optional(bool, true)<br> write_data_events = optional(bool, true)<br> activity_tracker_crn = optional(string, null)<br> }))<br> archive_rule = optional(object({<br> enable = optional(bool, false)<br> days = optional(number, 20)<br> type = optional(string, "Glacier")<br> }))<br> expire_rule = optional(object({<br> enable = optional(bool, false)<br> days = optional(number, 365)<br> }))<br> metrics_monitoring = optional(object({<br> usage_metrics_enabled = optional(bool, true)<br> request_metrics_enabled = optional(bool, true)<br> metrics_monitoring_crn = optional(string, null)<br> }))<br> object_versioning = optional(object({<br> enable = optional(bool, false)<br> }))<br> retention_rule = optional(object({<br> default = optional(number, 90)<br> maximum = optional(number, 350)<br> minimum = optional(number, 90)<br> permanent = optional(bool, false)<br> }))<br> cbr_rules = optional(list(object({<br> description = string<br> account_id = string<br> rule_contexts = list(object({<br> attributes = optional(list(object({<br> name = string<br> value = string<br> }))) }))<br> enforcement_mode = string<br> tags = optional(list(object({<br> name = string<br> value = string<br> })), [])<br> operations = optional(list(object({<br> api_types = list(object({<br> api_type_id = string<br> }))<br> })))<br> })), [])<br><br> }))</pre> | `[]` | no |
111+
| <a name="input_bucket_configs"></a> [bucket\_configs](#input\_bucket\_configs) | Cloud Object Storage bucket configurations | <pre>list(object({<br> access_tags = optional(list(string), [])<br> add_bucket_name_suffix = optional(bool, false)<br> bucket_name = string<br> kms_encryption_enabled = optional(bool, true)<br> kms_guid = optional(string, null)<br> kms_key_crn = string<br> skip_iam_authorization_policy = optional(bool, false)<br> management_endpoint_type = string<br> cross_region_location = optional(string, null)<br> storage_class = optional(string, "smart")<br> region_location = optional(string, null)<br> resource_instance_id = optional(string, null)<br> force_delete = optional(bool, true)<br> single_site_location = optional(string, null)<br> hard_quota = optional(number, null)<br><br> activity_tracking = optional(object({<br> read_data_events = optional(bool, true)<br> write_data_events = optional(bool, true)<br> activity_tracker_crn = optional(string, null)<br> }))<br> archive_rule = optional(object({<br> enable = optional(bool, false)<br> days = optional(number, 20)<br> type = optional(string, "Glacier")<br> }))<br> expire_rule = optional(object({<br> enable = optional(bool, false)<br> days = optional(number, 365)<br> }))<br> metrics_monitoring = optional(object({<br> usage_metrics_enabled = optional(bool, true)<br> request_metrics_enabled = optional(bool, true)<br> metrics_monitoring_crn = optional(string, null)<br> }))<br> object_versioning = optional(object({<br> enable = optional(bool, false)<br> }))<br> retention_rule = optional(object({<br> default = optional(number, 90)<br> maximum = optional(number, 350)<br> minimum = optional(number, 90)<br> permanent = optional(bool, false)<br> }))<br> cbr_rules = optional(list(object({<br> description = string<br> account_id = string<br> rule_contexts = list(object({<br> attributes = optional(list(object({<br> name = string<br> value = string<br> }))) }))<br> enforcement_mode = string<br> tags = optional(list(object({<br> name = string<br> value = string<br> })), [])<br> operations = optional(list(object({<br> api_types = list(object({<br> api_type_id = string<br> }))<br> })))<br> })), [])<br><br> }))</pre> | `[]` | no |
112112
| <a name="input_cos_instance_name"></a> [cos\_instance\_name](#input\_cos\_instance\_name) | The name to give the cloud object storage instance that will be provisioned by this module. Only required if 'create\_cos\_instance' is true. | `string` | `null` | no |
113113
| <a name="input_cos_plan"></a> [cos\_plan](#input\_cos\_plan) | Plan to be used for creating cloud object storage instance. Only used if 'create\_cos\_instance' it true. | `string` | `"standard"` | no |
114114
| <a name="input_cos_tags"></a> [cos\_tags](#input\_cos\_tags) | Optional list of tags to be added to cloud object storage instance. Only used if 'create\_cos\_instance' it true. | `list(string)` | `[]` | no |

modules/fscloud/main.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ locals {
5656
single_site_location = config.single_site_location
5757
force_delete = config.force_delete
5858
hard_quota = config.hard_quota
59+
add_bucket_name_suffix = config.add_bucket_name_suffix
5960
}
6061
]
6162
}

modules/fscloud/variables.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ variable "cos_plan" {
7575
variable "bucket_configs" {
7676
type = list(object({
7777
access_tags = optional(list(string), [])
78+
add_bucket_name_suffix = optional(bool, false)
7879
bucket_name = string
7980
kms_encryption_enabled = optional(bool, true)
8081
kms_guid = optional(string, null)

0 commit comments

Comments
 (0)