diff --git a/README.md b/README.md
index 4a32830..99550ae 100644
--- a/README.md
+++ b/README.md
@@ -188,6 +188,17 @@ No modules.
| Name | Description |
|------|-------------|
+| [db\_custom\_replica\_address](#output\_db\_custom\_replica\_address) | The address of the replica instance (Advanced mode). |
+| [db\_custom\_replica\_arn](#output\_db\_custom\_replica\_arn) | The ARN of the replica instance (Advanced mode). |
+| [db\_custom\_replica\_availability\_zone](#output\_db\_custom\_replica\_availability\_zone) | The availability zone of the replica instance (Advanced mode). |
+| [db\_custom\_replica\_backup\_retention\_period](#output\_db\_custom\_replica\_backup\_retention\_period) | The backup window of the replica instance (Advanced mode). |
+| [db\_custom\_replica\_backup\_window](#output\_db\_custom\_replica\_backup\_window) | The backup retention period of the replica instance (Advanced mode). |
+| [db\_custom\_replica\_endpoint](#output\_db\_custom\_replica\_endpoint) | The connection endpoint of the replica instance (Advanced mode). |
+| [db\_custom\_replica\_engine\_version\_actual](#output\_db\_custom\_replica\_engine\_version\_actual) | The running version of the replica instance (Advanced mode). |
+| [db\_custom\_replica\_identifier](#output\_db\_custom\_replica\_identifier) | The replica instance identifier (Advanced mode). |
+| [db\_custom\_replica\_maintenance\_window](#output\_db\_custom\_replica\_maintenance\_window) | The maintenance window of the replica instance (Advanced mode). |
+| [db\_custom\_replica\_resource\_id](#output\_db\_custom\_replica\_resource\_id) | The Resource ID of the replica instance (Advanced mode). |
+| [db\_custom\_replica\_status](#output\_db\_custom\_replica\_status) | The status of the replica instance (Advanced mode). |
| [db\_instance\_address](#output\_db\_instance\_address) | The address of the RDS instance. |
| [db\_instance\_arn](#output\_db\_instance\_arn) | The ARN of the RDS instance. |
| [db\_instance\_availability\_zone](#output\_db\_instance\_availability\_zone) | The availability zone of the RDS instance. |
@@ -197,8 +208,32 @@ No modules.
| [db\_instance\_engine\_version\_actual](#output\_db\_instance\_engine\_version\_actual) | The running version of the RDS instance. |
| [db\_instance\_identifier](#output\_db\_instance\_identifier) | The RDS instance identifier. |
| [db\_instance\_maintenance\_window](#output\_db\_instance\_maintenance\_window) | The maintenance window of the RDS instance. |
+| [db\_instance\_replica\_address](#output\_db\_instance\_replica\_address) | The address of the replica instance. |
+| [db\_instance\_replica\_arn](#output\_db\_instance\_replica\_arn) | The ARN of the replica instance. |
| [db\_instance\_replica\_availability\_zone](#output\_db\_instance\_replica\_availability\_zone) | The availability zone of the replica instance. |
+| [db\_instance\_replica\_backup\_retention\_period](#output\_db\_instance\_replica\_backup\_retention\_period) | The backup window of the replica instance. |
+| [db\_instance\_replica\_backup\_window](#output\_db\_instance\_replica\_backup\_window) | The backup retention period of the replica instance. |
+| [db\_instance\_replica\_endpoint](#output\_db\_instance\_replica\_endpoint) | The connection endpoint of the replica instance. |
+| [db\_instance\_replica\_engine\_version\_actual](#output\_db\_instance\_replica\_engine\_version\_actual) | The running version of the replica instance. |
+| [db\_instance\_replica\_identifier](#output\_db\_instance\_replica\_identifier) | The replica instance identifier. |
+| [db\_instance\_replica\_maintenance\_window](#output\_db\_instance\_replica\_maintenance\_window) | The maintenance window of the replica instance. |
+| [db\_instance\_replica\_resource\_id](#output\_db\_instance\_replica\_resource\_id) | The Resource ID of the replica instance. |
+| [db\_instance\_replica\_status](#output\_db\_instance\_replica\_status) | The status of the replica instance. |
+| [db\_instance\_resource\_id](#output\_db\_instance\_resource\_id) | The Resource ID of the RDS instance. |
| [db\_instance\_status](#output\_db\_instance\_status) | The status of the RDS instance. |
+| [db\_multi\_replica\_address](#output\_db\_multi\_replica\_address) | The address of the replica instance (Simple mode). |
+| [db\_multi\_replica\_arn](#output\_db\_multi\_replica\_arn) | The ARN of the replica instance (Simple mode). |
+| [db\_multi\_replica\_availability\_zone](#output\_db\_multi\_replica\_availability\_zone) | The availability zone of the replica instance (Simple mode). |
+| [db\_multi\_replica\_backup\_retention\_period](#output\_db\_multi\_replica\_backup\_retention\_period) | The backup window of the replica instance (Simple mode). |
+| [db\_multi\_replica\_backup\_window](#output\_db\_multi\_replica\_backup\_window) | The backup retention period of the replica instance (Simple mode). |
+| [db\_multi\_replica\_endpoint](#output\_db\_multi\_replica\_endpoint) | The connection endpoint of the replica instance (Simple mode). |
+| [db\_multi\_replica\_engine\_version\_actual](#output\_db\_multi\_replica\_engine\_version\_actual) | The running version of the replica instance (Simple mode). |
+| [db\_multi\_replica\_identifier](#output\_db\_multi\_replica\_identifier) | The replica instance identifier (Simple mode). |
+| [db\_multi\_replica\_maintenance\_window](#output\_db\_multi\_replica\_maintenance\_window) | The maintenance window of the replica instance (Simple mode). |
+| [db\_multi\_replica\_resource\_id](#output\_db\_multi\_replica\_resource\_id) | The Resource ID of the replica instance (Simple mode). |
+| [db\_multi\_replica\_status](#output\_db\_multi\_replica\_status) | The status of the replica instance (Simple mode). |
+| [parameter\_group\_id](#output\_parameter\_group\_id) | The ID of the DB parameter group. |
+| [subnet\_group\_id](#output\_subnet\_group\_id) | The ID of the DB subnet Group. |
## Examples of usage
diff --git a/outputs.tf b/outputs.tf
index 9ddca0c..0f527e0 100644
--- a/outputs.tf
+++ b/outputs.tf
@@ -1,3 +1,13 @@
+output "subnet_group_id" {
+ value = one(aws_db_subnet_group.main[*].id)
+ description = "The ID of the DB subnet Group."
+}
+
+output "parameter_group_id" {
+ value = one(aws_db_parameter_group.main[*].id)
+ description = "The ID of the DB parameter group."
+}
+
output "db_instance_address" {
description = "The address of the RDS instance."
value = aws_db_instance.main.address
@@ -43,12 +53,189 @@ output "db_instance_maintenance_window" {
value = aws_db_instance.main.maintenance_window
}
+output "db_instance_resource_id" {
+ description = "The Resource ID of the RDS instance."
+ value = aws_db_instance.main.resource_id
+}
+
output "db_instance_status" {
description = "The status of the RDS instance."
value = aws_db_instance.main.status
}
+#
+# Replication - Single replica instance
+#
+
+output "db_instance_replica_address" {
+ description = "The address of the replica instance."
+ value = one(aws_db_instance.replica[*].address)
+}
+
+output "db_instance_replica_arn" {
+ description = "The ARN of the replica instance."
+ value = one(aws_db_instance.replica[*].arn)
+}
+
output "db_instance_replica_availability_zone" {
description = "The availability zone of the replica instance."
- value = length(aws_db_instance.replica) > 0 ? aws_db_instance.replica[0].availability_zone : null
+ value = one(aws_db_instance.replica[*].availability_zone)
+}
+
+output "db_instance_replica_backup_retention_period" {
+ description = "The backup window of the replica instance."
+ value = one(aws_db_instance.replica[*].backup_retention_period)
+}
+
+output "db_instance_replica_backup_window" {
+ description = "The backup retention period of the replica instance."
+ value = one(aws_db_instance.replica[*].backup_window)
+}
+
+output "db_instance_replica_endpoint" {
+ description = "The connection endpoint of the replica instance."
+ value = one(aws_db_instance.replica[*].endpoint)
+}
+
+output "db_instance_replica_identifier" {
+ description = "The replica instance identifier."
+ value = one(aws_db_instance.replica[*].identifier)
+}
+
+output "db_instance_replica_engine_version_actual" {
+ description = "The running version of the replica instance."
+ value = one(aws_db_instance.replica[*].engine_version_actual)
+}
+
+output "db_instance_replica_maintenance_window" {
+ description = "The maintenance window of the replica instance."
+ value = one(aws_db_instance.replica[*].maintenance_window)
+}
+
+output "db_instance_replica_resource_id" {
+ description = "The Resource ID of the replica instance."
+ value = one(aws_db_instance.replica[*].resource_id)
+}
+
+output "db_instance_replica_status" {
+ description = "The status of the replica instance."
+ value = one(aws_db_instance.replica[*].status)
+}
+
+#
+# Replication - Simple mode
+#
+
+output "db_multi_replica_address" {
+ description = "The address of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.address }
+}
+
+output "db_multi_replica_arn" {
+ description = "The ARN of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.arn }
+}
+
+output "db_multi_replica_availability_zone" {
+ description = "The availability zone of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.availability_zone }
+}
+
+output "db_multi_replica_backup_retention_period" {
+ description = "The backup window of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.backup_retention_period }
+}
+
+output "db_multi_replica_backup_window" {
+ description = "The backup retention period of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.backup_window }
+}
+
+output "db_multi_replica_endpoint" {
+ description = "The connection endpoint of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.endpoint }
+}
+
+output "db_multi_replica_identifier" {
+ description = "The replica instance identifier (Simple mode)."
+ value = [for r in aws_db_instance.multi_replica : r.identifier]
+}
+
+output "db_multi_replica_engine_version_actual" {
+ description = "The running version of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.engine_version_actual }
+}
+
+output "db_multi_replica_maintenance_window" {
+ description = "The maintenance window of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.maintenance_window }
+}
+
+output "db_multi_replica_resource_id" {
+ description = "The Resource ID of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.resource_id }
+}
+
+output "db_multi_replica_status" {
+ description = "The status of the replica instance (Simple mode)."
+ value = { for r in aws_db_instance.multi_replica : r.identifier => r.status }
+}
+
+#
+# Replication - Advanced mode
+#
+
+output "db_custom_replica_address" {
+ description = "The address of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.address }
+}
+
+output "db_custom_replica_arn" {
+ description = "The ARN of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.arn }
+}
+
+output "db_custom_replica_availability_zone" {
+ description = "The availability zone of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.availability_zone }
+}
+
+output "db_custom_replica_backup_retention_period" {
+ description = "The backup window of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.backup_retention_period }
+}
+
+output "db_custom_replica_backup_window" {
+ description = "The backup retention period of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.backup_window }
+}
+
+output "db_custom_replica_endpoint" {
+ description = "The connection endpoint of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.endpoint }
+}
+
+output "db_custom_replica_identifier" {
+ description = "The replica instance identifier (Advanced mode)."
+ value = [for r in aws_db_instance.custom_replica : r.identifier]
+}
+
+output "db_custom_replica_engine_version_actual" {
+ description = "The running version of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.engine_version_actual }
+}
+
+output "db_custom_replica_maintenance_window" {
+ description = "The maintenance window of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.maintenance_window }
+}
+
+output "db_custom_replica_resource_id" {
+ description = "The Resource ID of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.resource_id }
+}
+
+output "db_custom_replica_status" {
+ description = "The status of the replica instance (Advanced mode)."
+ value = { for r in aws_db_instance.custom_replica : r.identifier => r.status }
}