From 42641397e3fdd1c669634059a35b7f37bcba96cb Mon Sep 17 00:00:00 2001 From: apichick Date: Wed, 11 Jun 2025 19:18:20 +0200 Subject: [PATCH] Fixed problem with backend preference, changed it to boolean. Backend preference can only be PREFERRED or null --- modules/net-lb-app-ext/README.md | 2 +- modules/net-lb-app-ext/backend-service.tf | 2 +- modules/net-lb-app-ext/variables-backend-service.tf | 11 +---------- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/modules/net-lb-app-ext/README.md b/modules/net-lb-app-ext/README.md index fb598f2d2..f63c5a20b 100644 --- a/modules/net-lb-app-ext/README.md +++ b/modules/net-lb-app-ext/README.md @@ -1065,7 +1065,7 @@ After provisioning this change, and verifying that the new certificate is provis | [name](variables.tf#L108) | Load balancer name. | string | ✓ | | | [project_id](variables.tf#L204) | Project id. | string | ✓ | | | [backend_buckets_config](variables.tf#L17) | Backend buckets configuration. | map(object({…})) | | {} | -| [backend_service_configs](variables-backend-service.tf#L19) | Backend service level configuration. | map(object({…})) })) | | {} | +| [backend_service_configs](variables-backend-service.tf#L19) | Backend service level configuration. | map(object({…})) })) | | {} | | [description](variables.tf#L50) | Optional description used for resources. | string | | "Terraform managed." | | [forwarding_rules_config](variables.tf#L56) | The optional forwarding rules configuration. | map(object({…})) | | {…} | | [group_configs](variables.tf#L77) | Optional unmanaged groups to create. Can be referenced in backends via key or outputs. | map(object({…})) | | {} | diff --git a/modules/net-lb-app-ext/backend-service.tf b/modules/net-lb-app-ext/backend-service.tf index 2b1d3a43b..cc35606e4 100644 --- a/modules/net-lb-app-ext/backend-service.tf +++ b/modules/net-lb-app-ext/backend-service.tf @@ -78,7 +78,7 @@ resource "google_compute_backend_service" "default" { for_each = { for b in coalesce(each.value.backends, []) : b.backend => b } content { group = lookup(local.group_ids, backend.key, backend.key) - preference = backend.value.preference + preference = backend.value.preferred ? "PREFERRED" : null balancing_mode = backend.value.balancing_mode # UTILIZATION, RATE capacity_scaler = backend.value.capacity_scaler description = backend.value.description diff --git a/modules/net-lb-app-ext/variables-backend-service.tf b/modules/net-lb-app-ext/variables-backend-service.tf index 613298311..63d445a9d 100644 --- a/modules/net-lb-app-ext/variables-backend-service.tf +++ b/modules/net-lb-app-ext/variables-backend-service.tf @@ -37,7 +37,7 @@ variable "backend_service_configs" { backends = list(object({ # group renamed to backend backend = string - preference = optional(string, "DEFAULT") + preferred = optional(bool, false) balancing_mode = optional(string, "UTILIZATION") capacity_scaler = optional(number, 1) description = optional(string, "Terraform managed.") @@ -164,15 +164,6 @@ variable "backend_service_configs" { ])) error_message = "When specified, balancing mode needs to be 'RATE' or 'UTILIZATION'." } - validation { - condition = alltrue(flatten([ - for backend_service in values(var.backend_service_configs) : [ - for backend in backend_service.backends : contains( - ["DEFAULT", "PREFERRED"], coalesce(backend.preference, "DEFAULT") - )] - ])) - error_message = "When specified, balancing mode needs to be 'DEFAULT' or 'PREFERRED'." - } validation { condition = alltrue([ for backend_service in values(var.backend_service_configs) :