From 3b10549e3e0b711af336b888d2c4cfd81ebaf316 Mon Sep 17 00:00:00 2001 From: tei-k Date: Tue, 15 Dec 2020 11:43:29 +0900 Subject: [PATCH 1/2] Fix empty map bug in aws scalardl --- examples/aws/scalardl/locals.tf | 4 ++-- modules/aws/scalardl/locals.tf | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/aws/scalardl/locals.tf b/examples/aws/scalardl/locals.tf index ded1f5a16..0bfa96d8d 100644 --- a/examples/aws/scalardl/locals.tf +++ b/examples/aws/scalardl/locals.tf @@ -23,8 +23,8 @@ locals { } cassandra = { - start_on_initial_boot = var.scalardl.database == "cassandra" ? data.terraform_remote_state.cassandra.outputs.cassandra_start_on_initial_boot : false - provision_ids = var.scalardl.database == "cassandra" ? join(",", data.terraform_remote_state.cassandra.outputs.cassandra_provision_ids) : "" + start_on_initial_boot = lookup(var.scalardl, "database", "cassandra") == "cassandra" ? data.terraform_remote_state.cassandra.outputs.cassandra_start_on_initial_boot : false + provision_ids = lookup(var.scalardl, "database", "cassandra") == "cassandra" ? join(",", data.terraform_remote_state.cassandra.outputs.cassandra_provision_ids) : "" } custom_tags = data.terraform_remote_state.network.outputs.custom_tags diff --git a/modules/aws/scalardl/locals.tf b/modules/aws/scalardl/locals.tf index 96d3774c8..6230fa164 100644 --- a/modules/aws/scalardl/locals.tf +++ b/modules/aws/scalardl/locals.tf @@ -15,12 +15,6 @@ locals { blue_subnet_ids = split(",", var.network.blue_subnet_ids) green_subnet_ids = split(",", var.network.green_subnet_ids) internal_domain = var.network.internal_domain - - triggers = [ - (lookup(var.scalardl, "database", "cassandra") == "cassandra" && var.cassandra.start_on_initial_boot) ? - var.cassandra.provision_ids : - var.network.bastion_provision_id - ] } ### default @@ -120,3 +114,9 @@ locals { envoy_nlb_create_count = local.envoy.enable_nlb ? 1 : 0 envoy_nlb_subnet_ids = local.envoy.nlb_internal ? slice(local.private_subnet_ids, 0, length(distinct(local.locations))) : slice(local.public_subnet_ids, 0, length(distinct(local.locations))) } + +locals { + triggers = [ + local.scalardl.database == "cassandra" && var.cassandra.start_on_initial_boot ? var.cassandra.provision_ids : var.network.bastion_provision_id + ] +} From 74b7b2a0fce17661cd00b6471b34c95b8fafbb22 Mon Sep 17 00:00:00 2001 From: tei-k Date: Tue, 15 Dec 2020 14:13:25 +0900 Subject: [PATCH 2/2] Fix remote resource --- examples/aws/scalardl/locals.tf | 6 ++++-- examples/aws/scalardl/remote.tf | 2 ++ examples/aws/scalardl/remote.tf.s3 | 2 ++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/examples/aws/scalardl/locals.tf b/examples/aws/scalardl/locals.tf index 0bfa96d8d..11cac35c5 100644 --- a/examples/aws/scalardl/locals.tf +++ b/examples/aws/scalardl/locals.tf @@ -22,9 +22,11 @@ locals { green_subnet_ids = join(",", data.terraform_remote_state.network.outputs.subnet_map["scalardl_green"]) } + database = lookup(var.scalardl, "database", "cassandra") + cassandra = { - start_on_initial_boot = lookup(var.scalardl, "database", "cassandra") == "cassandra" ? data.terraform_remote_state.cassandra.outputs.cassandra_start_on_initial_boot : false - provision_ids = lookup(var.scalardl, "database", "cassandra") == "cassandra" ? join(",", data.terraform_remote_state.cassandra.outputs.cassandra_provision_ids) : "" + start_on_initial_boot = local.database == "cassandra" ? data.terraform_remote_state.cassandra[0].outputs.cassandra_start_on_initial_boot : false + provision_ids = local.database == "cassandra" ? join(",", data.terraform_remote_state.cassandra[0].outputs.cassandra_provision_ids) : "" } custom_tags = data.terraform_remote_state.network.outputs.custom_tags diff --git a/examples/aws/scalardl/remote.tf b/examples/aws/scalardl/remote.tf index 8db871f06..62e5ec1fd 100644 --- a/examples/aws/scalardl/remote.tf +++ b/examples/aws/scalardl/remote.tf @@ -7,6 +7,8 @@ data "terraform_remote_state" "network" { } data "terraform_remote_state" "cassandra" { + count = local.database == "cassandra" ? 1 : 0 + backend = "local" config = { diff --git a/examples/aws/scalardl/remote.tf.s3 b/examples/aws/scalardl/remote.tf.s3 index 179394090..c71f48c39 100644 --- a/examples/aws/scalardl/remote.tf.s3 +++ b/examples/aws/scalardl/remote.tf.s3 @@ -9,6 +9,8 @@ data "terraform_remote_state" "network" { } data "terraform_remote_state" "cassandra" { + count = local.database == "cassandra" ? 1 : 0 + backend = "s3" config = {