From decb9c5e6475b90726b7f86275e6961030b8347b Mon Sep 17 00:00:00 2001 From: jhunter1-onetrust <102047601+jhunter1-onetrust@users.noreply.github.com> Date: Thu, 14 Dec 2023 09:52:01 -0500 Subject: [PATCH] Reference castai_node_configuration from within module. (#46) This update provides the option to pass in the configuration GUID or the resource key for all configuration_id references. This is a backwards-compatible update that maintains the current functionality of the external self-reference of the module's castai_node_configurations output. --- main.tf | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/main.tf b/main.tf index 7022a01..e0a2af2 100644 --- a/main.tf +++ b/main.tf @@ -1,3 +1,7 @@ +locals { + configuration_id_regex_pattern = "[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12}" +} + resource "castai_aks_cluster" "castai_cluster" { name = var.aks_cluster_name @@ -9,7 +13,6 @@ resource "castai_aks_cluster" "castai_cluster" { node_resource_group = var.node_resource_group delete_nodes_on_disconnect = var.delete_nodes_on_disconnect - } resource "castai_node_configuration" "this" { @@ -32,7 +35,9 @@ resource "castai_node_configuration" "this" { resource "castai_node_configuration_default" "this" { cluster_id = castai_aks_cluster.castai_cluster.id - configuration_id = var.default_node_configuration + configuration_id = length(regexall(local.configuration_id_regex_pattern, var.default_node_configuration)) > 0 ? var.default_node_configuration : castai_node_configuration.this[var.default_node_configuration].id + + depends_on = [ castai_node_configuration.this ] } resource "castai_node_template" "this" { @@ -43,7 +48,7 @@ resource "castai_node_template" "this" { name = try(each.value.name, each.key) is_default = try(each.value.is_default, false) is_enabled = try(each.value.is_enabled, null) - configuration_id = try(each.value.configuration_id, null) + configuration_id = can(each.value.configuration_id) ? length(regexall(local.configuration_id_regex_pattern, each.value.configuration_id)) > 0 ? each.value.configuration_id : castai_node_configuration.this[each.value.configuration_id].id : null should_taint = try(each.value.should_taint, true) custom_labels = try(each.value.custom_labels, {})