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: Module updates:<br>- added the ability to create multiple resource keys using new input resource_keys.<br>- The following module variables have been renamed:<br> - manager_key_name -> access_key_name<br> - manager_key_tags -> access_key_tags<br>The following module outputs have been renamed:<br> - manager_key_name -> access_key_name<br>- A new boolean disable_access_key_creation has been added to disable access key creation.<br><br>DA updates:<br>- Added the ability to create multiple resource keys using new input cloud_monitoring_resource_keys.<br>- A new boolean disable_access_key_creation has been added to disable access key creation. (#90)
| <aname="input_access_key_name"></a> [access\_key\_name](#input\_access\_key\_name)| The name to give the default IBM Cloud Monitoring Manager access key. Use `disable_access_key_creation` to disable access key creation. For guidance on access keys, see [here](https://cloud.ibm.com/docs/monitoring?topic=monitoring-access_key). |`string`|`"SysdigManagerKey"`| no |
171
+
| <aname="input_access_key_tags"></a> [access\_key\_tags](#input\_access\_key\_tags)| Tags associated with the IBM Cloud Monitoring access key. |`list(string)`|`[]`| no |
169
172
| <aname="input_access_tags"></a> [access\_tags](#input\_access\_tags)| Access Management Tags associated with the IBM Cloud Monitoring instance (Optional, array of strings). |`list(string)`|`[]`| no |
170
173
| <aname="input_cbr_rules"></a> [cbr\_rules](#input\_cbr\_rules)| (Optional, list) List of context-based restrictions rules to create | <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/> operations = optional(list(object({<br/> api_types = list(object({<br/> api_type_id = string<br/> }))<br/> })))<br/> }))</pre> |`[]`| no |
174
+
| <aname="input_disable_access_key_creation"></a> [disable\_access\_key\_creation](#input\_disable\_access\_key\_creation)| When set to true, disables the creation of a default manager access key which is required by agents to ingest metrics. |`bool`|`false`| no |
171
175
| <aname="input_enable_platform_metrics"></a> [enable\_platform\_metrics](#input\_enable\_platform\_metrics)| Receive platform metrics in the provisioned IBM Cloud Monitoring instance. Only 1 instance in a given region can be enabled for platform metrics. |`bool`|`false`| no |
172
176
| <aname="input_instance_name"></a> [instance\_name](#input\_instance\_name)| The name of the IBM Cloud Monitoring instance to create. Defaults to 'cloud-monitoring-<region>' |`string`|`null`| no |
173
-
| <aname="input_manager_key_name"></a> [manager\_key\_name](#input\_manager\_key\_name)| The name to give the IBM Cloud Monitoring manager key. |`string`|`"SysdigManagerKey"`| no |
174
-
| <aname="input_manager_key_tags"></a> [manager\_key\_tags](#input\_manager\_key\_tags)| Tags associated with the IBM Cloud Monitoring manager key. |`list(string)`|`[]`| no |
175
177
| <aname="input_plan"></a> [plan](#input\_plan)| The IBM Cloud Monitoring plan to provision. Available: lite, graduated-tier and graduated-tier-sysdig-secure-plus-monitor (available in region eu-fr2 only) |`string`|`"lite"`| no |
176
178
| <aname="input_region"></a> [region](#input\_region)| The IBM Cloud region where Cloud Monitoring instance will be created. |`string`|`"us-south"`| no |
177
179
| <aname="input_resource_group_id"></a> [resource\_group\_id](#input\_resource\_group\_id)| The id of the IBM Cloud resource group where the Cloud Monitoring instance will be created. |`string`| n/a | yes |
180
+
| <aname="input_resource_keys"></a> [resource\_keys](#input\_resource\_keys)| A list of maps representing resource keys to create for the IBM Cloud Monitoring instance. Each entry defines a single resource key. Use this list to manage custom keys and handle key rotation. | <pre>list(object({<br/> name = string<br/> key_name = optional(string, null)<br/> generate_hmac_credentials = optional(bool, false) # pragma: allowlist secret<br/> role = optional(string, "Manager")<br/> service_id_crn = optional(string, null)<br/> }))</pre> |`[]`| no |
178
181
| <aname="input_resource_tags"></a> [resource\_tags](#input\_resource\_tags)| Tags associated with the IBM Cloud Monitoring instance (Optional, array of strings). |`list(string)`|`[]`| no |
179
182
| <aname="input_service_endpoints"></a> [service\_endpoints](#input\_service\_endpoints)| The type of the service endpoint that will be set for the Sisdig instance. |`string`|`"public-and-private"`| no |
180
183
181
184
### Outputs
182
185
183
186
| Name | Description |
184
187
|------|-------------|
185
-
| <aname="output_access_key"></a> [access\_key](#output\_access\_key)| The cloud monitoring access key for agents to use |
188
+
| <aname="output_access_key"></a> [access\_key](#output\_access\_key)| The Cloud Monitoring access key for agents to use |
189
+
| <aname="output_access_key_name"></a> [access\_key\_name](#output\_access\_key\_name)| The Cloud Monitoring access key name |
186
190
| <aname="output_account_id"></a> [account\_id](#output\_account\_id)| The account id where cloud monitoring instance is provisioned. |
187
191
| <aname="output_crn"></a> [crn](#output\_crn)| The id of the provisioned cloud monitoring instance. |
188
192
| <aname="output_guid"></a> [guid](#output\_guid)| The guid of the provisioned cloud monitoring instance. |
189
193
| <aname="output_ingestion_endpoint_private"></a> [ingestion\_endpoint\_private](#output\_ingestion\_endpoint\_private)| The Cloud Monitoring private ingestion endpoint. |
190
194
| <aname="output_ingestion_endpoint_public"></a> [ingestion\_endpoint\_public](#output\_ingestion\_endpoint\_public)| The Cloud Monitoring public ingestion endpoint. |
191
-
| <aname="output_manager_key_name"></a> [manager\_key\_name](#output\_manager\_key\_name)| The cloud monitoring manager key name |
192
195
| <aname="output_name"></a> [name](#output\_name)| The name of the provisioned cloud monitoring instance. |
193
196
| <aname="output_resource_group_id"></a> [resource\_group\_id](#output\_resource\_group\_id)| The resource group where cloud monitoring monitor instance resides |
197
+
| <aname="output_resource_keys"></a> [resource\_keys](#output\_resource\_keys)| A list of maps representing resource keys created for the IBM Cloud Monitoring instance. |
194
198
<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
195
199
196
200
<!-- Leave this section as is so that your module has a link to local development environment set-up steps for contributors to follow -->
The `cloud_monitoring_resource_keys` input variable allows you to provide a list of resource key to create that will be configured in the IBM Cloud Monitoring instance. In the configuration, specify the name of the resource key, whether HMAC credentials should be included, the Role of the key and an optional Service ID CRN to create with a Service ID. Refer [here](https://cloud.ibm.com/docs/monitoring?topic=monitoring-access_key) for more information.
* Type: A list of objects that represent a resource key
116
+
* Default value:
117
+
118
+
```
119
+
{
120
+
name = "SysdigManagerKey"
121
+
generate_hmac_credentials = false
122
+
role = "Manager"
123
+
service_id_crn = null
124
+
}
125
+
```
126
+
127
+
### Options for cloud_monitoring_resource_keys
128
+
129
+
*`name` (required): A unique human-readable name that identifies this resource key.
130
+
*`generate_hmac_credentials` (optional, default = `false`): Set to true to include HMAC keys in the resource key. [Learn more](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_key#example-to-create-by-using-hmac).
131
+
*`role` (optional, default = `Reader`): The name of the user role.
132
+
*`service_id_crn` (optional, default = `null`): Pass a Service ID CRN to create credentials for a resource with a Service ID. [Learn more](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_key#example-to-create-by-using-serviceid).
133
+
134
+
### Example route for Cloud Monitoring Resource Keys
135
+
136
+
The following example includes all the configuration options for two resource keys. One is a HMAC key with a `Reader` role, the other with an IAM key with `Manager` role.
0 commit comments