Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ You need the following permissions to run this module.
| <a name="input_object_versioning_enabled"></a> [object\_versioning\_enabled](#input\_object\_versioning\_enabled) | Whether to enable object versioning to keep multiple versions of an object in a bucket. Can't be used with retention rule. Applies only if `create_cos_bucket` is set to `true`. | `bool` | `false` | no |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
| <a name="input_object_versioning_enabled"></a> [object\_versioning\_enabled](#input\_object\_versioning\_enabled) | Whether to enable object versioning to keep multiple versions of an object in a bucket. Can't be used with retention rule. Applies only if `create_cos_bucket` is set to `true`. | `bool` | `false` | no |
| <a name="input_resource_group_id"></a> [resource_group_id](#input_resource_group_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
| <a name="input_object_versioning_enabled"></a> [object\_versioning\_enabled](#input\_object\_versioning\_enabled) | Whether to enable object versioning to keep multiple versions of an object in a bucket. Can't be used with retention rule. Applies only if `create_cos_bucket` is set to `true`. | `bool` | `false` | no |
| <a name="input_resource_group_id"></a> [resource_group_id](#input_resource_group_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
| <a name="input_object_versioning_enabled"></a> [object\_versioning\_enabled](#input\_object\_versioning\_enabled) | Whether to enable object versioning to keep multiple versions of an object in a bucket. Can't be used with retention rule. Applies only if `create_cos_bucket` is set to `true`. | `bool` | `false` | no |
| <a name="input_resource_group_id"></a> [resource_group_id](#input_resource_group_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
| <a name="input_object_versioning_enabled"></a> [object\_versioning\_enabled](#input\_object\_versioning\_enabled) | Whether to enable object versioning to keep multiple versions of an object in a bucket. Can't be used with retention rule. Applies only if `create_cos_bucket` is set to `true`. | `bool` | `false` | no |
| <a name="input_resource_group_id"></a> [resource_group_id](#input_resource_group_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

| <a name="input_region"></a> [region](#input\_region) | The region to provision the bucket. If specified, set `cross_region_location` and `single_site_location` to `null`. | `string` | `"us-south"` | no |
| <a name="input_request_metrics_enabled"></a> [request\_metrics\_enabled](#input\_request\_metrics\_enabled) | If set to `true`, all Object Storage bucket request metrics are sent to Cloud Monitoring. | `bool` | `true` | no |
| <a name="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |
| <a name="input_resource_gRoup_id"></a> [resource\_gRoup\_id](#input\_resource\_gRoup\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Breaking Change - Blocking] Variable renamed without migration guide or version bump. This is a breaking change requiring CHANGELOG entry, migration documentation, and major version bump.

Suggested change
| <a name="input_resource_gRoup_id"></a> [resource\_gRoup\_id](#input\_resource\_gRoup\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |
| <a name="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Consistency - Blocking] Variable name must match the corrected snake_case name in variables.tf.

Suggested change
| <a name="input_resource_gRoup_id"></a> [resource\_gRoup\_id](#input\_resource\_gRoup\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |
| <a name="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Documentation - Blocking] Variable name in documentation must match the corrected snake_case variable name.

Suggested change
| <a name="input_resource_gRoup_id"></a> [resource\_gRoup\_id](#input\_resource\_gRoup\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |
| <a name="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case in documentation. This violates Terraform conventions and breaks consistency.

Suggested change
| <a name="input_resource_gRoup_id"></a> [resource\_gRoup\_id](#input\_resource\_gRoup\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |
| <a name="input_resource_group_id"></a> [resource\\_group\\_id](#input\\_resource\\_group\\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Documentation - Blocking] Documentation updated to match incorrect variable name. Variable name must use snake_case per Terraform conventions.

Suggested change
| <a name="input_resource_gRoup_id"></a> [resource\_gRoup\_id](#input\_resource\_gRoup\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |
| <a name="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

| <a name="input_resource_keys"></a> [resource\_keys](#input\_resource\_keys) | The definition of the resource keys to generate. [Learn more](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_key). | <pre>list(object({<br/> name = string<br/> key_name = optional(string, null)<br/> generate_hmac_credentials = optional(bool, false)<br/> role = optional(string, "Reader")<br/> service_id_crn = optional(string, null)<br/> }))</pre> | `[]` | no |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
| <a name="input_resource_keys"></a> [resource\_keys](#input\_resource\_keys) | The definition of the resource keys to generate. [Learn more](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_key). | <pre>list(object({<br/> name = string<br/> key_name = optional(string, null)<br/> generate_hmac_credentials = optional(bool, false)<br/> role = optional(string, "Reader")<br/> service_id_crn = optional(string, null)<br/> }))</pre> | `[]` | no |
| <a name="input_resource_group_id"></a> [resource\\_group\\_id](#input\\_resource\\_group\\_id) | The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`. | `string` | `null` | no |

| <a name="input_retention_default"></a> [retention\_default](#input\_retention\_default) | The number of days that an object can remain unmodified in an Object Storage bucket. Applies only if `create_cos_bucket` is set to `true`. | `number` | `90` | no |
| <a name="input_retention_enabled"></a> [retention\_enabled](#input\_retention\_enabled) | Whether retention for the Object Storage bucket is enabled. Applies only if `create_cos_bucket` is set to `true`. | `bool` | `false` | no |
Expand Down
2 changes: 1 addition & 1 deletion modules/fscloud/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ No resources.
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <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 |
| <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 |
| <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 |
| <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 |
| <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 |
| <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 |
Expand Down
2 changes: 1 addition & 1 deletion modules/fscloud/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ variable "cos_plan" {
variable "bucket_configs" {
type = list(object({
access_tags = optional(list(string), [])
add_bucket_name_suffix = optional(bool, false)
add_bucket_name_suffix = optional(bool, true)
bucket_name = string
kms_encryption_enabled = optional(bool, true)
kms_guid = optional(string, null)
Expand Down
2 changes: 1 addition & 1 deletion variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Common variables
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
# Common variables
variable "resource_group_id" {

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
# Common variables
variable "resource_group_id" {

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
# Common variables
variable "resource_group_id" {

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
# Common variables
variable "resource_group_id" {

##############################################################################
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
##############################################################################
variable "resource_group_id" {

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
##############################################################################
variable "resource_group_id" {


variable "resource_group_id" {
variable "resource_gRoup_id" {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency.

Suggested change
variable "resource_gRoup_id" {
variable "resource_group_id" {

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks all existing module usage.

Suggested change
variable "resource_gRoup_id" {
variable "resource_group_id" {

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform conventions and breaks consistency with the rest of the codebase.

Suggested change
variable "resource_gRoup_id" {
variable "resource_group_id" {

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Naming - Blocking] Variable uses mixed case (gRoup) instead of snake_case. This violates Terraform naming conventions and breaks consistency with the rest of the codebase.

Suggested change
variable "resource_gRoup_id" {
variable "resource_group_id" {

type = string
description = "The resource group ID for the Object Storage instance. Required if `create_cos_instance` is set to `true`."
default = null
Expand Down