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 module was incorrectly creating a COS destination instead of creating a COS integration needed for failed events to work. Due to this change, the cos_destination_name has been removed. If you are updating from a previous version, you will see the expected destroy of the destination (#242)
| <aname="input_cbr_rules"></a> [cbr\_rules](#input\_cbr\_rules)| The 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> }))</pre> |`[]`| no |
101
101
| <aname="input_cos_bucket_name"></a> [cos\_bucket\_name](#input\_cos\_bucket\_name)| The name of an existing IBM Cloud Object Storage bucket which will be used for storage of failed delivery events. Required if `cos_integration_enabled` is set to true. |`string`|`null`| no |
102
-
| <aname="input_cos_destination_name"></a> [cos\_destination\_name](#input\_cos\_destination\_name)| The name of the IBM Cloud Object Storage destination which will be created for the storage of failed delivery events. |`string`|`"COS Destination"`| no |
103
102
| <aname="input_cos_endpoint"></a> [cos\_endpoint](#input\_cos\_endpoint)| The endpoint URL for your bucket region. For more information, see https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-endpoints. Required if `cos_integration_enabled` is set to true. |`string`|`null`| no |
104
103
| <aname="input_cos_instance_id"></a> [cos\_instance\_id](#input\_cos\_instance\_id)| The ID of the IBM Cloud Object Storage instance in which the bucket that is defined in the `cos_bucket_name` variable exists. Required if `cos_integration_enabled` is set to true. |`string`|`null`| no |
105
104
| <aname="input_cos_integration_enabled"></a> [cos\_integration\_enabled](#input\_cos\_integration\_enabled)| Set to `true` to connect a Cloud Object Storage service instance to your Event Notifications instance to collect events that failed delivery. If set to false, no failed events will be captured. |`bool`|`false`| no |
Copy file name to clipboardExpand all lines: examples/fscloud/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ The example uses the IBM Cloud Terraform provider to create the following infras
8
8
- An IAM authorization between all Event Notification instances in the given resource group and the KMS instance that is passed in.
9
9
- An Event Notification instance that is encrypted with the KMS root key that is passed in.
10
10
- A sample virtual private cloud (VPC).
11
-
- A context-based restriction (CBR) rule to only allow Event Notification to be accessible from within the VPC.
11
+
- A context-based restriction (CBR) rule to only allow Event Notification to be accessible from VPC and Schematics.
12
12
13
13
:exclamation:**Important:** In this example, only the Event Notification instance complies with the IBM Cloud Framework for Financial Services. Other parts of the infrastructure do not necessarily comply.
# There is a known issue https://github.com/IBM-Cloud/terraform-provider-ibm/issues/5525 when adding schematics network zone with private endpoint type to the EN CBR rule, causing this example to fail.
134
+
135
+
# cbr_rules = [
136
+
# {
137
+
# description = "${var.prefix}-event notification access from vpc and schematics"
Copy file name to clipboardExpand all lines: main.tf
+23-20Lines changed: 23 additions & 20 deletions
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,10 @@ locals {
8
8
validate_kms_values=!var.kms_encryption_enabled&& (var.existing_kms_instance_crn!=null|| var.root_key_id!=null|| var.kms_endpoint_url!=null) ?tobool("When passing values for var.existing_kms_instance_crn or/and var.root_key_id or/and var.kms_endpoint_url, you must set var.kms_encryption_enabled to true. Otherwise unset them to use default encryption") :true
9
9
# tflint-ignore: terraform_unused_declarations
10
10
validate_kms_vars=var.kms_encryption_enabled&& (var.existing_kms_instance_crn==null|| var.root_key_id==null|| var.kms_endpoint_url==null) ?tobool("When setting var.kms_encryption_enabled to true, a value must be passed for var.existing_kms_instance_crn, var.root_key_id and var.kms_endpoint_url") :true
11
+
# tflint-ignore: terraform_unused_declarations
12
+
validate_cos_values=!var.cos_integration_enabled&& (var.cos_instance_id!=null|| var.cos_bucket_name!=null|| var.cos_endpoint!=null) ?tobool("When passing values for var.cos_instance_id or/and var.cos_bucket_name or/and var.cos_endpoint, you must set var.cos_integration_enabled to true. Otherwise unset them to disable collection of failed delivery events") :true
13
+
# tflint-ignore: terraform_unused_declarations
14
+
validate_cos_vars=var.cos_integration_enabled&& (var.cos_instance_id==null|| var.cos_bucket_name==null|| var.cos_endpoint==null) ?tobool("When setting var.cos_integration_enabled to true, a value must be passed for var.cos_instance_id, var.cos_bucket_name and var.cos_endpoint") :true
11
15
12
16
# Determine what KMS service is being used for encryption
description="Allow EN instance with GUID ${ibm_resource_instance.en_instance.guid} `Object Writer` and `Reader` access to the COS instance with ID${var.cos_instance_id}."
104
+
description="Allow EN instance with GUID ${ibm_resource_instance.en_instance.guid} `Object Writer` and `Reader` access to the COS instance with GUID${local.existing_cos_instance_guid}."
| <aname="input_cbr_rules"></a> [cbr\_rules](#input\_cbr\_rules)| The 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> }))</pre> |`[]`| no |
84
84
| <aname="input_cos_bucket_name"></a> [cos\_bucket\_name](#input\_cos\_bucket\_name)| The name of an existing Object Storage bucket to use for the storage of failed delivery events. |`string`|`null`| no |
85
-
| <aname="input_cos_destination_name"></a> [cos\_destination\_name](#input\_cos\_destination\_name)| The name of the IBM Cloud Object Storage destination which will be created for the storage of failed delivery events. |`string`|`"COS Destination"`| no |
86
85
| <aname="input_cos_endpoint"></a> [cos\_endpoint](#input\_cos\_endpoint)| The endpoint URL for your bucket region. Required if `cos_integration_enabled` is set to `true`. [Learn more](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-endpoints). |`string`|`null`| no |
87
-
| <aname="input_cos_instance_id"></a> [cos\_instance\_id](#input\_cos\_instance\_id)| The ID of the Object Storage instance that contains the bucket that is specified in the `cos_bucket_name` variable. Required only if `cos_integration_enabled` is set to `true`. |`string`|`null`| no |
88
-
| <aname="input_cos_integration_enabled"></a> [cos\_integration\_enabled](#input\_cos\_integration\_enabled)| Whether to connect an Object Storage service instance to your Event Notifications instance to collect events that fail delivery. If set to `false`, no failed events are captured. |`bool`|`true`| no |
86
+
| <aname="input_cos_instance_id"></a> [cos\_instance\_id](#input\_cos\_instance\_id)| The ID of the IBM Cloud Object Storage instance in which the bucket that is defined in the `cos_bucket_name` variable exists. Required if `cos_integration_enabled` is set to true. |`string`|`null`| no |
87
+
| <aname="input_cos_integration_enabled"></a> [cos\_integration\_enabled](#input\_cos\_integration\_enabled)| Whether to connect an Object Storage service instance to your Event Notifications instance to collect events that failed delivery. If set to `false`, no failed events are captured. |`bool`|`true`| no |
89
88
| <aname="input_existing_kms_instance_crn"></a> [existing\_kms\_instance\_crn](#input\_existing\_kms\_instance\_crn)| The CRN of the Hyper Protect Crypto Services or Key Protect instance. To ensure compliance with IBM Cloud Framework for Financial Services standards, it is required to use Hyper Protect Crypto Services only. |`string`| n/a | yes |
90
89
| <aname="input_kms_endpoint_url"></a> [kms\_endpoint\_url](#input\_kms\_endpoint\_url)| The KMS endpoint URL to use when you configure KMS encryption. |`string`| n/a | yes |
91
90
| <aname="input_name"></a> [name](#input\_name)| The name of the Event Notifications instance that is created by this module. |`string`| n/a | yes |
description="The name of the IBM Cloud Object Storage destination which will be created for the storage of failed delivery events."
76
-
default="COS Destination"
77
-
}
78
-
79
73
variable"cos_bucket_name" {
80
74
type=string
81
75
description="The name of an existing Object Storage bucket to use for the storage of failed delivery events."
@@ -84,7 +78,7 @@ variable "cos_bucket_name" {
84
78
85
79
variable"cos_instance_id" {
86
80
type=string
87
-
description="The ID of the Object Storage instance that contains the bucket that is specified in the `cos_bucket_name` variable. Required only if `cos_integration_enabled` is set to `true`."
81
+
description="The ID of the IBM Cloud Object Storage instance in which the bucket that is defined in the `cos_bucket_name` variable exists. Required if `cos_integration_enabled` is set to true."
description="Whether to connect an Object Storage service instance to your Event Notifications instance to collect events that fail delivery. If set to `false`, no failed events are captured."
93
+
description="Whether to connect an Object Storage service instance to your Event Notifications instance to collect events that failed delivery. If set to `false`, no failed events are captured."
0 commit comments