From aaf8e923b4bd65670b2fe5cbfe01bb76ef3706f4 Mon Sep 17 00:00:00 2001 From: Tammer Saleh Date: Fri, 21 Feb 2020 17:56:47 +0000 Subject: [PATCH] RDS parameter groups now create_before_destroy This requires a change in name for each (using `name_prefix`), which will likely recreate all parameter groups. This is intended to work around an issue where AWS won't allow the parameter group to be recreated while RDS are using it. See these issues for reference: * https://github.com/terraform-providers/terraform-provider-aws/issues/6448 * https://github.com/terraform-providers/terraform-provider-aws/issues/6049 * https://github.com/terraform-providers/terraform-provider-aws/issues/2402 * https://github.com/terraform-providers/terraform-provider-aws/issues/1571 * https://github.com/terraform-providers/terraform-provider-aws/issues/526 --- ci/terraform/rds_module/parameter_group.tf | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ci/terraform/rds_module/parameter_group.tf b/ci/terraform/rds_module/parameter_group.tf index 6c6244bf..60bdb595 100644 --- a/ci/terraform/rds_module/parameter_group.tf +++ b/ci/terraform/rds_module/parameter_group.tf @@ -1,6 +1,6 @@ resource "aws_db_parameter_group" "parameter_group_postgres" { count = "${var.rds_db_engine == "postgres" ? 1 : 0}" - name = "${var.rds_parameter_group_name != "" ? + name_prefix = "${var.rds_parameter_group_name != "" ? var.rds_parameter_group_name : "${replace("${var.stack_description}-${var.rds_db_name}", "/[^a-zA-Z-]+/", "-")}"}" family = "${var.rds_parameter_group_family}" @@ -30,11 +30,15 @@ resource "aws_db_parameter_group" "parameter_group_postgres" { value = "${var.rds_force_ssl}" apply_method = "pending-reboot" } + + lifecycle { + create_before_destroy = true + } } resource "aws_db_parameter_group" "parameter_group_mysql" { count = "${var.rds_db_engine == "mysql" ? 1 : 0}" - name = "${var.rds_parameter_group_name != "" ? + name_prefix = "${var.rds_parameter_group_name != "" ? var.rds_parameter_group_name : "${replace("${var.stack_description}-${var.rds_db_name}", "/[^a-zA-Z-]+/", "-")}"}" family = "${var.rds_parameter_group_family}" @@ -46,4 +50,8 @@ resource "aws_db_parameter_group" "parameter_group_mysql" { name = "log_output" value = "FILE" } + + lifecycle { + create_before_destroy = true + } }