Skip to content

Commit 03e04ae

Browse files
authored
create_before_destroy for parameter groups, explicit dependencies (cloudposse#110)
1 parent 7218e7a commit 03e04ae

File tree

1 file changed

+33
-3
lines changed

1 file changed

+33
-3
lines changed

main.tf

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@ resource "aws_rds_cluster" "primary" {
7575
backtrack_window = var.backtrack_window
7676
enable_http_endpoint = var.engine_mode == "serverless" && var.enable_http_endpoint ? true : false
7777

78+
depends_on = [
79+
aws_db_subnet_group.default,
80+
aws_rds_cluster_parameter_group.default,
81+
aws_security_group.default,
82+
]
83+
7884
dynamic "s3_import" {
7985
for_each = var.s3_import[*]
8086
content {
@@ -150,6 +156,13 @@ resource "aws_rds_cluster" "secondary" {
150156
backtrack_window = var.backtrack_window
151157
enable_http_endpoint = var.engine_mode == "serverless" && var.enable_http_endpoint ? true : false
152158

159+
depends_on = [
160+
aws_db_subnet_group.default,
161+
aws_db_parameter_group.default,
162+
aws_rds_cluster_parameter_group.default,
163+
aws_security_group.default,
164+
]
165+
153166
dynamic "scaling_configuration" {
154167
for_each = var.scaling_configuration
155168
content {
@@ -182,7 +195,8 @@ resource "aws_rds_cluster" "secondary" {
182195

183196
lifecycle {
184197
ignore_changes = [
185-
replication_source_identifier
198+
replication_source_identifier, # will be set/managed by Global Cluster
199+
snapshot_identifier, # if created from a snapshot, will be non-null at creation, but null afterwards
186200
]
187201
}
188202
}
@@ -204,6 +218,14 @@ resource "aws_rds_cluster_instance" "default" {
204218
performance_insights_enabled = var.performance_insights_enabled
205219
performance_insights_kms_key_id = var.performance_insights_kms_key_id
206220
availability_zone = var.instance_availability_zone
221+
222+
depends_on = [
223+
aws_db_subnet_group.default,
224+
aws_db_parameter_group.default,
225+
aws_iam_role.enhanced_monitoring,
226+
aws_rds_cluster.secondary,
227+
aws_rds_cluster_parameter_group.default,
228+
]
207229
}
208230

209231
resource "aws_db_subnet_group" "default" {
@@ -216,7 +238,7 @@ resource "aws_db_subnet_group" "default" {
216238

217239
resource "aws_rds_cluster_parameter_group" "default" {
218240
count = module.this.enabled ? 1 : 0
219-
name = module.this.id
241+
name_prefix = "${module.this.id}${module.this.delimiter}"
220242
description = "DB cluster parameter group"
221243
family = var.cluster_family
222244

@@ -230,11 +252,15 @@ resource "aws_rds_cluster_parameter_group" "default" {
230252
}
231253

232254
tags = module.this.tags
255+
256+
lifecycle {
257+
create_before_destroy = true
258+
}
233259
}
234260

235261
resource "aws_db_parameter_group" "default" {
236262
count = module.this.enabled ? 1 : 0
237-
name = module.this.id
263+
name_prefix = "${module.this.id}${module.this.delimiter}"
238264
description = "DB instance parameter group"
239265
family = var.cluster_family
240266

@@ -248,6 +274,10 @@ resource "aws_db_parameter_group" "default" {
248274
}
249275

250276
tags = module.this.tags
277+
278+
lifecycle {
279+
create_before_destroy = true
280+
}
251281
}
252282

253283
locals {

0 commit comments

Comments
 (0)