* 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
* add ad for compute-vm refactor
* Exclue nic_type from validated fields, add split of main.tf and template.tf
* boot disk
* fix examples and fixtures
* attached disks
* fix further examples and module-level tests
* remove extra file
* fix mig examples
* finish refactoring variables
* align fast and other modules
* refactor(compute-vm): align examples and ADR with the newly implemented interface
This commit addresses the remaining references of the `instance_type` and `confidential_compute` parameters in the testing environment and updates the ADR.
* feat(compute-vm): add network_performance_config to instance and templates
This change implements the usage of the `network_performance_tier` variable we added earlier into the actual Terraform resources.
---------
Co-authored-by: Wiktor Niesiobędzki <wiktorn@google.com>
* 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
* Add override_name optional variable
* Add override name optional variable
* Allow override for each forwarding rule
* Add optional override_name variable to forwarding_rules_config
* Remove duplicate (unused) variable override_name
* Add optional override_name variable for network peering
* Add optional override_name variable for network peering
* Formatting
* Update VPN tunnel interface name handling for override
* Update bgp peer handling for override
* Added renaming for both sides of peering
* Fix precondition
* Remove spurious folders
* Apply suggestions to peering module
* Use coalesce and name (instead of override_name)
* remove unneeded null
* Revert windows style slashes in readme
* Fix more null checks
* Fix unneeded null checks in net-lb-int
* Change override_name back to name in the rest of the locations, bgppeer, tunnel and interface names
* Fix linter
* Update READMEs
---------
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
Co-authored-by: unknown <jack@JACK-PC.lfn.arpa>
Co-authored-by: jacklever-hub24 <jack.lever@hub24.com.au>
Co-authored-by: Julio Castillo <jccb@google.com>
## 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