diff --git a/.secrets.baseline b/.secrets.baseline index 590ad19..d8cc48b 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -3,7 +3,7 @@ "files": "go.sum|^.secrets.baseline$", "lines": null }, - "generated_at": "2023-12-10T06:40:44Z", + "generated_at": "2023-12-11T06:40:44Z", "plugins_used": [ { "name": "AWSKeyDetector" diff --git a/README.md b/README.md index d49d874..42ecee8 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ You need the following permissions to run this module. | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.0 | -| [ibm](#requirement\_ibm) | >=1.64.1, <2.0.0 | +| [ibm](#requirement\_ibm) | >=1.71.3, <2.0.0 | | [time](#requirement\_time) | >= 0.9.1, <1.0.0 | ### Modules @@ -101,6 +101,8 @@ You need the following permissions to run this module. | [cos\_bucket](#input\_cos\_bucket) | The name of the Cloud Object Storage bucket to be used in SCC instance. Required when creating a new SCC instance. | `string` | `null` | no | | [cos\_instance\_crn](#input\_cos\_instance\_crn) | CRN of the Cloud Object Storage to store SCC data. Required when creating a new SCC instance. | `string` | `null` | no | | [en\_instance\_crn](#input\_en\_instance\_crn) | The CRN of Event Notifications instance to be used with SCC. If no value is provided, Event Notifications will not be enabled for this SCC instance | `string` | `null` | no | +| [en\_source\_description](#input\_en\_source\_description) | Optional description to give for the Event Notifications integration source. Only used if a value is passed for `en_instance_crn`. | `string` | `null` | no | +| [en\_source\_name](#input\_en\_source\_name) | The source name to use for the Event Notifications integration. Required if a value is passed for `en_instance_crn`. | `string` | `null` | no | | [existing\_scc\_instance\_crn](#input\_existing\_scc\_instance\_crn) | The CRN of an existing Security and Compliance Center instance. If not supplied, a new instance will be created. | `string` | `null` | no | | [instance\_name](#input\_instance\_name) | Name of the security and compliance instance that will be provisioned by this module | `string` | n/a | yes | | [plan](#input\_plan) | Pricing plan to create SCC instance. Options include security-compliance-center-standard-plan or security-compliance-center-trial-plan | `string` | `"security-compliance-center-standard-plan"` | no | diff --git a/examples/basic/version.tf b/examples/basic/version.tf index d2c4a2c..891a605 100644 --- a/examples/basic/version.tf +++ b/examples/basic/version.tf @@ -3,7 +3,7 @@ terraform { required_providers { ibm = { source = "IBM-Cloud/ibm" - version = ">= 1.66.0" + version = ">= 1.71.3" } } } diff --git a/examples/complete/main.tf b/examples/complete/main.tf index c75ac43..5da0784 100644 --- a/examples/complete/main.tf +++ b/examples/complete/main.tf @@ -68,6 +68,7 @@ module "create_scc_instance" { cos_bucket = var.existing_scc_instance_crn == null ? module.cos[0].bucket_name : null cos_instance_crn = var.existing_scc_instance_crn == null ? module.cos[0].cos_instance_id : null en_instance_crn = module.event_notification.crn + en_source_name = module.event_notification.event_notification_instance_name skip_cos_iam_authorization_policy = false attach_wp_to_scc_instance = true skip_scc_wp_auth_policy = false diff --git a/examples/complete/version.tf b/examples/complete/version.tf index 5414c79..44bdb94 100644 --- a/examples/complete/version.tf +++ b/examples/complete/version.tf @@ -6,7 +6,7 @@ terraform { required_providers { ibm = { source = "IBM-Cloud/ibm" - version = ">= 1.64.1" + version = ">= 1.71.3" } } } diff --git a/main.tf b/main.tf index f7dfb7b..05aaf5b 100644 --- a/main.tf +++ b/main.tf @@ -83,6 +83,8 @@ resource "time_sleep" "wait_for_scc_cos_authorization_policy" { locals { # tflint-ignore: terraform_unused_declarations validate_new_scc_instance_cos_setting = var.existing_scc_instance_crn == null && anytrue([var.cos_bucket == null, var.cos_instance_crn == null]) ? tobool("when creating a new SCC instance, both both `var.cos_instance_crn` and `var.cos_bucket` are required.") : false + # tflint-ignore: terraform_unused_declarations + validate_en_integration = var.en_instance_crn != null && var.en_source_name == null ? tobool("When passing a value for 'en_instance_crn', a value must also be passed for 'en_source_name'.") : false } # attach a COS bucket and an event notifications instance @@ -91,7 +93,9 @@ resource "ibm_scc_instance_settings" "scc_instance_settings" { count = var.existing_scc_instance_crn == null ? 1 : 0 instance_id = resource.ibm_resource_instance.scc_instance[0].guid event_notifications { - instance_crn = var.en_instance_crn + instance_crn = var.en_instance_crn + source_name = var.en_source_name + source_description = var.en_source_description } object_storage { instance_crn = var.cos_instance_crn diff --git a/modules/attachment/README.md b/modules/attachment/README.md index 5ee7d95..4f9c1e3 100644 --- a/modules/attachment/README.md +++ b/modules/attachment/README.md @@ -38,7 +38,7 @@ module "create_scc_profile_attachment " { | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | >= 1.3.0 | -| [ibm](#requirement\_ibm) | >=1.64.1, <2.0.0 | +| [ibm](#requirement\_ibm) | >=1.71.3, <2.0.0 | ### Modules diff --git a/modules/attachment/version.tf b/modules/attachment/version.tf index 2eafbc3..ff2e1fc 100644 --- a/modules/attachment/version.tf +++ b/modules/attachment/version.tf @@ -4,7 +4,7 @@ terraform { required_providers { ibm = { source = "IBM-Cloud/ibm" - version = ">=1.64.1, <2.0.0" + version = ">=1.71.3, <2.0.0" } } } diff --git a/variables.tf b/variables.tf index f644859..02b6732 100644 --- a/variables.tf +++ b/variables.tf @@ -85,6 +85,18 @@ variable "en_instance_crn" { description = "The CRN of Event Notifications instance to be used with SCC. If no value is provided, Event Notifications will not be enabled for this SCC instance" } +variable "en_source_name" { + type = string + default = null + description = "The source name to use for the Event Notifications integration. Required if a value is passed for `en_instance_crn`." +} + +variable "en_source_description" { + type = string + default = null + description = "Optional description to give for the Event Notifications integration source. Only used if a value is passed for `en_instance_crn`." +} + variable "skip_cos_iam_authorization_policy" { type = bool default = false diff --git a/version.tf b/version.tf index 675e573..7f98f87 100644 --- a/version.tf +++ b/version.tf @@ -6,7 +6,7 @@ terraform { required_providers { ibm = { source = "IBM-Cloud/ibm" - version = ">=1.64.1, <2.0.0" + version = ">=1.71.3, <2.0.0" } time = {