From 66f3f0bfbf7b5fd9770f4614f4351f562884aa60 Mon Sep 17 00:00:00 2001 From: badra001 Date: Fri, 8 Nov 2024 10:59:17 -0500 Subject: [PATCH] add in checks for legacy --- tags/outputs.tf | 2 +- tags/tags.legacy.tf | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/tags/outputs.tf b/tags/outputs.tf index 55eb878..bb02d70 100644 --- a/tags/outputs.tf +++ b/tags/outputs.tf @@ -1,7 +1,7 @@ output "tags" { description = "Map of processed tag key/value pairs" value = merge( - # local.base_tags, + { for k,v in local.legacy_finops_converted: format("%v_%v", local._finops_tags.prefix, k) => v }, { for k, v in local.finops_tags : format("%v_%v", local._finops_tags.prefix, k) => v }, ) } diff --git a/tags/tags.legacy.tf b/tags/tags.legacy.tf index d0bd9c7..f7b3c5e 100644 --- a/tags/tags.legacy.tf +++ b/tags/tags.legacy.tf @@ -9,3 +9,15 @@ locals { _legacy_finops1 = [for k, v in var.legacy_tags : { legacy_key = k, value = v, key = lookup(local.legacy_finops_tags_map, k, null) }] legacy_finops_converted = merge([for t in local._legacy_finops1 : { (t.key) = lower(t.value) } if t.key != null]...) } + +resource "terraform_data" "legacy_finops_number" { + count = lookup(local.legacy_finops_converted,"project_number",null) != null ? 1 : 0 + input = lookup(local.legacy_finops_converted,"project_number",null) + + lifecycle { + precondition { + condition = length(regexall("^fs\d{10}$",lookup(local.legacy_finops_converted,"project_number",null))) == 0 + error_message = "Invalid legacy finops project_number format." + } + } +}