Skip to content

Commit 77597be

Browse files
arya-girish-kArya Girish K
andauthored
refactor: allow prefix as empty string, marked as required in catalog variables and set default value of prefix as dev (#274)
* refactor: Update prefix logic in DA * fix: update prefix value * fix: Updated logic with try --------- Co-authored-by: Arya Girish K <[email protected]>
1 parent f50b43d commit 77597be

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

ibm_catalog.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,9 @@
133133
]
134134
},
135135
{
136-
"key": "prefix"
136+
"key": "prefix",
137+
"required": true,
138+
"description": "Prefix to add to all resources created by this solution. To not use any prefix value, you can enter the string `__NULL__`."
137139
},
138140
{
139141
"key": "secrets_manager_instance_name"

solutions/standard/main.tf

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,14 @@ locals {
66
validate_resource_group = (var.existing_secrets_manager_crn == null && var.resource_group_name == null) ? tobool("Resource group name can not be null if existing secrets manager CRN is not set.") : true
77
# tflint-ignore: terraform_unused_declarations
88
validate_event_notifications = (var.existing_event_notification_instance_crn == null && var.enable_event_notification) ? tobool("To enable event notifications, an existing event notifications CRN must be set.") : true
9+
prefix = var.prefix != null ? (var.prefix != "" ? var.prefix : null) : null
910
}
1011

1112
module "resource_group" {
1213
count = var.existing_secrets_manager_crn == null ? 1 : 0
1314
source = "terraform-ibm-modules/resource-group/ibm"
1415
version = "1.1.6"
15-
resource_group_name = var.use_existing_resource_group == false ? (var.prefix != null ? "${var.prefix}-${var.resource_group_name}" : var.resource_group_name) : null
16+
resource_group_name = var.use_existing_resource_group == false ? try("${local.prefix}-${var.resource_group_name}", var.resource_group_name) : null
1617
existing_resource_group_name = var.use_existing_resource_group == true ? var.resource_group_name : null
1718
}
1819

@@ -21,8 +22,8 @@ module "resource_group" {
2122
#######################################################################################################################
2223
locals {
2324
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) : var.existing_secrets_manager_kms_key_crn
24-
kms_key_ring_name = var.prefix != null ? "${var.prefix}-${var.kms_key_ring_name}" : var.kms_key_ring_name
25-
kms_key_name = var.prefix != null ? "${var.prefix}-${var.kms_key_name}" : var.kms_key_name
25+
kms_key_ring_name = try("${local.prefix}-${var.kms_key_ring_name}", var.kms_key_ring_name)
26+
kms_key_name = try("${local.prefix}-${var.kms_key_name}", var.kms_key_name)
2627

2728
parsed_existing_kms_instance_crn = var.existing_kms_instance_crn != null ? split(":", var.existing_kms_instance_crn) : []
2829
kms_region = length(local.parsed_existing_kms_instance_crn) > 0 ? local.parsed_existing_kms_instance_crn[5] : null
@@ -105,7 +106,7 @@ module "secrets_manager" {
105106
existing_sm_instance_crn = var.existing_secrets_manager_crn
106107
resource_group_id = var.existing_secrets_manager_crn == null ? module.resource_group[0].resource_group_id : data.ibm_resource_instance.existing_sm[0].resource_group_id
107108
region = var.region
108-
secrets_manager_name = var.prefix != null ? "${var.prefix}-${var.secrets_manager_instance_name}" : var.secrets_manager_instance_name
109+
secrets_manager_name = try("${local.prefix}-${var.secrets_manager_instance_name}", var.secrets_manager_instance_name)
109110
sm_service_plan = var.service_plan
110111
allowed_network = var.allowed_network
111112
sm_tags = var.secret_manager_tags
@@ -128,7 +129,7 @@ module "iam_secrets_engine" {
128129
source = "terraform-ibm-modules/secrets-manager-iam-engine/ibm"
129130
version = "1.2.6"
130131
region = local.secrets_manager_region
131-
iam_engine_name = var.prefix != null ? "${var.prefix}-${var.iam_engine_name}" : var.iam_engine_name
132+
iam_engine_name = try("${local.prefix}-${var.iam_engine_name}", var.iam_engine_name)
132133
secrets_manager_guid = local.secrets_manager_guid
133134
endpoint_type = local.sm_endpoint_type
134135
}

solutions/standard/variables.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ variable "region" {
3838

3939
variable "prefix" {
4040
type = string
41-
description = "The prefix to apply to all resources created by this solution."
42-
default = null
41+
description = "The prefix to add to all resources created by this solution. To not use any prefix value, you can set this value to `null` or an empty string."
42+
default = "dev"
4343
}
4444

4545
########################################################################################################################

0 commit comments

Comments
 (0)