From d52e15ebd88bee8cd6b9598dcac2a52a7527511d Mon Sep 17 00:00:00 2001 From: Matthew Baggett <matthew@baggett.me> Date: Thu, 26 Dec 2024 20:29:01 +0100 Subject: [PATCH] Move serverless and tenant into better structure --- .../aws/{rds_serverless => rds/serverless}/admin_user.tf | 0 cloud/aws/{rds_serverless => rds/serverless}/aws.tf | 0 cloud/aws/{rds_serverless => rds/serverless}/debug.tf | 0 cloud/aws/{rds_serverless => rds/serverless}/inputs.tf | 9 ++++++++- cloud/aws/{rds_serverless => rds/serverless}/outputs.tf | 0 cloud/aws/{rds_serverless => rds/serverless}/rds.tf | 6 +----- .../serverless}/security-groups.tf | 0 cloud/aws/{rds_serverless => rds/serverless}/subnets.tf | 0 cloud/aws/{rds_serverless => rds/serverless}/tenants.tf | 2 +- .../tenant => rds/serverless}/terraform.tf | 0 cloud/aws/{rds_serverless => rds}/tenant/aws.tf | 0 cloud/aws/{rds_serverless => rds}/tenant/db.tf | 0 cloud/aws/{rds_serverless => rds}/tenant/input.tf | 0 cloud/aws/{rds_serverless => rds}/tenant/output.tf | 0 cloud/aws/{rds_serverless => rds/tenant}/terraform.tf | 0 15 files changed, 10 insertions(+), 7 deletions(-) rename cloud/aws/{rds_serverless => rds/serverless}/admin_user.tf (100%) rename cloud/aws/{rds_serverless => rds/serverless}/aws.tf (100%) rename cloud/aws/{rds_serverless => rds/serverless}/debug.tf (100%) rename cloud/aws/{rds_serverless => rds/serverless}/inputs.tf (93%) rename cloud/aws/{rds_serverless => rds/serverless}/outputs.tf (100%) rename cloud/aws/{rds_serverless => rds/serverless}/rds.tf (97%) rename cloud/aws/{rds_serverless => rds/serverless}/security-groups.tf (100%) rename cloud/aws/{rds_serverless => rds/serverless}/subnets.tf (100%) rename cloud/aws/{rds_serverless => rds/serverless}/tenants.tf (95%) rename cloud/aws/{rds_serverless/tenant => rds/serverless}/terraform.tf (100%) rename cloud/aws/{rds_serverless => rds}/tenant/aws.tf (100%) rename cloud/aws/{rds_serverless => rds}/tenant/db.tf (100%) rename cloud/aws/{rds_serverless => rds}/tenant/input.tf (100%) rename cloud/aws/{rds_serverless => rds}/tenant/output.tf (100%) rename cloud/aws/{rds_serverless => rds/tenant}/terraform.tf (100%) diff --git a/cloud/aws/rds_serverless/admin_user.tf b/cloud/aws/rds/serverless/admin_user.tf similarity index 100% rename from cloud/aws/rds_serverless/admin_user.tf rename to cloud/aws/rds/serverless/admin_user.tf diff --git a/cloud/aws/rds_serverless/aws.tf b/cloud/aws/rds/serverless/aws.tf similarity index 100% rename from cloud/aws/rds_serverless/aws.tf rename to cloud/aws/rds/serverless/aws.tf diff --git a/cloud/aws/rds_serverless/debug.tf b/cloud/aws/rds/serverless/debug.tf similarity index 100% rename from cloud/aws/rds_serverless/debug.tf rename to cloud/aws/rds/serverless/debug.tf diff --git a/cloud/aws/rds_serverless/inputs.tf b/cloud/aws/rds/serverless/inputs.tf similarity index 93% rename from cloud/aws/rds_serverless/inputs.tf rename to cloud/aws/rds/serverless/inputs.tf index 93f78a0..92ff464 100644 --- a/cloud/aws/rds_serverless/inputs.tf +++ b/cloud/aws/rds/serverless/inputs.tf @@ -73,7 +73,14 @@ variable "engine_version" { } } locals { - engine_version = var.engine_version != null ? var.engine_version : "8.0" + engine_version = ( + local.is_mysql + ? (var.engine_version != null ? element(local.supported_mysql, length(local.supported_mysql)-1) : false) + : (local.is_postgres + ? (var.engine_version != null ? element(local.supported_postgres, length(local.supported_postgres)-1) : false) + : false + ) + ) } variable "scaling" { diff --git a/cloud/aws/rds_serverless/outputs.tf b/cloud/aws/rds/serverless/outputs.tf similarity index 100% rename from cloud/aws/rds_serverless/outputs.tf rename to cloud/aws/rds/serverless/outputs.tf diff --git a/cloud/aws/rds_serverless/rds.tf b/cloud/aws/rds/serverless/rds.tf similarity index 97% rename from cloud/aws/rds_serverless/rds.tf rename to cloud/aws/rds/serverless/rds.tf index b74e8a2..a116ad4 100644 --- a/cloud/aws/rds_serverless/rds.tf +++ b/cloud/aws/rds/serverless/rds.tf @@ -1,12 +1,8 @@ data "aws_rds_engine_version" "latest" { for_each = toset([var.engine_version]) engine = var.engine - version = var.engine_version + version = local.engine_version latest = true - filter { - name = "engine-version" - values = [var.engine_version] - } filter { name = "engine-mode" values = ["provisioned"] diff --git a/cloud/aws/rds_serverless/security-groups.tf b/cloud/aws/rds/serverless/security-groups.tf similarity index 100% rename from cloud/aws/rds_serverless/security-groups.tf rename to cloud/aws/rds/serverless/security-groups.tf diff --git a/cloud/aws/rds_serverless/subnets.tf b/cloud/aws/rds/serverless/subnets.tf similarity index 100% rename from cloud/aws/rds_serverless/subnets.tf rename to cloud/aws/rds/serverless/subnets.tf diff --git a/cloud/aws/rds_serverless/tenants.tf b/cloud/aws/rds/serverless/tenants.tf similarity index 95% rename from cloud/aws/rds_serverless/tenants.tf rename to cloud/aws/rds/serverless/tenants.tf index b4bea22..4534e51 100644 --- a/cloud/aws/rds_serverless/tenants.tf +++ b/cloud/aws/rds/serverless/tenants.tf @@ -1,7 +1,7 @@ module "tenants" { depends_on = [aws_rds_cluster.cluster, aws_rds_cluster_instance.instance] for_each = var.tenants - source = "./tenant" + source = "../tenant" username = each.value.username database = each.value.database vpc_id = data.aws_vpc.current.id diff --git a/cloud/aws/rds_serverless/tenant/terraform.tf b/cloud/aws/rds/serverless/terraform.tf similarity index 100% rename from cloud/aws/rds_serverless/tenant/terraform.tf rename to cloud/aws/rds/serverless/terraform.tf diff --git a/cloud/aws/rds_serverless/tenant/aws.tf b/cloud/aws/rds/tenant/aws.tf similarity index 100% rename from cloud/aws/rds_serverless/tenant/aws.tf rename to cloud/aws/rds/tenant/aws.tf diff --git a/cloud/aws/rds_serverless/tenant/db.tf b/cloud/aws/rds/tenant/db.tf similarity index 100% rename from cloud/aws/rds_serverless/tenant/db.tf rename to cloud/aws/rds/tenant/db.tf diff --git a/cloud/aws/rds_serverless/tenant/input.tf b/cloud/aws/rds/tenant/input.tf similarity index 100% rename from cloud/aws/rds_serverless/tenant/input.tf rename to cloud/aws/rds/tenant/input.tf diff --git a/cloud/aws/rds_serverless/tenant/output.tf b/cloud/aws/rds/tenant/output.tf similarity index 100% rename from cloud/aws/rds_serverless/tenant/output.tf rename to cloud/aws/rds/tenant/output.tf diff --git a/cloud/aws/rds_serverless/terraform.tf b/cloud/aws/rds/tenant/terraform.tf similarity index 100% rename from cloud/aws/rds_serverless/terraform.tf rename to cloud/aws/rds/tenant/terraform.tf