You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: the following variables have been removed create_resource_key, resource_key_name, resource_key_role, generate_hmac_credentials, resource_key_existing_serviceid_crn and replaced by the resource_keys variable which gives more flexibility for creating resource keys.<br>* added new resource_keys output. (#522)
BREAKING CHANGE: If you were consuming the module with `create_resource_key = true` and are now upgrading to this version, you will see that your plan will attempt to destroy a resource key. You should now use the new `resource_keys` variable to manage resource keys. Please plan accordingly before upgrading incase you are using the resource key planned for destroy else where. Please note that before this version was released, the module did not output the resource key details, so unless you were extracting the resource key from some other method, its possible you were not using the key that is getting identified for destroy.
@@ -177,13 +175,11 @@ You need the following permissions to run this module.
177
175
| <aname="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 |
178
176
| <aname="input_create_cos_bucket"></a> [create\_cos\_bucket](#input\_create\_cos\_bucket)| Set as true to create a new Cloud Object Storage bucket |`bool`|`true`| no |
179
177
| <aname="input_create_cos_instance"></a> [create\_cos\_instance](#input\_create\_cos\_instance)| Set as true to create a new Cloud Object Storage instance. |`bool`|`true`| no |
180
-
| <aname="input_create_resource_key"></a> [create\_resource\_key](#input\_create\_resource\_key)| Set as true to create a new resource key for the Cloud Object Storage instance. |`bool`|`true`| no |
181
178
| <aname="input_cross_region_location"></a> [cross\_region\_location](#input\_cross\_region\_location)| Specify the cross-regional bucket location. Supported values are 'us', 'eu', and 'ap'. If you pass a value for this, ensure to set the value of var.region and var.single\_site\_location to null. |`string`|`null`| no |
182
179
| <aname="input_existing_cos_instance_id"></a> [existing\_cos\_instance\_id](#input\_existing\_cos\_instance\_id)| The ID of an existing cloud object storage instance. Required if 'var.create\_cos\_instance' is false. |`string`|`null`| no |
183
180
| <aname="input_existing_kms_instance_guid"></a> [existing\_kms\_instance\_guid](#input\_existing\_kms\_instance\_guid)| The GUID of the Key Protect or Hyper Protect instance in which the key specified in var.kms\_key\_crn is coming from. Required if var.skip\_iam\_authorization\_policy is false in order to create an IAM Access Policy to allow Key Protect or Hyper Protect to access the newly created COS instance. |`string`|`null`| no |
184
181
| <aname="input_expire_days"></a> [expire\_days](#input\_expire\_days)| Specifies the number of days when the expire rule action takes effect. Only used if 'create\_cos\_bucket' is true. |`number`|`365`| no |
185
182
| <aname="input_force_delete"></a> [force\_delete](#input\_force\_delete)| Deletes all the objects in the COS Bucket before bucket is deleted. |`bool`|`true`| no |
186
-
| <aname="input_generate_hmac_credentials"></a> [generate\_hmac\_credentials](#input\_generate\_hmac\_credentials)| Set as true to generate an HMAC key in the resource key. Only used when create\_resource\_key is `true`. |`bool`|`false`| no |
187
183
| <aname="input_hard_quota"></a> [hard\_quota](#input\_hard\_quota)| Sets a maximum amount of storage (in bytes) available for a bucket. If it is set to `null` then quota is disabled. |`number`|`null`| no |
188
184
| <aname="input_instance_cbr_rules"></a> [instance\_cbr\_rules](#input\_instance\_cbr\_rules)| (Optional, list) List of CBR rules to create for the instance | <pre>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> }))</pre> |`[]`| no |
189
185
| <aname="input_kms_encryption_enabled"></a> [kms\_encryption\_enabled](#input\_kms\_encryption\_enabled)| Set as true to use KMS key encryption to encrypt data in COS bucket (only applicable when var.create\_cos\_bucket is true). |`bool`|`true`| no |
@@ -192,9 +188,7 @@ You need the following permissions to run this module.
192
188
| <aname="input_object_versioning_enabled"></a> [object\_versioning\_enabled](#input\_object\_versioning\_enabled)| Enable object versioning to keep multiple versions of an object in a bucket. Cannot be used with retention rule. Only used if 'create\_cos\_bucket' is true. |`bool`|`false`| no |
193
189
| <aname="input_region"></a> [region](#input\_region)| The region to provision the bucket. If you pass a value for this, do not pass one for var.cross\_region\_location or var.single\_site\_location. |`string`|`"us-south"`| no |
194
190
| <aname="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id)| The resource group ID where The COS instance will be provisioned. It is required if setting input variable create\_cos\_instance to true. |`string`|`null`| no |
195
-
| <aname="input_resource_key_existing_serviceid_crn"></a> [resource\_key\_existing\_serviceid\_crn](#input\_resource\_key\_existing\_serviceid\_crn)| CRN of existing serviceID to bind with resource key to be created. If null a new ServiceID is created for the resource key. |`string`|`null`| no |
196
-
| <aname="input_resource_key_name"></a> [resource\_key\_name](#input\_resource\_key\_name)| The name of the resource key to be created. |`string`|`"cos-resource-key"`| no |
197
-
| <aname="input_resource_key_role"></a> [resource\_key\_role](#input\_resource\_key\_role)| The role you want to be associated with your new resource key. Valid roles are 'Writer', 'Reader', 'Manager', 'Content Reader', 'Object Reader', 'Object Writer'. |`string`|`"Manager"`| no |
191
+
| <aname="input_resource_keys"></a> [resource\_keys](#input\_resource\_keys)| The definition of any resource keys to be generated | <pre>list(object({<br> name = string<br> generate_hmac_credentials = optional(bool, false)<br> role = optional(string, "Reader")<br> service_id_crn = optional(string, null)<br> }))</pre> |`[]`| no |
198
192
| <aname="input_retention_default"></a> [retention\_default](#input\_retention\_default)| Specifies default duration of time an object that can be kept unmodified for COS bucket. Only used if 'create\_cos\_bucket' is true. |`number`|`90`| no |
199
193
| <aname="input_retention_enabled"></a> [retention\_enabled](#input\_retention\_enabled)| Retention enabled for COS bucket. Only used if 'create\_cos\_bucket' is true. |`bool`|`false`| no |
200
194
| <aname="input_retention_maximum"></a> [retention\_maximum](#input\_retention\_maximum)| Specifies maximum duration of time an object that can be kept unmodified for COS bucket. Only used if 'create\_cos\_bucket' is true. |`number`|`350`| no |
@@ -222,6 +216,7 @@ You need the following permissions to run this module.
222
216
| <aname="output_instance_cbr_rules"></a> [instance\_cbr\_rules](#output\_instance\_cbr\_rules)| COS instance rules |
223
217
| <aname="output_kms_key_crn"></a> [kms\_key\_crn](#output\_kms\_key\_crn)| The CRN of the KMS key used to encrypt the COS bucket |
224
218
| <aname="output_resource_group_id"></a> [resource\_group\_id](#output\_resource\_group\_id)| Resource Group ID |
219
+
| <aname="output_resource_keys"></a> [resource\_keys](#output\_resource\_keys)| List of resource keys |
225
220
| <aname="output_s3_endpoint_direct"></a> [s3\_endpoint\_direct](#output\_s3\_endpoint\_direct)| S3 direct endpoint |
# validate_key_inputs = var.create_cos_bucket && var.encryption_enabled && var.kms_key_crn == null ? tobool("A value must be passed for var.kms_key_crn when both var.create_cos_bucket and var.encryption_enabled are true") : true
Copy file name to clipboardExpand all lines: modules/fscloud/README.md
+2-4Lines changed: 2 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -113,13 +113,10 @@ No resources.
113
113
| <aname="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 |
114
114
| <aname="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 |
115
115
| <aname="input_create_cos_instance"></a> [create\_cos\_instance](#input\_create\_cos\_instance)| Set as true to create a new Cloud Object Storage instance. |`bool`|`true`| no |
116
-
| <aname="input_create_resource_key"></a> [create\_resource\_key](#input\_create\_resource\_key)| Set as true to create a new resource key for the Cloud Object Storage instance. |`bool`|`false`| no |
117
116
| <aname="input_existing_cos_instance_id"></a> [existing\_cos\_instance\_id](#input\_existing\_cos\_instance\_id)| The ID of an existing cloud object storage instance. Required if 'var.create\_cos\_instance' is false. |`string`|`null`| no |
118
-
| <aname="input_generate_hmac_credentials"></a> [generate\_hmac\_credentials](#input\_generate\_hmac\_credentials)| Set as true to generate an HMAC key in the resource key. Only used when create\_resource\_key is `true`. |`bool`|`false`| no |
119
117
| <aname="input_instance_cbr_rules"></a> [instance\_cbr\_rules](#input\_instance\_cbr\_rules)| (Optional, list) List of CBR rule to create for the instance | <pre>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> }))</pre> |`[]`| no |
120
118
| <aname="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id)| The resource group ID where resources will be provisioned. |`string`| n/a | yes |
121
-
| <aname="input_resource_key_name"></a> [resource\_key\_name](#input\_resource\_key\_name)| The name of the resource key to be created. |`string`|`"cos-resource-key"`| no |
122
-
| <aname="input_resource_key_role"></a> [resource\_key\_role](#input\_resource\_key\_role)| The role you want to be associated with your new resource key. Valid roles are 'Writer', 'Reader', 'Manager', 'Content Reader', 'Object Reader', 'Object Writer'. |`string`|`"Manager"`| no |
119
+
| <aname="input_resource_keys"></a> [resource\_keys](#input\_resource\_keys)| The definition of any resource keys to be generated | <pre>list(object({<br> name = string<br> generate_hmac_credentials = optional(bool, false)<br> role = optional(string, "Reader")<br> service_id_crn = string<br> }))</pre> |`[]`| no |
123
120
124
121
### Outputs
125
122
@@ -134,4 +131,5 @@ No resources.
134
131
| <aname="output_cos_instance_name"></a> [cos\_instance\_name](#output\_cos\_instance\_name)| COS instance name |
135
132
| <aname="output_instance_cbr_rules"></a> [instance\_cbr\_rules](#output\_instance\_cbr\_rules)| COS instance rules |
136
133
| <aname="output_resource_group_id"></a> [resource\_group\_id](#output\_resource\_group\_id)| Resource Group ID |
134
+
| <aname="output_resource_keys"></a> [resource\_keys](#output\_resource\_keys)| List of resource keys |
0 commit comments