Skip to content

Commit ce92d6f

Browse files
authored
fix: updated default value of "add_bucket_name_suffix" to true in fscloud submodule (#1003)
1 parent f8c2628 commit ce92d6f

File tree

4 files changed

+15
-8
lines changed

4 files changed

+15
-8
lines changed

.secrets.baseline

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "go.sum|^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2025-10-27T07:59:48Z",
6+
"generated_at": "2025-11-18T06:26:49Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"
@@ -128,7 +128,7 @@
128128
"hashed_secret": "3e4bdbe0b80e63c22b178576e906810777387b50",
129129
"is_secret": false,
130130
"is_verified": false,
131-
"line_number": 265,
131+
"line_number": 272,
132132
"type": "Secret Keyword",
133133
"verified_result": null
134134
}

modules/fscloud/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ No resources.
105105
| Name | Description | Type | Default | Required |
106106
|------|-------------|------|---------|:--------:|
107107
| <a name="input_access_tags"></a> [access\_tags](#input\_access\_tags) | A list of access tags to apply to the Object Storage instance created by the module. [Learn more](https://cloud.ibm.com/docs/account?topic=account-access-tags-tutorial). | `list(string)` | `[]` | no |
108-
| <a name="input_bucket_configs"></a> [bucket\_configs](#input\_bucket\_configs) | 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/> object_locking_enabled = optional(bool, false)<br/> object_lock_duration_days = optional(number, 0)<br/> object_lock_duration_years = optional(number, 0)<br/><br/> activity_tracking = optional(object({<br/> read_data_events = optional(bool, true)<br/> write_data_events = optional(bool, true)<br/> management_events = optional(bool, true)<br/> }))<br/> archive_rule = optional(object({<br/> enable = optional(bool, false)<br/> days = optional(number, null)<br/> type = optional(string, "Glacier")<br/> archive_filter_prefix = optional(string, null)<br/> }))<br/> expire_rule = optional(object({<br/> enable = optional(bool, false)<br/> days = optional(number, null)<br/> expire_filter_prefix = optional(string, null)<br/> }))<br/> noncurrent_version_expiration_rule = optional(object({<br/> enable = optional(bool, false)<br/> days = optional(number, null)<br/> noncurrent_version_expiration_filter_prefix = optional(string, null)<br/> }))<br/> abort_multipart_enabled_rule = optional(object({<br/> enable = optional(bool, false)<br/> days = optional(number, null)<br/> abort_multipart_filter_prefix = optional(string, null)<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 |
108+
| <a name="input_bucket_configs"></a> [bucket\_configs](#input\_bucket\_configs) | Object Storage bucket configurations | <pre>list(object({<br/> access_tags = optional(list(string), [])<br/> add_bucket_name_suffix = optional(bool, true)<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/> object_locking_enabled = optional(bool, false)<br/> object_lock_duration_days = optional(number, 0)<br/> object_lock_duration_years = optional(number, 0)<br/><br/> activity_tracking = optional(object({<br/> read_data_events = optional(bool, true)<br/> write_data_events = optional(bool, true)<br/> management_events = optional(bool, true)<br/> }))<br/> archive_rule = optional(object({<br/> enable = optional(bool, false)<br/> days = optional(number, null)<br/> type = optional(string, "Glacier")<br/> archive_filter_prefix = optional(string, null)<br/> }))<br/> expire_rule = optional(object({<br/> enable = optional(bool, false)<br/> days = optional(number, null)<br/> expire_filter_prefix = optional(string, null)<br/> }))<br/> noncurrent_version_expiration_rule = optional(object({<br/> enable = optional(bool, false)<br/> days = optional(number, null)<br/> noncurrent_version_expiration_filter_prefix = optional(string, null)<br/> }))<br/> abort_multipart_enabled_rule = optional(object({<br/> enable = optional(bool, false)<br/> days = optional(number, null)<br/> abort_multipart_filter_prefix = optional(string, null)<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 |
109109
| <a name="input_cos_instance_name"></a> [cos\_instance\_name](#input\_cos\_instance\_name) | The name to give the Object Storage instance provisioned by this module. Applies only if `create_cos_instance` is true. | `string` | `null` | no |
110110
| <a name="input_cos_plan"></a> [cos\_plan](#input\_cos\_plan) | The plan to use when Object Storage instances are created. Possible values: `standard`, `cos-one-rate-plan`. Applies only if `create_cos_instance` is true. For more details refer https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-provision. | `string` | `"standard"` | no |
111111
| <a name="input_cos_tags"></a> [cos\_tags](#input\_cos\_tags) | The list of tags to add to the Object Storage instance. Applies only if `create_cos_instance` is true. | `list(string)` | `[]` | no |

modules/fscloud/variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ variable "cos_plan" {
6262
variable "bucket_configs" {
6363
type = list(object({
6464
access_tags = optional(list(string), [])
65-
add_bucket_name_suffix = optional(bool, false)
65+
add_bucket_name_suffix = optional(bool, true)
6666
bucket_name = string
6767
kms_encryption_enabled = optional(bool, true)
6868
kms_guid = optional(string, null)

tests/pr_test.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -198,14 +198,21 @@ func TestRunFSCloudExample(t *testing.T) {
198198

199199
bearerToken := getIAMBearerToken(apiKey)
200200
for bucket := range outputs["buckets"].(map[string]interface{}) {
201+
bucketDetails := outputs["buckets"].(map[string]interface{})[bucket].(map[string]interface{})
202+
bucketName := bucket
201203

202-
publicEndpoint := outputs["buckets"].(map[string]interface{})[bucket].(map[string]interface{})["s3_endpoint_public"].(string)
203-
privateEndpoint := outputs["buckets"].(map[string]interface{})[bucket].(map[string]interface{})["s3_endpoint_private"].(string)
204-
directEndpoint := outputs["buckets"].(map[string]interface{})[bucket].(map[string]interface{})["s3_endpoint_direct"].(string)
204+
if nameVal, ok := bucketDetails["bucket_name"].(string); ok && nameVal != "" {
205+
bucketName = nameVal
206+
}
207+
208+
publicEndpoint := bucketDetails["s3_endpoint_public"].(string)
209+
privateEndpoint := bucketDetails["s3_endpoint_private"].(string)
210+
directEndpoint := bucketDetails["s3_endpoint_direct"].(string)
205211
endpoints := []string{publicEndpoint, privateEndpoint, directEndpoint}
212+
206213
for _, endpoint := range endpoints {
207214
// Create a GET request to list objects in the bucket
208-
buckReq, buckErr := http.NewRequest("GET", fmt.Sprintf("https://%s.%s", bucket, endpoint), nil)
215+
buckReq, buckErr := http.NewRequest("GET", fmt.Sprintf("https://%s.%s", bucketName, endpoint), nil)
209216
if buckErr != nil {
210217
fmt.Println("Error creating request:", err)
211218
continue

0 commit comments

Comments
 (0)