Skip to content

Commit 66df010

Browse files
committed
Add iam_database_authentication_enabled
* Fix issue with monitoring arn being referenced if not created
1 parent 2989a8d commit 66df010

File tree

4 files changed

+50
-37
lines changed

4 files changed

+50
-37
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.swp

main.tf

Lines changed: 39 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -36,26 +36,27 @@
3636
* }
3737
*
3838
* module "aurora_db_56" {
39-
* source = "../.."
40-
* name = "test-aurora-db-56"
41-
* envname = "test56"
42-
* envtype = "test"
43-
* subnets = ["${module.vpc.private_subnets}"]
44-
* azs = ["${module.vpc.availability_zones}"]
45-
* replica_count = "1"
46-
* security_groups = ["${aws_security_group.allow_all.id}"]
47-
* instance_type = "db.t2.medium"
48-
* username = "root"
49-
* password = "changeme"
50-
* backup_retention_period = "5"
51-
* final_snapshot_identifier = "final-db-snapshot-prod"
52-
* storage_encrypted = "true"
53-
* apply_immediately = "true"
54-
* monitoring_interval = "10"
55-
* cw_alarms = true
56-
* cw_sns_topic = "${aws_sns_topic.db_alarms_56.id}"
57-
* db_parameter_group_name = "${aws_db_parameter_group.aurora_db_56_parameter_group.id}"
58-
* db_cluster_parameter_group_name = "${aws_rds_cluster_parameter_group.aurora_cluster_56_parameter_group.id}"
39+
* source = "../.."
40+
* name = "test-aurora-db-56"
41+
* envname = "test56"
42+
* envtype = "test"
43+
* subnets = ["${module.vpc.private_subnets}"]
44+
* azs = ["${module.vpc.availability_zones}"]
45+
* replica_count = "1"
46+
* security_groups = ["${aws_security_group.allow_all.id}"]
47+
* instance_type = "db.t2.medium"
48+
* username = "root"
49+
* password = "changeme"
50+
* backup_retention_period = "5"
51+
* iam_database_authentication_enabled = "true"
52+
* final_snapshot_identifier = "final-db-snapshot-prod"
53+
* storage_encrypted = "true"
54+
* apply_immediately = "true"
55+
* monitoring_interval = "10"
56+
* cw_alarms = true
57+
* cw_sns_topic = "${aws_sns_topic.db_alarms_56.id}"
58+
* db_parameter_group_name = "${aws_db_parameter_group.aurora_db_56_parameter_group.id}"
59+
* db_cluster_parameter_group_name = "${aws_rds_cluster_parameter_group.aurora_cluster_56_parameter_group.id}"
5960
* }
6061
*
6162
* resource "aws_db_parameter_group" "aurora_db_56_parameter_group" {
@@ -184,7 +185,7 @@ resource "aws_rds_cluster_instance" "cluster_instance_0" {
184185
db_parameter_group_name = "${var.db_parameter_group_name}"
185186
preferred_maintenance_window = "${var.preferred_maintenance_window}"
186187
apply_immediately = "${var.apply_immediately}"
187-
monitoring_role_arn = "${join("", aws_iam_role.rds-enhanced-monitoring.*.arn)}"
188+
monitoring_role_arn = "${coalesce("",join("", aws_iam_role.rds-enhanced-monitoring.*.arn))}"
188189
monitoring_interval = "${var.monitoring_interval}"
189190
auto_minor_version_upgrade = "${var.auto_minor_version_upgrade}"
190191
promotion_tier = "0"
@@ -209,7 +210,7 @@ resource "aws_rds_cluster_instance" "cluster_instance_n" {
209210
db_parameter_group_name = "${var.db_parameter_group_name}"
210211
preferred_maintenance_window = "${var.preferred_maintenance_window}"
211212
apply_immediately = "${var.apply_immediately}"
212-
monitoring_role_arn = "${join("", aws_iam_role.rds-enhanced-monitoring.*.arn)}"
213+
monitoring_role_arn = "${coalesce("",join("", aws_iam_role.rds-enhanced-monitoring.*.arn))}"
213214
monitoring_interval = "${var.monitoring_interval}"
214215
auto_minor_version_upgrade = "${var.auto_minor_version_upgrade}"
215216
promotion_tier = "${count.index + 1}"
@@ -226,21 +227,22 @@ resource "aws_rds_cluster" "default" {
226227
availability_zones = ["${var.azs}"]
227228
engine = "${var.engine}"
228229

229-
engine_version = "${var.engine-version}"
230-
master_username = "${var.username}"
231-
master_password = "${var.password}"
232-
final_snapshot_identifier = "${var.final_snapshot_identifier}-${random_id.server.hex}"
233-
skip_final_snapshot = "${var.skip_final_snapshot}"
234-
backup_retention_period = "${var.backup_retention_period}"
235-
preferred_backup_window = "${var.preferred_backup_window}"
236-
preferred_maintenance_window = "${var.preferred_maintenance_window}"
237-
port = "${var.port}"
238-
db_subnet_group_name = "${aws_db_subnet_group.main.name}"
239-
vpc_security_group_ids = ["${var.security_groups}"]
240-
snapshot_identifier = "${var.snapshot_identifier}"
241-
storage_encrypted = "${var.storage_encrypted}"
242-
apply_immediately = "${var.apply_immediately}"
243-
db_cluster_parameter_group_name = "${var.db_cluster_parameter_group_name}"
230+
engine_version = "${var.engine-version}"
231+
master_username = "${var.username}"
232+
master_password = "${var.password}"
233+
final_snapshot_identifier = "${var.final_snapshot_identifier}-${random_id.server.hex}"
234+
iam_database_authentication_enabled = "${var.iam_database_authentication_enabled}"
235+
skip_final_snapshot = "${var.skip_final_snapshot}"
236+
backup_retention_period = "${var.backup_retention_period}"
237+
preferred_backup_window = "${var.preferred_backup_window}"
238+
preferred_maintenance_window = "${var.preferred_maintenance_window}"
239+
port = "${var.port}"
240+
db_subnet_group_name = "${aws_db_subnet_group.main.name}"
241+
vpc_security_group_ids = ["${var.security_groups}"]
242+
snapshot_identifier = "${var.snapshot_identifier}"
243+
storage_encrypted = "${var.storage_encrypted}"
244+
apply_immediately = "${var.apply_immediately}"
245+
db_cluster_parameter_group_name = "${var.db_cluster_parameter_group_name}"
244246
}
245247

246248
// Geneate an ID when an environment is initialised

outputs.tf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,7 @@ output "all_instance_endpoints_list" {
1212
output "reader_endpoint" {
1313
value = "${aws_rds_cluster.default.reader_endpoint}"
1414
}
15+
16+
output "id" {
17+
value = "${aws_rds_cluster.default.id}"
18+
}

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,12 @@ variable "auto_minor_version_upgrade" {
116116
description = "Determines whether minor engine upgrades will be performed automatically in the maintenance window"
117117
}
118118

119+
variable "iam_database_authentication_enabled" {
120+
type = "string"
121+
default = "false"
122+
description = "Determines whether IAM authentication is enabled for the cluster"
123+
}
124+
119125
variable "db_parameter_group_name" {
120126
type = "string"
121127
default = "default.aurora5.6"

0 commit comments

Comments
 (0)