diff --git a/.catalog-onboard-pipeline.yaml b/.catalog-onboard-pipeline.yaml index 2834c47c..720cb2f5 100644 --- a/.catalog-onboard-pipeline.yaml +++ b/.catalog-onboard-pipeline.yaml @@ -6,7 +6,7 @@ offerings: catalog_id: 7df1e4ca-d54c-4fd0-82ce-3d13247308cd offering_id: 8272d54f-b54f-46a6-8dd6-772c6db82e87 variations: - - name: standard + - name: quickstart mark_ready: true install_type: fullstack scc: diff --git a/README.md b/README.md index fc372a5a..ce08ebe4 100644 --- a/README.md +++ b/README.md @@ -133,7 +133,7 @@ You need the following permissions to run this module. | [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 | | [delete\_timeout](#input\_delete\_timeout) | The timeout value for deleting an Event Streams instance. | `string` | `"15m"` | no | | [es\_name](#input\_es\_name) | The name to give the Event Streams instance created by this module. | `string` | n/a | yes | -| [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. Applies only if `kms_encryption_enabled` is set to `true`. [Learn more](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-managing_encryption) about integrating Hyper Protect Crypto Services with Event Streams. Configure an authorization policy to allow the Event Streams service to access the key management service instance with the reader role ([Learn more](https://cloud.ibm.com/docs/account?topic=account-serviceauth)). You can't manage the policy in the same Terraform state file as the Event Streams service instance ([Learn more](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-managing_encryption#using\_encryption)). | `string` | `null` | no | +| [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. Configure an authorization policy to allow the Event Streams service to access the key management service instance with the reader role ([Learn more](https://cloud.ibm.com/docs/account?topic=account-serviceauth)). You can't manage the policy in the same Terraform state file as the Event Streams service instance ([Learn more](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-managing_encryption#using\_encryption)). | `string` | `null` | no | | [plan](#input\_plan) | The plan for the Event Streams instance. Possible values: `lite`, `standard`, `enterprise-3nodes-2tb`. | `string` | `"standard"` | no | | [region](#input\_region) | The region where the Event Streams are created. | `string` | `"us-south"` | no | | [resource\_group\_id](#input\_resource\_group\_id) | The resource group ID where the Event Streams instance is created. | `string` | n/a | yes | diff --git a/ibm_catalog.json b/ibm_catalog.json index eaa37c4a..5efac018 100644 --- a/ibm_catalog.json +++ b/ibm_catalog.json @@ -21,39 +21,113 @@ "fscloud" ], "short_description": "Supports provisioning and configuring IBM Event Streams for IBM Cloud.", - "long_description": "This architecture supports creating Event Streams with topics, partitions, throughput, storage size, cleanup policy, retention time, retention size, segment size, and schema.", + "long_description": "This architecture supports creation and configuration of IBM Cloud Event Streams.", "offering_docs_url": "https://github.com/terraform-ibm-modules/terraform-ibm-event-streams/blob/main/README.md", "offering_icon_url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-event-streams/main/images/event_streams.svg", "provider_name": "IBM", "features": [ { "title": "Create IBM Event Streams for IBM Cloud", - "description": "Create IBM Event Streams to build responsive, durable, and highly available architecture deployments." + "description": "Create and configure IBM Event Streams to build responsive, durable, and highly available architecture deployments." }, { - "title": "Configure Event Streams", - "description": "Creates topics, partitions, throughput, storage size, cleanup policy, retention time, retention size, segment size, and schemas." - }, - { - "title": "Create context-based restrictions", - "description": "Enhance cloud security by defining and enforcing access restrictions for Event Streams based on the context of the access request." + "title": "Creates topics in the Event Streams instance", + "description": "Creates topics in IBM Cloud Event Streams instance." } ], "flavors": [ { - "label": "standard", - "name": "standard", + "label": "quickstart", + "name": "quickstart", "install_type": "fullstack", - "working_directory": "solutions/standard", - "compliance": { - "authority": "scc-v3", - "profiles": [ - { - "profile_name": "IBM Cloud Framework for Financial Services", - "profile_version": "1.6.0" - } - ] - }, + "working_directory": "solutions/quickstart", + "configuration": [ + { + "key": "ibmcloud_api_key" + }, + { + "key": "prefix" + }, + { + "key": "use_existing_resource_group" + }, + { + "key": "resource_group_name" + }, + { + "key": "es_name" + }, + { + "key": "region", + "required": true, + "default_value": "", + "options": [ + { + "displayname": "Dallas (us-south)", + "value": "us-south" + }, + { + "displayname": "Frankfurt (eu-de)", + "value": "eu-de" + }, + { + "displayname": "London (eu-gb)", + "value": "eu-gb" + }, + { + "displayname": "Madrid (eu-es)", + "value": "eu-es" + }, + { + "displayname": "Osaka (jp-osa)", + "value": "jp-osa" + }, + { + "displayname": "Sydney (au-syd)", + "value": "au-syd" + }, + { + "displayname": "Tokyo (jp-tok)", + "value": "jp-tok" + }, + { + "displayname": "Osaka (jp-osa)", + "value": "jp-osa" + }, + { + "displayname": "Sao Paulo (br-sao)", + "value": "br-sao" + }, + { + "displayname": "Toronto (ca-tor)", + "value": "ca-tor" + }, + { + "displayname": "Washington (us-east)", + "value": "us-east" + } + ] + }, + { + "key": "resource_tags" + }, + { + "key": "plan", + "options": [ + { + "displayname": "lite", + "value": "lite" + }, + { + "displayname": "standard", + "value": "standard" + } + ] + }, + { + "key": "topics" + } + ], "iam_permissions": [ { "role_crns": [ @@ -69,33 +143,25 @@ } ], "architecture": { - "descriptions": "This architecture creates an Enterprise plan instance of IBM Event Streams for IBM Cloud that is IBM Cloud® Financial Services certified.", + "descriptions": "This architecture creates an instance of IBM Event Streams for IBM Cloud in lite and standard plan. It also supports the creation of topics in the Event Streams instance.", "features": [ { - "title": "Event Streams instance", - "description": "Yes" - }, - { - "title": "KMS encryption to encrypt data", - "description": "Yes" - }, - { - "title": "Context-based restriction rules for the Event Streams instance", - "description": "Yes" + "title": "Creates an Event Streams instance", + "description": "Creates and configures the IBM Cloud Event Streams instance." }, { - "title": "Event Streams topics and schemas", - "description": "Yes" + "title": "Creates topics in the Event Streams instance", + "description": "Creates topics in IBM Cloud Event Streams instance." } ], "diagrams": [ { "diagram": { - "caption": "IBM Event Streams for IBM Cloud Enterprise plan instance that is IBM Cloud® Financial Services certified.", - "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-event-streams/main/reference-architecture/da-fscloud.svg", + "caption": "IBM Event Streams for IBM Cloud.", + "url": "https://raw.githubusercontent.com/terraform-ibm-modules/terraform-ibm-event-streams/main/reference-architecture/da-quickstart.svg", "type": "image/svg+xml" }, - "description": "This architecture creates an Enterprise plan instance of IBM Event Streams for IBM Cloud that is IBM Cloud® Financial Services certified." + "description": "This architecture creates an instance of IBM Event Streams for IBM Cloud." } ] } diff --git a/reference-architecture/da-fscloud.svg b/reference-architecture/da-fscloud.svg deleted file mode 100644 index 5499f0e2..00000000 --- a/reference-architecture/da-fscloud.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
IBM Cloud
Region
Resource Group
IBM Cloud Event Streams Instance
Schema
Topic
CBR rulesKMS encryption
\ No newline at end of file diff --git a/reference-architecture/da-quickstart.svg b/reference-architecture/da-quickstart.svg new file mode 100644 index 00000000..6def64a1 --- /dev/null +++ b/reference-architecture/da-quickstart.svg @@ -0,0 +1,4 @@ + + + +
IBM Cloud
Region
Resource Group
IBM Cloud Event Streams Instance
Topics
\ No newline at end of file diff --git a/solutions/quickstart/DA-schemas-topics-cbr.md b/solutions/quickstart/DA-schemas-topics-cbr.md new file mode 100644 index 00000000..fd73c71e --- /dev/null +++ b/solutions/quickstart/DA-schemas-topics-cbr.md @@ -0,0 +1,39 @@ +# Configuring topics in Event Streams + +When you add a Event Streams deployable architecture from the IBM Cloud catalog to IBM Cloud Projects, you can configure topics. When you edit your project configuration, select the **Configure** panel, and then click the **Optional** tab. + +To enter a custom value, use the edit action to open the "Edit Array" panel. Add the topics configurations to the array. + + +## Options with topics + +- `name` (required): The name of the topic. +- `partitions` (optional): The number of partitions of the topic. The default value is `1`. +- `config` (optional): The configuration parameters of the topic. Supported configurations are: `cleanup.policy`, `retention.ms`, `retention.bytes`, `segment.bytes`, `segment.ms`, `segment.index.bytes`. + +The following example includes all the configuration options for topics. + +```hcl +[ + { + name = "my-es-topic" + partitions = 1 + config = { + "cleanup.policy" = "delete" + "retention.ms" = "86400000" + "retention.bytes" = "10485760" + "segment.bytes" = "10485760" + } + }, + { + name = "topic-2" + partitions = 1 + config = { + "cleanup.policy" = "compact,delete" + "retention.ms" = "86400000" + "retention.bytes" = "1073741824" + "segment.bytes" = "536870912" + } + } +] +``` diff --git a/solutions/quickstart/README.md b/solutions/quickstart/README.md new file mode 100644 index 00000000..2c1e247a --- /dev/null +++ b/solutions/quickstart/README.md @@ -0,0 +1,11 @@ +# Event Streams on IBM Cloud + +This architecture creates an instance of IBM Event Streams for IBM Cloud. + +The solution provisions the following resources: + +- A resource group, if one is not passed in. +- An Event Streams instance using `lite` or `standard` plan. +- Topics to apply to resources. Only one topic is allowed for `lite` plan instances. + +![da-quickstart](../../reference-architecture/da-quickstart.svg) diff --git a/solutions/standard/catalogValidationValues.json.template b/solutions/quickstart/catalogValidationValues.json.template similarity index 60% rename from solutions/standard/catalogValidationValues.json.template rename to solutions/quickstart/catalogValidationValues.json.template index 9819bbc6..41a2762a 100644 --- a/solutions/standard/catalogValidationValues.json.template +++ b/solutions/quickstart/catalogValidationValues.json.template @@ -1,7 +1,6 @@ { "ibmcloud_api_key": $VALIDATION_APIKEY, "resource_tags": $TAGS, - "es_name": $PREFIX, - "kms_key_crn": $HPCS_US_SOUTH_ROOT_KEY_CRN, + "prefix": $PREFIX, "resource_group_name": $PREFIX } diff --git a/solutions/quickstart/main.tf b/solutions/quickstart/main.tf new file mode 100644 index 00000000..d39a40d1 --- /dev/null +++ b/solutions/quickstart/main.tf @@ -0,0 +1,22 @@ +####################################################################################################################### +# Resource Group +####################################################################################################################### +module "resource_group" { + source = "terraform-ibm-modules/resource-group/ibm" + version = "1.1.6" + resource_group_name = var.use_existing_resource_group == false ? (var.prefix != null ? "${var.prefix}-${var.resource_group_name}" : var.resource_group_name) : null + existing_resource_group_name = var.use_existing_resource_group == true ? var.resource_group_name : null +} + +####################################################################################################################### +# Event Streams Instance +####################################################################################################################### +module "event_streams" { + source = "../../" + resource_group_id = module.resource_group.resource_group_id + es_name = var.prefix != null ? "${var.prefix}-${var.es_name}" : var.es_name + plan = var.plan + region = var.region + topics = var.topics + tags = var.resource_tags +} diff --git a/solutions/standard/outputs.tf b/solutions/quickstart/outputs.tf similarity index 100% rename from solutions/standard/outputs.tf rename to solutions/quickstart/outputs.tf diff --git a/solutions/standard/provider.tf b/solutions/quickstart/provider.tf similarity index 100% rename from solutions/standard/provider.tf rename to solutions/quickstart/provider.tf diff --git a/solutions/quickstart/variables.tf b/solutions/quickstart/variables.tf new file mode 100644 index 00000000..6742f0db --- /dev/null +++ b/solutions/quickstart/variables.tf @@ -0,0 +1,63 @@ +variable "ibmcloud_api_key" { + type = string + description = "The IBM Cloud API key." + sensitive = true +} + +variable "prefix" { + type = string + description = "Optional. The prefix to append to all resources that this solution creates." + default = null +} + +variable "use_existing_resource_group" { + type = bool + description = "Whether to use an existing resource group." + default = false +} + +variable "resource_group_name" { + type = string + description = "The name of a new or the existing resource group to provision the Event Streams instance. If a prefix input variable is passed, it is prefixed to the value in the `-value` format." + default = null +} + +variable "es_name" { + description = "The name of the Event Streams instance to create. If a prefix input variable is passed, it is prefixed to the value in the `-value` format." + type = string + default = "event-streams" +} + +variable "region" { + type = string + description = "The region where the Event Streams are created." + default = "us-south" +} + +variable "resource_tags" { + type = list(string) + description = "The list of tags associated with the Event Streams instance." + default = [] +} + +variable "plan" { + type = string + description = "The plan for the Event Streams instance. Possible values: `lite` and `standard`." + default = "standard" + validation { + condition = contains(["lite", "standard"], var.plan) + error_message = "The specified plan is not a valid selection! Supported plans are: lite, standard." + } +} + +variable "topics" { + type = list(object( + { + name = string + partitions = number + config = object({}) + } + )) + description = "The list of topics to apply to resources. Only one topic is allowed for Lite plan instances. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-event-streams/tree/main/solutions/quickstart/DA-schemas-topics-cbr.md)." + default = [] +} diff --git a/solutions/standard/version.tf b/solutions/quickstart/version.tf similarity index 100% rename from solutions/standard/version.tf rename to solutions/quickstart/version.tf diff --git a/solutions/standard/DA-schemas-topics-cbr.md b/solutions/standard/DA-schemas-topics-cbr.md deleted file mode 100644 index 04979f87..00000000 --- a/solutions/standard/DA-schemas-topics-cbr.md +++ /dev/null @@ -1,103 +0,0 @@ -# Configuring schemas, topics and context-based restriction rules in Event Streams - -When you add a Event Streams deployable architecture from the IBM Cloud catalog to IBM Cloud Projects, you can configure schemas, topics, and context-based restriction rules. When you edit your project configuration, select the **Configure** panel, and then click the **Optional** tab. - -To enter a custom value, use the edit action to open the "Edit Array" panel. Add the schemas, topics, and context-based restriction rules configurations to the array. - -## Options with schemas - - -- `schema_id` (optional): The unique ID to assign to the schema. If this value is not specified, a generated `UUID` is assigned. -- `schema` - - `type` (required): schema type. - - `name` (required): schema name. - - `fields` (optional, only required when schema `type` is `complex`): A list of `name`, `type` field pairs. For more information, see [Using Event Streams Schema Registry](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-ES_schema_registry). - -The following example includes all the configuration options for schemas. - -```hcl -[ - { - schema_id = "my-es-schema_1" - schema = { - type = "string" - name = "name_1" - } - }, - { - schema_id = "my-es-schema_2" - schema = { - type = "record" - name = "name_2", - fields : [ - {"name": "value_1", "type": "long"}, - {"name": "value_2", "type": "string"} - ] - } - } -] -``` - -## Options with topics - -- `name` (required): The name of the topic. -- `partitions` (optional): The number of partitions of the topic. The default value is `1`. -- `config` (optional): The configuration parameters of the topic. Supported configurations are: `cleanup.policy`, `retention.ms`, `retention.bytes`, `segment.bytes`, `segment.ms`, `segment.index.bytes`. - -The following example includes all the configuration options for topics. - -```hcl -[ - { - name = "my-es-topic" - partitions = 1 - config = { - "cleanup.policy" = "delete" - "retention.ms" = "86400000" - "retention.bytes" = "10485760" - "segment.bytes" = "10485760" - } - }, - { - name = "topic-2" - partitions = 1 - config = { - "cleanup.policy" = "compact,delete" - "retention.ms" = "86400000" - "retention.bytes" = "1073741824" - "segment.bytes" = "536870912" - } - } -] -``` - -## Options with Context-based restriction rules - -- `description` (required): The description of the rule. -- `account_id` (required): Your IBM Cloud account ID. -- `enforcement_mode`(required): The rule enforcement mode. Allowable values are: `enabled`, `disabled`, `report`. For more information, see [What are context-based restrictions](https://cloud.ibm.com/docs/account?topic=account-context-restrictions-whatis#rule-enforcement). -- `rule_contexts` (optional): The contexts this rule applies to. For more information, see [Rule contexts](https://cloud.ibm.com/docs/account?topic=account-context-restrictions-whatis#restriction-context). - - `attributes` (required): List of attributes. - - `name` (required): The attribute name. - - `value` (required): The attribute value. - -The following example includes all the configuration options for a context-based restriction rule. - -```hcl -{ - description = "Event stream access only from vpc" - enforcement_mode = "enabled" - account_id = "XX....XX" - rule_contexts = [{ - attributes = [ - { - "name" : "endpointType", - "value" : "private" - }, - { - name = "networkZoneId" - value = <> - }] - }] -} -``` diff --git a/solutions/standard/README.md b/solutions/standard/README.md deleted file mode 100644 index dafbee17..00000000 --- a/solutions/standard/README.md +++ /dev/null @@ -1,21 +0,0 @@ -# Event Streams for IBM Cloud - Financial Services Cloud solution - -This architecture creates an Enterprise plan instance of IBM Event Streams for IBM Cloud that is IBM Cloud Financial Services certified. - -The solution provisions the following resources: - -- A resource group, if one is not passed in. -- An Event Streams Enterprise plan instance, set up with KMS encryption to encrypt data. -- Topics to apply to resources. Only one topic is allowed for Lite plan instances. -- Schema definitions. -- Context-based restriction rules for the instance. - -![da-fscloud](../../reference-architecture/da-fscloud.svg) - -## Before you begin - -You need the following prerequisites set up to deploy the Event Streams instance with this solution. - -- An instance of Hyper Protect Crypto Services. -- A root key CRN of the Hyper Protect Crypto Services instance. -- An authorization policy to allow the Event Streams service to access the Hyper Protect Crypto Services instance with the reader role. For more information, see [About KMS encryption](../../README.md#about-kms-encryption) in the main readme file. diff --git a/solutions/standard/main.tf b/solutions/standard/main.tf deleted file mode 100644 index 1ea90c35..00000000 --- a/solutions/standard/main.tf +++ /dev/null @@ -1,18 +0,0 @@ -module "resource_group" { - source = "terraform-ibm-modules/resource-group/ibm" - version = "1.1.6" - resource_group_name = var.existing_resource_group == false ? var.resource_group_name : null - existing_resource_group_name = var.existing_resource_group == true ? var.resource_group_name : null -} - -module "event_streams" { - source = "../../modules/fscloud" - resource_group_id = module.resource_group.resource_group_id - es_name = var.es_name - region = var.region - kms_key_crn = var.kms_key_crn - schemas = var.schemas - topics = var.topics - tags = var.resource_tags - cbr_rules = var.cbr_rules -} diff --git a/solutions/standard/variables.tf b/solutions/standard/variables.tf deleted file mode 100644 index b02c80a4..00000000 --- a/solutions/standard/variables.tf +++ /dev/null @@ -1,88 +0,0 @@ -variable "ibmcloud_api_key" { - type = string - description = "The IBM Cloud API key." - sensitive = true -} - -variable "existing_resource_group" { - type = bool - description = "Whether to use an existing resource group." - default = false -} - -variable "resource_group_name" { - type = string - description = "The name of a new or the existing resource group in which to provision the Event Streams instance." -} - -variable "es_name" { - description = "The name to give the Event Streams instance created by this solution." - type = string -} - -variable "region" { - type = string - description = "The region where the Event Streams are created." - default = "us-south" -} - -variable "resource_tags" { - type = list(string) - description = "The list of tags associated with the Event Steams instance." - default = [] -} - -variable "schemas" { - type = list(object( - { - schema_id = string - schema = object({ - type = string - name = string - fields = optional(list(object({ - name = string - type = string - }))) - }) - } - )) - description = "The list of schema objects. Include the `schema_id` and the `type` and `name` of the schema in the `schema` object. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-event-streams/tree/main/solutions/standard/DA-schemas-topics-cbr.md)." - default = [] -} - -variable "topics" { - type = list(object( - { - name = string - partitions = number - config = object({}) - } - )) - description = "The list of topics to apply to resources. Only one topic is allowed for Lite plan instances. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-event-streams/tree/main/solutions/standard/DA-schemas-topics-cbr.md)." - default = [] -} - -variable "kms_key_crn" { - type = string - description = "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. Configure an authorization policy to allow the Event Streams service to access the key management service instance with the reader role ([Learn more](https://cloud.ibm.com/docs/account?topic=account-serviceauth)). You can't manage the policy in the same Terraform state file as the Event Streams service instance ([Learn more](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-managing_encryption#using_encryption))." -} - -############################################################## -# Context-based restriction (CBR) -############################################################## - -variable "cbr_rules" { - type = list(object({ - description = string - account_id = string - rule_contexts = list(object({ - attributes = optional(list(object({ - name = string - value = string - }))) })) - enforcement_mode = string - })) - description = "The list of context-based restriction rules to create. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-event-streams/tree/main/solutions/standard/DA-schemas-topics-cbr.md)." - default = [] - # Validation happens in the rule module -} diff --git a/tests/pr_test.go b/tests/pr_test.go index dd2b4f48..5edb5b5b 100644 --- a/tests/pr_test.go +++ b/tests/pr_test.go @@ -12,7 +12,7 @@ import ( ) const completeExampleTerraformDir = "examples/complete" -const fsCloudSolutionTerraformDir = "solutions/standard" +const quickstartSolutionTerraformDir = "solutions/quickstart" // Use existing group for tests const resourceGroup = "geretain-test-event-streams" @@ -59,22 +59,21 @@ func TestRunUpgradeExample(t *testing.T) { } } -func TestRunfsCloudSolution(t *testing.T) { +func TestRunQuickstartSolution(t *testing.T) { t.Parallel() options := testhelper.TestOptionsDefaultWithVars(&testhelper.TestOptions{ Testing: t, - TerraformDir: fsCloudSolutionTerraformDir, - Prefix: "es-fscloud", + TerraformDir: quickstartSolutionTerraformDir, + Prefix: "es-qs", ResourceGroup: resourceGroup, }) options.TerraformVars = map[string]interface{}{ - "ibmcloud_api_key": options.RequiredEnvironmentVars["TF_VAR_ibmcloud_api_key"], - "kms_key_crn": permanentResources["hpcs_south_root_key_crn"], - "resource_group_name": options.ResourceGroup, - "existing_resource_group": true, - "es_name": options.Prefix, + "ibmcloud_api_key": options.RequiredEnvironmentVars["TF_VAR_ibmcloud_api_key"], + "resource_group_name": options.ResourceGroup, + "use_existing_resource_group": true, + "prefix": options.Prefix, } output, err := options.RunTestConsistency() diff --git a/variables.tf b/variables.tf index 7fcaf65d..70302ca6 100644 --- a/variables.tf +++ b/variables.tf @@ -107,7 +107,7 @@ variable "topics" { variable "kms_key_crn" { type = string - description = "The root key CRN of the key management service (Key Protect or Hyper Protect Crypto Services) to use to encrypt the payload data. Applies only if `kms_encryption_enabled` is set to `true`. [Learn more](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-managing_encryption) about integrating Hyper Protect Crypto Services with Event Streams. Configure an authorization policy to allow the Event Streams service to access the key management service instance with the reader role ([Learn more](https://cloud.ibm.com/docs/account?topic=account-serviceauth)). You can't manage the policy in the same Terraform state file as the Event Streams service instance ([Learn more](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-managing_encryption#using_encryption))." + description = "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. Configure an authorization policy to allow the Event Streams service to access the key management service instance with the reader role ([Learn more](https://cloud.ibm.com/docs/account?topic=account-serviceauth)). You can't manage the policy in the same Terraform state file as the Event Streams service instance ([Learn more](https://cloud.ibm.com/docs/EventStreams?topic=EventStreams-managing_encryption#using_encryption))." default = null validation { condition = anytrue([