@@ -8,15 +8,7 @@ module "secret" {
8
8
resource_tags = var. tags
9
9
trust_tags = var. trust_tags
10
10
11
- initial_value = jsonencode ({
12
- dbname = var.database_name
13
- engine = data.aws_db_instance.this.engine
14
- host = data.aws_db_instance.this.address
15
- replica_host = data.aws_db_instance.replica.address
16
- password = var.initial_password
17
- port = tostring (data. aws_db_instance . this . port )
18
- username = var.username
19
- })
11
+ initial_value = jsonencode (local. initial_secret_value )
20
12
}
21
13
22
14
module "rotation" {
@@ -79,9 +71,22 @@ data "aws_db_instance" "this" {
79
71
}
80
72
81
73
data "aws_db_instance" "replica" {
74
+ count = var. replica_identifier ? 1 : 0
75
+
82
76
db_instance_identifier = var. replica_identifier
83
77
}
84
78
85
79
locals {
86
80
full_name = join (" -" , [" rds-postgres" , var . identifier ])
81
+
82
+ base_value = {
83
+ dbname = var.database_name
84
+ engine = data.aws_db_instance.this.engine
85
+ host = data.aws_db_instance.this.address
86
+ password = var.initial_password
87
+ port = tostring (data. aws_db_instance . this . port )
88
+ username = var.username
89
+ }
90
+
91
+ initial_secret_value = var. replica_identifier ? local. base_value : merge (locals. base_value , { replica_host = data.aws_db_instance.replica.address })
87
92
}
0 commit comments