Hi,
When using yamlencode here, terraform plan show “known after apply”. Any suggestions to get the actual changes in plan itself?
locals {
karpenter_nodes_list_resource_limits = [
for node_group in var.karpenter_nodes_list : merge(node_group, {
limits = node_group.maxNodeCount != null ? {
resources = {
cpu = data.aws_ec2_instance_type.karpenter[node_group.instance_types[0]].default_vcpus * node_group.maxNodeCount
memory = "${data.aws_ec2_instance_type.karpenter[node_group.instance_types[0]].memory_size * node_group.maxNodeCount}Mi"
}
} : null
})
]
}
resource "helm_release" "karpenter_nodetemplates" {
count = var.karpenter.enabled ? 1 : 0
name = "karpenter-nodetemplates"
chart = "${path.module}/charts/node-template"
timeout = 300
version = yamldecode(file("${path.module}/charts/node-template/Chart.yaml")).version
force_update = false
values = [
yamlencode({
nodeGroups = local.karpenter_nodes_list_resource_limits
subnetSelector = {
subnetIds = var.private_subnet_ids
}
securityGroupSelector = {
securityGroupIds = var.node_security_group_id
}
})
]
}
Terraform plan:
~ values = [
- <<-EOT
"nodeGroups":
....
EOT,
] -> (known after apply)
Best regards,
Prabhu