* fix(modules): allow disabling logging and configuring optional fields in LB backend services
Replaced 'log_sample_rate' (number) with 'log_config' (object) in all Load Balancer Backend Service modules. This allows explicitly disabling logging ('enable = false') and configuring advanced options like 'optional_mode' and 'optional_fields', resolving infinite plan drift and the inability to disable logging.
Affected modules:
- net-lb-app-ext-regional
- net-lb-app-ext
- net-lb-app-int-cross-region
- net-lb-app-int
- net-lb-ext
- net-lb-int
- net-lb-proxy-int
Added test cases and updated documentation.
Fixes#3914
* style: format variables files with terraform fmt
* docs: add critical linting rule for AI agents to GEMINI.md
* refactor(net-lb-app-ext): improve configurability and resource references
- Allow overriding names for backend buckets and instance groups
- Add optional per-group description with default value
- Use self_link for instance group backend references
- Fix HTTP proxy name to use http_proxy_config
* reverted the instance group reference in backend service back to id instead of self link
* updated all the lb modules for unmanaged instance groups to have flexible names and proper refactorization of http_proxy_cofig in each module
* removed the description variable
* updated the readme.md for the net-lb-app-ext-regional module
* fixed the linting error for the change in versions.tf
---------
Co-authored-by: Julio Castillo <jccb@google.com>
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
* feat: Changes for migrating resources to GLB module
* Updated Readme
* Added support for null description
* Added support for empty string
* Added default optional values
* Changed Readme
* Corrected description according to readme
* Added name and description changes for net-lb-app-ext-regional
* Added name and description changes for net-lb-app-int
* Added name and description changes for net-lb-app-int-cross-region
* Added name and description changes for net-lb-proxy-int
* Added name and description changes for net-lb-ext
* Added name and description changes for net-lb-int
* Changed Readme docs
## net-lb-int
* Fix error on apply of example:
```
Error creating RegionBackendService: googleapi: Error 400: Invalid value for field 'resource.backends[0].balancingMode': 'UTILIZATION'. Balancing mode must be CONNECTION for an INTERNAL backend service., invalid
```
* remove unused `balancing_mode` variable, as only one value is possible anyhow
## net-lb-ext
* update in the `backends` description
## net-lb-proxy-int
* update in the `backends` description
## net-lb-app-int
* added validation of `balancing_mode`
* fixed other validations
## net-lb-app-ext
* added validation of `balancing_mode`
* fixed other validations
* removed validation for `locality_lb_policy` as this variable is not used in this module
Closes: #1767