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
21 changes: 11 additions & 10 deletions src/cluster-regional.tf
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,17 @@ module "aurora_postgres_cluster" {
source = "cloudposse/rds-cluster/aws"
version = "2.1.1"

cluster_type = "regional"
engine = var.engine
engine_version = var.engine_version
engine_mode = var.engine_mode
cluster_family = var.cluster_family
instance_type = var.instance_type
cluster_size = var.cluster_size
promotion_tier = var.promotion_tier
admin_user = local.admin_user
admin_password = local.admin_password
cluster_type = "regional"
engine = var.engine
engine_version = var.engine_version
engine_mode = var.engine_mode
cluster_family = var.cluster_family
instance_type = var.instance_type
cluster_size = var.cluster_size
promotion_tier = var.promotion_tier
admin_user = local.admin_user
admin_password = local.admin_password
manage_admin_user_password = var.manage_admin_user_password

db_name = local.database_name
publicly_accessible = var.publicly_accessible
Expand Down
11 changes: 8 additions & 3 deletions src/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,14 @@ locals {

zone_id = module.dns_gbl_delegated.outputs.default_dns_zone_id

admin_user = length(var.admin_user) > 0 ? var.admin_user : join("", random_pet.admin_user[*].id)
admin_password = length(var.admin_password) > 0 ? var.admin_password : join("", random_password.admin_password[*].result)
database_name = length(var.database_name) > 0 ? var.database_name : join("", random_pet.database_name[*].id)
# 1. If manage_admin_user_password is true, AWS manages the password (admin_password must be empty)
# 2. If admin_password is provided, that value is used (manage_admin_user_password must be false)
# 3. If both are unset/false/empty, the module creates a random password
create_password = local.enabled && var.admin_password == "" && !var.manage_admin_user_password
admin_password = var.manage_admin_user_password ? null : (local.create_password ? one(random_password.admin_password[*].result) : var.admin_password)

admin_user = length(var.admin_user) > 0 ? var.admin_user : one(random_pet.admin_user[*].id)
database_name = length(var.database_name) > 0 ? var.database_name : one(random_pet.database_name[*].id)

cluster_dns_name_prefix = format("%v%v%v%v", module.this.name, module.this.delimiter, var.cluster_name, module.this.delimiter)
cluster_dns_name = format("%v%v", local.cluster_dns_name_prefix, var.cluster_dns_name_part)
Expand Down
7 changes: 7 additions & 0 deletions src/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,13 @@ variable "admin_password" {
}
}

variable "manage_admin_user_password" {
type = bool
default = false
description = "Set to true to allow RDS to manage the master user password in Secrets Manager. Cannot be set if admin_password is provided"
nullable = false
}

# https://aws.amazon.com/rds/aurora/pricing
variable "instance_type" {
type = string
Expand Down
Loading