@@ -40,10 +40,10 @@ resource "aws_security_group_rule" "ingress_aurora_extras" {
4040}
4141
4242locals {
43- aws_aurora_subnets = var. aws_aurora_subnets != " " ? [for n in split (" ," , var. aws_aurora_subnets ) : (n)] : var. aws_subnets_vpc_subnets_ids
44- skip_snap = length (var. aws_aurora_database_final_snapshot ) != " " ? false : true
43+ aws_aurora_subnets = var. aws_aurora_subnets != " " ? [for n in split (" ," , var. aws_aurora_subnets ) : (n)] : var. aws_subnets_vpc_subnets_ids
44+ skip_snap = length (var. aws_aurora_database_final_snapshot ) != " " ? false : true
4545 aws_aurora_cloudwatch_log_type = var. aws_aurora_cloudwatch_log_type != " " ? [for n in split (" ," , var. aws_aurora_cloudwatch_log_type ) : n ] : local. log_types
46- log_types = strcontains (var. aws_aurora_engine , " postgres" ) ? [" postgresql" ] : strcontains (var. aws_aurora_engine , " mysql" ) ? [" audit" ," error" ," general" ," slowquery" ] : []
46+ log_types = strcontains (var. aws_aurora_engine , " postgres" ) ? [" postgresql" ] : strcontains (var. aws_aurora_engine , " mysql" ) ? [" audit" , " error" , " general" , " slowquery" ] : []
4747}
4848
4949resource "aws_db_subnet_group" "selected" {
@@ -56,54 +56,54 @@ resource "aws_db_subnet_group" "selected" {
5656
5757resource "aws_rds_cluster" "aurora" {
5858 # DB Parameters
59- cluster_identifier = var. aws_aurora_cluster_name != " " ? var. aws_aurora_cluster_name : var. aws_resource_identifier
60- engine = var. aws_aurora_engine
61- engine_version = var. aws_aurora_engine_version
62- engine_mode = var. aws_aurora_engine_mode != " " ? var. aws_aurora_engine_mode : null
63- availability_zones = var. aws_aurora_availability_zones != " " ? [var . aws_aurora_availability_zones ] : []
64- apply_immediately = var. aws_aurora_cluster_apply_immediately
59+ cluster_identifier = var. aws_aurora_cluster_name != " " ? var. aws_aurora_cluster_name : var. aws_resource_identifier
60+ engine = var. aws_aurora_engine
61+ engine_version = var. aws_aurora_engine_version
62+ engine_mode = var. aws_aurora_engine_mode != " " ? var. aws_aurora_engine_mode : null
63+ availability_zones = var. aws_aurora_availability_zones != " " ? [var . aws_aurora_availability_zones ] : []
64+ apply_immediately = var. aws_aurora_cluster_apply_immediately
6565 # Storage
66- allocated_storage = try (tonumber (var. aws_aurora_allocated_storage ),null )
67- storage_encrypted = var. aws_aurora_storage_encrypted
68- kms_key_id = var. aws_aurora_kms_key_id
69- storage_type = var. aws_aurora_storage_type
70- iops = try (tonumber (var. aws_aurora_storage_iops ),null )
66+ allocated_storage = try (tonumber (var. aws_aurora_allocated_storage ), null )
67+ storage_encrypted = var. aws_aurora_storage_encrypted
68+ kms_key_id = var. aws_aurora_kms_key_id
69+ storage_type = var. aws_aurora_storage_type
70+ iops = try (tonumber (var. aws_aurora_storage_iops ), null )
7171 # DB Details
7272 database_name = var. aws_aurora_database_name
7373 master_username = var. aws_aurora_master_username
7474 master_password = sensitive (random_password. rds . result )
7575 iam_database_authentication_enabled = var. aws_aurora_iam_auth_enabled
7676 iam_roles = var. aws_aurora_iam_roles != " " ? [var . aws_aurora_iam_roles ] : []
77- db_cluster_parameter_group_name = strcontains (var. aws_aurora_engine , " mysql" ) ? aws_rds_cluster_parameter_group. mysql [0 ]. name : strcontains (var. aws_aurora_engine , " postgres" ) ? aws_rds_cluster_parameter_group. postgresql [0 ]. name : " "
77+ db_cluster_parameter_group_name = strcontains (var. aws_aurora_engine , " mysql" ) ? aws_rds_cluster_parameter_group. mysql [0 ]. name : strcontains (var. aws_aurora_engine , " postgres" ) ? aws_rds_cluster_parameter_group. postgresql [0 ]. name : " "
7878 # Backup & Maint
79- enabled_cloudwatch_logs_exports = var. aws_aurora_cloudwatch_enable ? local. aws_aurora_cloudwatch_log_type : []
80- backtrack_window = var. aws_aurora_backtrack_window
81- backup_retention_period = var. aws_aurora_backup_retention_period
82- preferred_backup_window = var. aws_aurora_backup_window
83- preferred_maintenance_window = var. aws_aurora_maintenance_window
84- deletion_protection = var. aws_aurora_deletion_protection
85- delete_automated_backups = var. aws_aurora_delete_auto_backups
86- final_snapshot_identifier = var. aws_aurora_database_final_snapshot != " " ? var. aws_aurora_database_final_snapshot : null
87- skip_final_snapshot = var. aws_aurora_database_final_snapshot != " " ? false : true
88- snapshot_identifier = var. aws_aurora_restore_snapshot_id
79+ enabled_cloudwatch_logs_exports = var. aws_aurora_cloudwatch_enable ? local. aws_aurora_cloudwatch_log_type : []
80+ backtrack_window = var. aws_aurora_backtrack_window
81+ backup_retention_period = var. aws_aurora_backup_retention_period
82+ preferred_backup_window = var. aws_aurora_backup_window
83+ preferred_maintenance_window = var. aws_aurora_maintenance_window
84+ deletion_protection = var. aws_aurora_deletion_protection
85+ delete_automated_backups = var. aws_aurora_delete_auto_backups
86+ final_snapshot_identifier = var. aws_aurora_database_final_snapshot != " " ? var. aws_aurora_database_final_snapshot : null
87+ skip_final_snapshot = var. aws_aurora_database_final_snapshot != " " ? false : true
88+ snapshot_identifier = var. aws_aurora_restore_snapshot_id
8989 # Net
90- db_subnet_group_name = aws_db_subnet_group. selected . id
91- db_cluster_instance_class = var. aws_aurora_cluster_db_instance_class
92- vpc_security_group_ids = [aws_security_group . aurora_security_group . id ]
93- port = var. aws_aurora_database_port
90+ db_subnet_group_name = aws_db_subnet_group. selected . id
91+ db_cluster_instance_class = var. aws_aurora_cluster_db_instance_class
92+ vpc_security_group_ids = [aws_security_group . aurora_security_group . id ]
93+ port = var. aws_aurora_database_port
9494 # Extras
9595 performance_insights_enabled = var. aws_aurora_performance_insights_enable
9696 performance_insights_retention_period = var. aws_aurora_performance_insights_enable ? var. aws_aurora_performance_insights_retention : null
9797 performance_insights_kms_key_id = var. aws_aurora_performance_insights_enable ? var. aws_aurora_performance_insights_kms_key_id : null
9898 dynamic "restore_to_point_in_time" {
99- for_each = length (var. aws_aurora_restore_to_point_in_time ) > 0 ? [var . aws_aurora_restore_to_point_in_time ] : []
99+ for_each = length (var. aws_aurora_restore_to_point_in_time ) > 0 ? [var . aws_aurora_restore_to_point_in_time ] : []
100100
101- content {
102- restore_to_time = try (aws_aurora_restore_to_point_in_time. value . restore_to_time , null )
103- restore_type = try (aws_aurora_restore_to_point_in_time. value . restore_type , null )
104- source_cluster_identifier = aws_aurora_restore_to_point_in_time. value . source_cluster_identifier
105- use_latest_restorable_time = try (aws_aurora_restore_to_point_in_time. value . use_latest_restorable_time , null )
106- }
101+ content {
102+ restore_to_time = try (aws_aurora_restore_to_point_in_time. value . restore_to_time , null )
103+ restore_type = try (aws_aurora_restore_to_point_in_time. value . restore_type , null )
104+ source_cluster_identifier = aws_aurora_restore_to_point_in_time. value . source_cluster_identifier
105+ use_latest_restorable_time = try (aws_aurora_restore_to_point_in_time. value . use_latest_restorable_time , null )
106+ }
107107 }
108108
109109 lifecycle {
@@ -132,25 +132,25 @@ resource "aws_rds_cluster_instance" "cluster_instance" {
132132 ca_cert_identifier = var. aws_aurora_db_ca_cert_identifier
133133 preferred_maintenance_window = var. aws_aurora_db_maintenance_window
134134}
135-
135+
136136resource "aws_rds_cluster_parameter_group" "mysql" {
137137 count = strcontains (var. aws_aurora_engine , " mysql" ) ? 1 : 0
138138 name = " ${ var . aws_resource_identifier } -mysql"
139139 description = " ${ var . aws_resource_identifier } cluster parameter group"
140140 family = var. aws_aurora_database_group_family != " " ? var. aws_aurora_database_group_family : " ${ var . aws_aurora_engine } 8.0"
141141
142142 parameter {
143- name = " require_secure_transport"
144- value = " ON"
145- apply_method = " immediate"
143+ name = " require_secure_transport"
144+ value = " ON"
145+ apply_method = " immediate"
146146 }
147147 lifecycle {
148148 create_before_destroy = true
149149 }
150150}
151151
152152resource "aws_rds_cluster_parameter_group" "postgresql" {
153- count = strcontains (var. aws_aurora_engine , " postgres" )? 1 : 0
153+ count = strcontains (var. aws_aurora_engine , " postgres" ) ? 1 : 0
154154 name = " ${ var . aws_resource_identifier } -postgres"
155155 description = " ${ var . aws_resource_identifier } cluster parameter group"
156156 family = var. aws_aurora_database_group_family != " " ? var. aws_aurora_database_group_family : " ${ var . aws_aurora_engine } 15"
@@ -173,43 +173,43 @@ resource "aws_rds_cluster_parameter_group" "postgresql" {
173173}
174174
175175resource "random_password" "rds" {
176- length = 10
176+ length = 10
177177 special = false
178178}
179179
180180// Creates a secret manager secret for the databse credentials
181181resource "aws_secretsmanager_secret" "aurora_database_credentials" {
182- name = " ${ var . aws_resource_identifier_supershort } -aurora-${ random_string . random_sm . result } "
182+ name = " ${ var . aws_resource_identifier_supershort } -aurora-${ random_string . random_sm . result } "
183183}
184184
185185# Username and Password are repeated for compatibility with proxy and legacy code.
186186resource "aws_secretsmanager_secret_version" "database_credentials_sm_secret_version_dev" {
187187 secret_id = aws_secretsmanager_secret. aurora_database_credentials . id
188188 secret_string = jsonencode ({
189- database_password = sensitive (aws_rds_cluster. aurora . master_password )
190- username = sensitive (aws_rds_cluster. aurora . master_username )
191- password = sensitive (aws_rds_cluster. aurora . master_password )
192- host = sensitive (aws_rds_cluster. aurora . endpoint )
193- port = sensitive (aws_rds_cluster. aurora . port )
194- database = sensitive (aws_rds_cluster. aurora . database_name == null ? " " : aws_rds_cluster. aurora . database_name )
195- engine = sensitive (local. dba_engine )
196- engine_version = sensitive (aws_rds_cluster. aurora . engine_version_actual )
197- DB_USER = sensitive (aws_rds_cluster. aurora . master_username )
198- DB_USERNAME = sensitive (aws_rds_cluster. aurora . master_username )
199- DB_PASSWORD = sensitive (aws_rds_cluster. aurora . master_password )
200- DB_HOST = sensitive (aws_rds_cluster. aurora . endpoint )
201- DB_PORT = sensitive (aws_rds_cluster. aurora . port )
202- DB_NAME = sensitive (aws_rds_cluster. aurora . database_name == null ? " " : aws_rds_cluster. aurora . database_name )
203- DB_ENGINE = sensitive (local. dba_engine )
204- DB_ENGINE_VERSION = sensitive (aws_rds_cluster. aurora . engine_version_actual )
189+ database_password = sensitive (aws_rds_cluster. aurora . master_password )
190+ username = sensitive (aws_rds_cluster. aurora . master_username )
191+ password = sensitive (aws_rds_cluster. aurora . master_password )
192+ host = sensitive (aws_rds_cluster. aurora . endpoint )
193+ port = sensitive (aws_rds_cluster. aurora . port )
194+ database = sensitive (aws_rds_cluster. aurora . database_name == null ? " " : aws_rds_cluster. aurora . database_name )
195+ engine = sensitive (local. dba_engine )
196+ engine_version = sensitive (aws_rds_cluster. aurora . engine_version_actual )
197+ DB_USER = sensitive (aws_rds_cluster. aurora . master_username )
198+ DB_USERNAME = sensitive (aws_rds_cluster. aurora . master_username )
199+ DB_PASSWORD = sensitive (aws_rds_cluster. aurora . master_password )
200+ DB_HOST = sensitive (aws_rds_cluster. aurora . endpoint )
201+ DB_PORT = sensitive (aws_rds_cluster. aurora . port )
202+ DB_NAME = sensitive (aws_rds_cluster. aurora . database_name == null ? " " : aws_rds_cluster. aurora . database_name )
203+ DB_ENGINE = sensitive (local. dba_engine )
204+ DB_ENGINE_VERSION = sensitive (aws_rds_cluster. aurora . engine_version_actual )
205205 })
206206}
207207
208208resource "random_string" "random_sm" {
209- length = 5
210- lower = true
211- special = false
212- numeric = false
209+ length = 5
210+ lower = true
211+ special = false
212+ numeric = false
213213}
214214
215215resource "aws_cloudwatch_log_group" "logs" {
@@ -219,7 +219,7 @@ resource "aws_cloudwatch_log_group" "logs" {
219219
220220# ## All of this added to handle snapshots
221221resource "aws_db_cluster_snapshot" "db_snapshot" {
222- count = var. aws_aurora_snapshot_name != " " ? ( var. aws_aurora_snapshot_overwrite ? 0 : 1 ) : 0
222+ count = var. aws_aurora_snapshot_name != " " ? (var. aws_aurora_snapshot_overwrite ? 0 : 1 ) : 0
223223 db_cluster_identifier = aws_rds_cluster. aurora . cluster_identifier
224224 db_cluster_snapshot_identifier = var. aws_aurora_snapshot_name
225225 lifecycle {
@@ -228,7 +228,7 @@ resource "aws_db_cluster_snapshot" "db_snapshot" {
228228}
229229
230230resource "aws_db_cluster_snapshot" "overwrite_db_snapshot" {
231- count = var. aws_aurora_snapshot_name != " " ? ( var. aws_aurora_snapshot_overwrite ? 1 : 0 ) : 0
231+ count = var. aws_aurora_snapshot_name != " " ? (var. aws_aurora_snapshot_overwrite ? 1 : 0 ) : 0
232232 db_cluster_identifier = aws_rds_cluster. aurora . cluster_identifier
233233 db_cluster_snapshot_identifier = var. aws_aurora_snapshot_name
234234 lifecycle {
@@ -262,5 +262,5 @@ output "random_string" {
262262}
263263
264264output "aurora_sg_id" {
265- value = aws_security_group. aurora_security_group . id
265+ value = aws_security_group. aurora_security_group . id
266266}
0 commit comments