Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions ibm_catalog.json
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@
"key": "service_credential_secrets"
},
{
"key": "skip_mysql_sm_auth_policy"
"key": "skip_mysql_secrets_manager_auth_policy"
},
{
"key": "skip_mysql_kms_auth_policy"
Expand All @@ -299,13 +299,13 @@
"key": "backup_crn"
},
{
"key": "admin_pass_secret_manager_secret_group"
"key": "admin_pass_secrets_manager_secret_group"
},
{
"key": "admin_pass_secret_manager_secret_name"
"key": "admin_pass_secrets_manager_secret_name"
},
{
"key": "use_existing_admin_pass_secret_manager_secret_group"
"key": "use_existing_admin_pass_secrets_manager_secret_group"
},
{
"key": "existing_mysql_instance_crn"
Expand Down
8 changes: 4 additions & 4 deletions solutions/standard/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ locals {

locals {
## Variable validation (approach based on https://github.com/hashicorp/terraform/issues/25609#issuecomment-1057614400)
create_sm_auth_policy = var.skip_mysql_sm_auth_policy || var.existing_secrets_manager_instance_crn == null ? 0 : 1
create_sm_auth_policy = var.skip_mysql_secrets_manager_auth_policy || var.existing_secrets_manager_instance_crn == null ? 0 : 1
}

# Parse the Secrets Manager CRN
Expand Down Expand Up @@ -369,10 +369,10 @@ locals {

# Build the structure of the arbitrary credential type secret for admin password
admin_pass_secret = [{
secret_group_name = (var.prefix != null && var.prefix != "") && var.admin_pass_secret_manager_secret_group != null ? "${var.prefix}-${var.admin_pass_secret_manager_secret_group}" : var.admin_pass_secret_manager_secret_group
existing_secret_group = var.use_existing_admin_pass_secret_manager_secret_group
secret_group_name = (var.prefix != null && var.prefix != "") && var.admin_pass_secrets_manager_secret_group != null ? "${var.prefix}-${var.admin_pass_secrets_manager_secret_group}" : var.admin_pass_secrets_manager_secret_group
existing_secret_group = var.use_existing_admin_pass_secrets_manager_secret_group
secrets = [{
secret_name = (var.prefix != null && var.prefix != "") && var.admin_pass_secret_manager_secret_name != null ? "${var.prefix}-${var.admin_pass_secret_manager_secret_name}" : var.admin_pass_secret_manager_secret_name
secret_name = (var.prefix != null && var.prefix != "") && var.admin_pass_secrets_manager_secret_name != null ? "${var.prefix}-${var.admin_pass_secrets_manager_secret_name}" : var.admin_pass_secrets_manager_secret_name
secret_type = "arbitrary"
secret_payload_password = local.admin_pass
}
Expand Down
18 changes: 9 additions & 9 deletions solutions/standard/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -376,43 +376,43 @@ variable "service_credential_secrets" {
}
}

variable "skip_mysql_sm_auth_policy" {
variable "skip_mysql_secrets_manager_auth_policy" {
type = bool
default = false
description = "Whether an IAM authorization policy is created for Secrets Manager instance to create a service credential secrets for Databases for MySQL. If set to false, the Secrets Manager instance passed by the user is granted the Key Manager access to the MySQL instance created by the Deployable Architecture. Set to `true` to use an existing policy. The value of this is ignored if any value for 'existing_secrets_manager_instance_crn' is not passed."
}

variable "admin_pass_secret_manager_secret_group" {
variable "admin_pass_secrets_manager_secret_group" {
type = string
description = "The name of a new or existing secrets manager secret group for admin password. To use existing secret group, `use_existing_admin_pass_secret_manager_secret_group` must be set to `true`. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format."
description = "The name of a new or existing secrets manager secret group for admin password. To use existing secret group, `use_existing_admin_pass_secrets_manager_secret_group` must be set to `true`. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format."
default = "mysql-secrets"

validation {
condition = (
var.existing_secrets_manager_instance_crn == null ||
var.admin_pass_secret_manager_secret_group != null
var.admin_pass_secrets_manager_secret_group != null
)
error_message = "`admin_pass_secret_manager_secret_group` is required when `existing_secrets_manager_instance_crn` is set."
error_message = "`admin_pass_secrets_manager_secret_group` is required when `existing_secrets_manager_instance_crn` is set."
}
}

variable "use_existing_admin_pass_secret_manager_secret_group" {
variable "use_existing_admin_pass_secrets_manager_secret_group" {
type = bool
description = "Whether to use an existing secrets manager secret group for admin password."
default = false

}

variable "admin_pass_secret_manager_secret_name" {
variable "admin_pass_secrets_manager_secret_name" {
type = string
description = "The name of a new redis administrator secret. If a prefix input variable is specified, the prefix is added to the name in the `<prefix>-<name>` format."
default = "mysql-admin-password"

validation {
condition = (
var.existing_secrets_manager_instance_crn == null ||
var.admin_pass_secret_manager_secret_name != null
var.admin_pass_secrets_manager_secret_name != null
)
error_message = "`admin_pass_secret_manager_secret_name` is required when `existing_secrets_manager_instance_crn` is set."
error_message = "`admin_pass_secrets_manager_secret_name` is required when `existing_secrets_manager_instance_crn` is set."
}
}