diff --git a/CHANGELOG.md b/CHANGELOG.md index e152133..48400e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,5 +2,10 @@ - 0.0.1 -- 2024-10-18 - initial creation with tags for finops + - 0.0.6 -- 2024-11-22 - add finops.roles + +- 0.0.7 -- 2025-02-05 + - add legacy_remaining options to remove the finops tags from the legacy tags and preserve the remaining values + diff --git a/common/version.tf b/common/version.tf index 4a4de87..2e6ed2a 100644 --- a/common/version.tf +++ b/common/version.tf @@ -1,4 +1,4 @@ locals { - _module_version = "0.0.6" + _module_version = "0.0.7" _module_name = "boc-nts" } diff --git a/tags/tags.yml b/examples/tags/tags.yml similarity index 100% rename from tags/tags.yml rename to examples/tags/tags.yml diff --git a/tags/outputs.tf b/tags/outputs.tf index 645dd48..88b4edb 100644 --- a/tags/outputs.tf +++ b/tags/outputs.tf @@ -1,6 +1,7 @@ output "tags" { description = "Map of processed tag key/value pairs" value = merge( + local.legacy_tags_remaining, { 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 }, ) @@ -11,6 +12,7 @@ output "tag_hierarchy" { value = { "base" = local.base_tags "finops" = local.finops_tags + "legacy" = local.legacy_tags_remaining } } diff --git a/tags/tags.legacy.tf b/tags/tags.legacy.tf index 1d9c466..96f283d 100644 --- a/tags/tags.legacy.tf +++ b/tags/tags.legacy.tf @@ -5,9 +5,11 @@ locals { project_role = ["Project Role", "ProjectRole"] } legacy_finops_tags_map = { for k, v in transpose(local.legacy_finops_tags) : k => v[0] } + legacy_finops_tags_keys = flatten([ for k, v in local.legacy_finops_tags: v ]) _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]...) + legacy_tags_remaining = { for k,v in var.legacy_tags: k => v if !contains(local.legacy_finops_tags_keys,k) } } resource "terraform_data" "legacy_finops_number" {