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) :