From ae9a3b93285e92e4227e7ad1eca4cbec13c607f3 Mon Sep 17 00:00:00 2001 From: Matthew Baggett <matthew@baggett.me> Date: Thu, 26 Dec 2024 15:46:52 +0100 Subject: [PATCH] Refactor to support setting the engine_version. --- cloud/aws/rds_serverless/debug.tf | 4 ++-- cloud/aws/rds_serverless/rds.tf | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/cloud/aws/rds_serverless/debug.tf b/cloud/aws/rds_serverless/debug.tf index 94a3c52..7a285f2 100644 --- a/cloud/aws/rds_serverless/debug.tf +++ b/cloud/aws/rds_serverless/debug.tf @@ -6,8 +6,8 @@ resource "local_file" "debug" { application_arn = try(var.application.arn, null), application_name = try(var.application.name, null), engine_user = var.engine, - engine_actual = data.aws_rds_engine_version.latest.engine - engine_version_actual = data.aws_rds_engine_version.latest.version, + engine_actual = data.aws_rds_engine_version.latest[var.engine_version].engine + engine_version_actual = data.aws_rds_engine_version.latest[var.engine_version].version, endpoints = { write = aws_rds_cluster_endpoint.endpoint["write"].endpoint, read = aws_rds_cluster_endpoint.endpoint["read"].endpoint diff --git a/cloud/aws/rds_serverless/rds.tf b/cloud/aws/rds_serverless/rds.tf index fb13581..9f62d33 100644 --- a/cloud/aws/rds_serverless/rds.tf +++ b/cloud/aws/rds_serverless/rds.tf @@ -1,7 +1,8 @@ data "aws_rds_engine_version" "latest" { - engine = var.engine - version = var.engine_version - latest = true + for_each = toset([var.engine_version]) + engine = var.engine + version = var.engine_version + latest = true filter { name = "engine-version" values = [var.engine_version] @@ -23,8 +24,8 @@ resource "aws_kms_key" "db_key" { resource "aws_rds_cluster" "cluster" { cluster_identifier = local.sanitised_name engine_mode = "provisioned" - engine = data.aws_rds_engine_version.latest.engine - engine_version = data.aws_rds_engine_version.latest.version + engine = data.aws_rds_engine_version.latest[var.engine_version].engine + engine_version = data.aws_rds_engine_version.latest[var.engine_version].version database_name = local.admin_username master_username = local.admin_username master_password = local.admin_password @@ -46,6 +47,7 @@ resource "aws_rds_cluster" "cluster" { lifecycle { create_before_destroy = false + replace_triggered_by = [data.aws_rds_engine_version.latest] } tags = merge( @@ -54,6 +56,7 @@ resource "aws_rds_cluster" "cluster" { Name = var.instance_name } ) + } data "aws_rds_certificate" "default" {