Skip to content

Commit

Permalink
fix: propagate preferred_maintenance_window to the docdb cluster in…
Browse files Browse the repository at this point in the history
…stances resources (#57)

* fix: propagated preferred_maintenance_window to the docdb cluster instances resources

Signed-off-by: Sherif Ayad <sherif.k.ayad@gmail.com>

* chore: fixed tf linting issue

Signed-off-by: Sherif Ayad <sherif.k.ayad@gmail.com>

---------

Signed-off-by: Sherif Ayad <sherif.k.ayad@gmail.com>
  • Loading branch information
sherifkayad committed May 15, 2023
1 parent 5f0d65a commit 72d0008
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 25 deletions.
35 changes: 18 additions & 17 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ resource "aws_security_group_rule" "egress" {
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
security_group_id = join("", aws_security_group.default.*.id)
security_group_id = join("", aws_security_group.default[*].id)
}

resource "aws_security_group_rule" "ingress_security_groups" {
Expand All @@ -25,7 +25,7 @@ resource "aws_security_group_rule" "ingress_security_groups" {
to_port = var.db_port
protocol = "tcp"
source_security_group_id = element(var.allowed_security_groups, count.index)
security_group_id = join("", aws_security_group.default.*.id)
security_group_id = join("", aws_security_group.default[*].id)
}

resource "aws_security_group_rule" "ingress_cidr_blocks" {
Expand All @@ -36,7 +36,7 @@ resource "aws_security_group_rule" "ingress_cidr_blocks" {
to_port = var.db_port
protocol = "tcp"
cidr_blocks = var.allowed_cidr_blocks
security_group_id = join("", aws_security_group.default.*.id)
security_group_id = join("", aws_security_group.default[*].id)
}

resource "random_password" "password" {
Expand All @@ -61,25 +61,26 @@ resource "aws_docdb_cluster" "default" {
kms_key_id = var.kms_key_id
port = var.db_port
snapshot_identifier = var.snapshot_identifier
vpc_security_group_ids = [join("", aws_security_group.default.*.id)]
db_subnet_group_name = join("", aws_docdb_subnet_group.default.*.name)
db_cluster_parameter_group_name = join("", aws_docdb_cluster_parameter_group.default.*.name)
vpc_security_group_ids = [join("", aws_security_group.default[*].id)]
db_subnet_group_name = join("", aws_docdb_subnet_group.default[*].name)
db_cluster_parameter_group_name = join("", aws_docdb_cluster_parameter_group.default[*].name)
engine = var.engine
engine_version = var.engine_version
enabled_cloudwatch_logs_exports = var.enabled_cloudwatch_logs_exports
tags = module.this.tags
}

resource "aws_docdb_cluster_instance" "default" {
count = module.this.enabled ? var.cluster_size : 0
identifier = "${module.this.id}-${count.index + 1}"
cluster_identifier = join("", aws_docdb_cluster.default.*.id)
apply_immediately = var.apply_immediately
instance_class = var.instance_class
engine = var.engine
auto_minor_version_upgrade = var.auto_minor_version_upgrade
enable_performance_insights = var.enable_performance_insights
tags = module.this.tags
count = module.this.enabled ? var.cluster_size : 0
identifier = "${module.this.id}-${count.index + 1}"
cluster_identifier = join("", aws_docdb_cluster.default[*].id)
apply_immediately = var.apply_immediately
preferred_maintenance_window = var.preferred_maintenance_window
instance_class = var.instance_class
engine = var.engine
auto_minor_version_upgrade = var.auto_minor_version_upgrade
enable_performance_insights = var.enable_performance_insights
tags = module.this.tags
}

resource "aws_docdb_subnet_group" "default" {
Expand Down Expand Up @@ -123,7 +124,7 @@ module "dns_master" {
enabled = module.this.enabled && var.zone_id != "" ? true : false
dns_name = local.cluster_dns_name
zone_id = var.zone_id
records = coalescelist(aws_docdb_cluster.default.*.endpoint, [""])
records = coalescelist(aws_docdb_cluster.default[*].endpoint, [""])

context = module.this.context
}
Expand All @@ -135,7 +136,7 @@ module "dns_replicas" {
enabled = module.this.enabled && var.zone_id != "" ? true : false
dns_name = local.replicas_dns_name
zone_id = var.zone_id
records = coalescelist(aws_docdb_cluster.default.*.reader_endpoint, [""])
records = coalescelist(aws_docdb_cluster.default[*].reader_endpoint, [""])

context = module.this.context
}
16 changes: 8 additions & 8 deletions outputs.tf
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
output "master_username" {
value = join("", aws_docdb_cluster.default.*.master_username)
value = join("", aws_docdb_cluster.default[*].master_username)
description = "Username for the master DB user"
}

output "cluster_name" {
value = join("", aws_docdb_cluster.default.*.cluster_identifier)
value = join("", aws_docdb_cluster.default[*].cluster_identifier)
description = "Cluster Identifier"
}

output "arn" {
value = join("", aws_docdb_cluster.default.*.arn)
value = join("", aws_docdb_cluster.default[*].arn)
description = "Amazon Resource Name (ARN) of the cluster"
}

output "endpoint" {
value = join("", aws_docdb_cluster.default.*.endpoint)
value = join("", aws_docdb_cluster.default[*].endpoint)
description = "Endpoint of the DocumentDB cluster"
}

output "reader_endpoint" {
value = join("", aws_docdb_cluster.default.*.reader_endpoint)
value = join("", aws_docdb_cluster.default[*].reader_endpoint)
description = "A read-only endpoint of the DocumentDB cluster, automatically load-balanced across replicas"
}

Expand All @@ -35,15 +35,15 @@ output "replicas_host" {

output "security_group_id" {
description = "ID of the DocumentDB cluster Security Group"
value = join("", aws_security_group.default.*.id)
value = join("", aws_security_group.default[*].id)
}

output "security_group_arn" {
description = "ARN of the DocumentDB cluster Security Group"
value = join("", aws_security_group.default.*.arn)
value = join("", aws_security_group.default[*].arn)
}

output "security_group_name" {
description = "Name of the DocumentDB cluster Security Group"
value = join("", aws_security_group.default.*.name)
value = join("", aws_security_group.default[*].name)
}

0 comments on commit 72d0008

Please sign in to comment.