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: added mirroring support. It can be used with the new optional inputs mirroring and mirroring_topic_patterns. NOTE: This is only supported with enterprise plan instances. (#327)
@@ -138,10 +143,12 @@ You need the following permissions to run this module.
138
143
| <aname="input_create_timeout"></a> [create\_timeout](#input\_create\_timeout)| The timeout value for creating an Event Streams instance. Specify `3h` for an Enterprise plan instance. Add 1 h for each level of non-default throughput. Add 30 min for each level of non-default storage size. |`string`|`"3h"`| no |
139
144
| <aname="input_delete_timeout"></a> [delete\_timeout](#input\_delete\_timeout)| The timeout value for deleting an Event Streams instance. |`string`|`"15m"`| no |
140
145
| <aname="input_es_name"></a> [es\_name](#input\_es\_name)| The name to give the Event Streams instance created by this module. |`string`| n/a | yes |
141
-
| <aname="input_existing_kms_instance_guid"></a> [existing\_kms\_instance\_guid](#input\_existing\_kms\_instance\_guid)| The GUID of the Hyper Protect Crypto Services or Key Protect instance in which the key specified in var.kms\_key\_crn is coming from. Required only if var.kms\_encryption\_enabled is set to true, var.skip\_iam\_authorization\_policy is set to false, and you pass a value for var.kms\_key\_crn. |`string`|`null`| no |
146
+
| <aname="input_existing_kms_instance_guid"></a> [existing\_kms\_instance\_guid](#input\_existing\_kms\_instance\_guid)| The GUID of the Hyper Protect Crypto Services or Key Protect instance in which the key specified in var.kms\_key\_crn is coming from. Required only if var.kms\_encryption\_enabled is set to true, var.skip\_kms\_iam\_authorization\_policy is set to false, and you pass a value for var.kms\_key\_crn. |`string`|`null`| no |
142
147
| <aname="input_kms_encryption_enabled"></a> [kms\_encryption\_enabled](#input\_kms\_encryption\_enabled)| Set this to true to control the encryption keys used to encrypt the data that you store in IBM Cloud® Databases. If set to false, the data is encrypted by using randomly generated keys. For more info on Key Protect integration, see https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-key-protect. For more info on HPCS integration, see https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-hpcs|`bool`|`false`| no |
143
148
| <aname="input_kms_key_crn"></a> [kms\_key\_crn](#input\_kms\_key\_crn)| The root key CRN of the key management service (Key Protect or Hyper Protect Crypto Services) to use to encrypt the payload data. [Learn more](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-managing_encryption) about integrating Hyper Protect Crypto Services with Event Streams. |`string`|`null`| no |
144
149
| <aname="input_metrics"></a> [metrics](#input\_metrics)| Enhanced metrics to activate, as list of strings. Only allowed for enterprise plans. Allowed values: 'topic', 'partition', 'consumers'. |`list(string)`|`[]`| no |
150
+
| <a name="input_mirroring"></a> [mirroring](#input\_mirroring) | Event Streams mirroring configuration. Required only if creating mirroring instance. For more information on mirroring, see https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-mirroring. | <pre>object({<br/> source_crn = string<br/> source_alias = string<br/> target_alias = string<br/> options = optional(object({<br/> topic_name_transform = object({<br/> type = string<br/> rename = optional(object({<br/> add_prefix = optional(string)<br/> add_suffix = optional(string)<br/> remove_prefix = optional(string)<br/> remove_suffix = optional(string)<br/> }))<br/> })<br/> group_id_transform = object({<br/> type = string<br/> rename = optional(object({<br/> add_prefix = optional(string)<br/> add_suffix = optional(string)<br/> remove_prefix = optional(string)<br/> remove_suffix = optional(string)<br/> }))<br/> })<br/> }))<br/> })</pre> | `null` | no |
151
+
| <aname="input_mirroring_topic_patterns"></a> [mirroring\_topic\_patterns](#input\_mirroring\_topic\_patterns)| The list of the topics to set in instance. Required only if creating mirroring instance. |`list(string)`|`null`| no |
145
152
| <aname="input_plan"></a> [plan](#input\_plan)| The plan for the Event Streams instance. Possible values: `lite`, `standard`, `enterprise-3nodes-2tb`. |`string`|`"standard"`| no |
146
153
| <aname="input_quotas"></a> [quotas](#input\_quotas)| Quotas to be applied to the Event Streams instance. Entity may be 'default' to apply to all users, or an IAM ServiceID for a specific user. Rates are bytes/second, with -1 meaning no quota. | <pre>list(object({<br/> entity = string<br/> producer_byte_rate = optional(number, -1)<br/> consumer_byte_rate = optional(number, -1)<br/> }))</pre> |`[]`| no |
147
154
| <aname="input_region"></a> [region](#input\_region)| The region where the Event Streams are created. |`string`|`"us-south"`| no |
@@ -150,7 +157,8 @@ You need the following permissions to run this module.
150
157
| <aname="input_schemas"></a> [schemas](#input\_schemas)| The list of schema objects. Include the `schema_id` and the `type` and `name` of the schema in the `schema` object. | <pre>list(object(<br/> {<br/> schema_id = string<br/> schema = object({<br/> type = string<br/> name = string<br/> fields = optional(list(object({<br/> name = string<br/> type = string<br/> })))<br/> })<br/> }<br/> ))</pre> |`[]`| no |
151
158
| <aname="input_service_credential_names"></a> [service\_credential\_names](#input\_service\_credential\_names)| The mapping of names and roles for service credentials that you want to create for the Event streams. |`map(string)`|`{}`| no |
152
159
| <aname="input_service_endpoints"></a> [service\_endpoints](#input\_service\_endpoints)| The type of service endpoints. Possible values: 'public', 'private', 'public-and-private'. |`string`|`"public"`| no |
153
-
| <aname="input_skip_iam_authorization_policy"></a> [skip\_iam\_authorization\_policy](#input\_skip\_iam\_authorization\_policy)| Set to true to skip the creation of an IAM authorization policy that permits all Event Streams database instances in the resource group to read the encryption key from the KMS instance. If set to false, pass in a value for the KMS instance in the existing\_kms\_instance\_guid variable. In addition, no policy is created if var.kms\_encryption\_enabled is set to false. |`bool`|`false`| no |
160
+
| <aname="input_skip_es_s2s_iam_authorization_policy"></a> [skip\_es\_s2s\_iam\_authorization\_policy](#input\_skip\_es\_s2s\_iam\_authorization\_policy)| Set to true to skip the creation of an IAM authorization policy that will allow all Event Streams instances in the given resource group access to read from the mirror source instance. This policy is required when creating a mirroring instance, and will only be created if a value is passed in the mirroring input. |`bool`|`false`| no |
161
+
| <aname="input_skip_kms_iam_authorization_policy"></a> [skip\_kms\_iam\_authorization\_policy](#input\_skip\_kms\_iam\_authorization\_policy)| Set to true to skip the creation of an IAM authorization policy that permits all Event Streams database instances in the resource group to read the encryption key from the KMS instance. If set to false, pass in a value for the KMS instance in the `existing_kms_instance_guid` variable. In addition, no policy is created if var.kms\_encryption\_enabled is set to false. |`bool`|`false`| no |
154
162
| <aname="input_storage_size"></a> [storage\_size](#input\_storage\_size)| Storage size of the Event Streams in GB. Applies only to Enterprise plan instances. Possible values: `2048`, `4096`, `6144`, `8192`, `10240`, `12288`. Storage capacity cannot be reduced after the instance is created. When the `throughput` input variable is set to `300`, storage size starts at 4096. When `throughput` is `450`, storage size starts starts at `6144`. |`number`|`"2048"`| no |
155
163
| <aname="input_tags"></a> [tags](#input\_tags)| The list of tags associated with the Event Steams instance. |`list(string)`|`[]`| no |
156
164
| <aname="input_throughput"></a> [throughput](#input\_throughput)| Throughput capacity in MB per second. Applies only to Enterprise plan instances. Possible values: `150`, `300`, `450`. |`number`|`"150"`| no |
@@ -167,6 +175,8 @@ You need the following permissions to run this module.
167
175
| <aname="output_kafka_broker_version"></a> [kafka\_broker\_version](#output\_kafka\_broker\_version)| The Kafka version |
168
176
| <aname="output_kafka_brokers_sasl"></a> [kafka\_brokers\_sasl](#output\_kafka\_brokers\_sasl)| (Array of Strings) Kafka brokers use for interacting with Kafka native API |
169
177
| <aname="output_kafka_http_url"></a> [kafka\_http\_url](#output\_kafka\_http\_url)| The API endpoint to interact with Event Streams REST API |
178
+
| <aname="output_mirroring_config_id"></a> [mirroring\_config\_id](#output\_mirroring\_config\_id)| The ID of the mirroring config in CRN format |
| <aname="output_service_credentials_json"></a> [service\_credentials\_json](#output\_service\_credentials\_json)| The service credentials JSON map. |
171
181
| <aname="output_service_credentials_object"></a> [service\_credentials\_object](#output\_service\_credentials\_object)| The service credentials object. |
Copy file name to clipboardexpand all lines: examples/fscloud/README.md
+1-1
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 Stream instances in the given resource group and the Hyper Protect Crypto Services instance that is passed in.
9
9
- An Event Streams instance that is encrypted with the Hyper Protect Crypto Services 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 Streams to be accessible from within the VPC.
11
+
- A context-based restriction (CBR) rule to only allow Event Streams to be accessible from within the VPC and Schematics.
12
12
13
13
:exclamation:**Important:** In this example, only the Event Streams instance complies with the IBM Cloud Framework for Financial Services. Other parts of the infrastructure do not necessarily comply.
source_crn = var.event_streams_source_crn # Required for mirroring
84
+
source_alias ="source-alias"# Required for mirroring
85
+
target_alias ="target-alias"# Required for mirroring
86
+
87
+
# 'options' are optional. Valid values for 'type' are 'rename', 'none', or 'use_alias'.
88
+
# If 'type' is set to 'rename', then 'rename' object must include the following fields: 'add_prefix', 'add_suffix', 'remove_prefix', and 'remove_suffix'.
Copy file name to clipboardexpand all lines: examples/fscloud/variables.tf
+5
Original file line number
Diff line number
Diff line change
@@ -63,3 +63,8 @@ variable "kms_key_crn" {
63
63
type=string
64
64
description="The root key CRN of a Hyper Protect Crypto Service (HPCS) that you want to use for disk encryption. See https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-hpcs&interface=ui for more information on integrating HPCS with Event Streams instance."
65
65
}
66
+
67
+
variable"event_streams_source_crn" {
68
+
type=string
69
+
description="Source cluster CRN as a string to create mirroring instance."
0 commit comments