Skip to content

Commit e83d417

Browse files
authored
fix: fix kms reference error when sm crn is set (#112)
* fix: fix kms reference error when sm crn is set * fix: leverage lookup by crn to return existing sm instance details * fix: output index * docs: fix description
1 parent 6b4d74f commit e83d417

File tree

3 files changed

+14
-7
lines changed

3 files changed

+14
-7
lines changed

solutions/standard/main.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
########################################################################################################################
44

55
module "resource_group" {
6+
count = var.existing_secrets_manager_crn == null ? 1 : 0
67
source = "terraform-ibm-modules/resource-group/ibm"
78
version = "1.1.4"
89
resource_group_name = var.use_existing_resource_group == false ? (var.prefix != null ? "${var.prefix}-${var.resource_group_name}" : var.resource_group_name) : null
@@ -13,7 +14,7 @@ module "resource_group" {
1314
# KMS Key
1415
#######################################################################################################################
1516
locals {
16-
kms_key_crn = var.existing_secrets_manager_kms_key_crn != null ? var.existing_secrets_manager_kms_key_crn : module.kms[0].keys[format("%s.%s", local.kms_key_ring_name, local.kms_key_name)].crn
17+
kms_key_crn = var.existing_secrets_manager_crn == null ? (var.existing_secrets_manager_kms_key_crn != null ? var.existing_secrets_manager_kms_key_crn : module.kms[0].keys[format("%s.%s", local.kms_key_ring_name, local.kms_key_name)].crn) : null
1718
kms_key_ring_name = var.prefix != null ? "${var.prefix}-${var.kms_key_ring_name}" : var.kms_key_ring_name
1819
kms_key_name = var.prefix != null ? "${var.prefix}-${var.kms_key_name}" : var.kms_key_name
1920

@@ -67,7 +68,7 @@ locals {
6768
module "secrets_manager" {
6869
count = var.existing_secrets_manager_crn != null ? 0 : 1
6970
source = "../.."
70-
resource_group_id = module.resource_group.resource_group_id
71+
resource_group_id = module.resource_group[0].resource_group_id
7172
region = var.region
7273
secrets_manager_name = var.prefix != null ? "${var.prefix}-${var.secrets_manager_instance_name}" : var.secrets_manager_instance_name
7374
sm_service_plan = var.service_plan
@@ -137,3 +138,8 @@ module "private_secret_engine" {
137138
certificate_template_name = var.certificate_template_name
138139
endpoint_type = var.allowed_network == "private-only" ? "private" : "public"
139140
}
141+
142+
data "ibm_resource_instance" "existing_sm" {
143+
count = var.existing_secrets_manager_crn == null ? 0 : 1
144+
identifier = var.existing_secrets_manager_crn
145+
}

solutions/standard/outputs.tf

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
output "resource_group_name" {
22
description = "Resource group name"
3-
value = module.resource_group.resource_group_name
3+
value = var.existing_secrets_manager_crn == null ? module.resource_group[0].resource_group_name : data.ibm_resource_instance.existing_sm[0].resource_group_name
44
}
55

66
output "resource_group_id" {
77
description = "Resource group ID"
8-
value = module.resource_group.resource_group_id
8+
value = var.existing_secrets_manager_crn == null ? module.resource_group[0].resource_group_name : data.ibm_resource_instance.existing_sm[0].resource_group_id
99
}
1010

1111
output "secrets_manager_guid" {
@@ -14,12 +14,12 @@ output "secrets_manager_guid" {
1414
}
1515

1616
output "secrets_manager_id" {
17-
description = "ID of Secrets Manager instance"
17+
description = "ID of Secrets Manager instance. Same value as secrets_manager_guid"
1818
value = var.existing_secrets_manager_crn == null ? module.secrets_manager[0].secrets_manager_id : local.secrets_manager_guid
1919
}
2020

2121
output "secrets_manager_name" {
22-
value = var.existing_secrets_manager_crn == null ? module.secrets_manager[0].secrets_manager_name : null
22+
value = var.existing_secrets_manager_crn == null ? module.secrets_manager[0].secrets_manager_name : data.ibm_resource_instance.existing_sm[0].resource_name
2323
description = "Name of the Secrets Manager instance"
2424
}
2525

solutions/standard/variables.tf

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ variable "use_existing_resource_group" {
1616

1717
variable "resource_group_name" {
1818
type = string
19-
description = "The name of a new or an existing resource group in which to provision Secrets Manager resources to. If prefix input variable is passed then it will get prefixed infront of the value in the format of '<prefix>-value'"
19+
description = "The name of a new or an existing resource group in which to provision Secrets Manager resources to. If prefix input variable is passed then it will get prefixed infront of the value in the format of '<prefix>-value'. Optional if existing_secrets_manager_crn is not set."
20+
default = null
2021
}
2122

2223
variable "region" {

0 commit comments

Comments
 (0)