diff --git a/modules/gke-hub/README.md b/modules/gke-hub/README.md index 56891e29c..dbc6ed527 100644 --- a/modules/gke-hub/README.md +++ b/modules/gke-hub/README.md @@ -117,7 +117,7 @@ module "hub" { } } -# tftest modules=4 resources=16 +# tftest modules=4 resources=15 ``` ## Multi-cluster mesh on GKE @@ -323,7 +323,7 @@ module "hub" { "cluster-2" ] } -# tftest modules=8 resources=29 +# tftest modules=8 resources=28 ``` diff --git a/modules/gke-hub/main.tf b/modules/gke-hub/main.tf index 66688613c..f433d3227 100644 --- a/modules/gke-hub/main.tf +++ b/modules/gke-hub/main.tf @@ -29,6 +29,9 @@ locals { var.features.configmanagement == true ) } + hub_features = { + for k, v in var.features : k => v if v != null && v != false && v != "" + } } resource "google_gke_hub_membership" "default" { @@ -53,7 +56,7 @@ resource "google_gke_hub_membership" "default" { resource "google_gke_hub_feature" "default" { provider = google-beta - for_each = { for k, v in var.features : k => v if coalesce(v, false) != false } + for_each = local.hub_features project = var.project_id name = each.key location = "global" diff --git a/tests/modules/gke_hub/test_plan.py b/tests/modules/gke_hub/test_plan.py index c6a9b084c..355218134 100644 --- a/tests/modules/gke_hub/test_plan.py +++ b/tests/modules/gke_hub/test_plan.py @@ -23,10 +23,9 @@ def resources(plan_runner): def test_resource_count(resources): "Test number of resources created." - assert len(resources) == 6 + assert len(resources) == 5 assert sorted(r['address'] for r in resources) == [ 'module.hub.google_gke_hub_feature.default["configmanagement"]', - 'module.hub.google_gke_hub_feature.default["multiclusteringress"]', 'module.hub.google_gke_hub_feature_membership.default["cluster-1"]', 'module.hub.google_gke_hub_feature_membership.default["cluster-2"]', 'module.hub.google_gke_hub_membership.default["cluster-1"]',