277 Commits

Author SHA1 Message Date
Ludovico Magnocavallo
24775a03ae Fix boot disk validation when attaching existing disk in compute-vm (#4015) 2026-06-07 10:14:48 +00:00
Julio Castillo
d8d66583f8 Bump GCP provider version to 7.33.0 (#4004)
* Bump provider version

* Fix inventories

* Ignore certificates in inventories

* Add header to cloud run recipe

* Optimize file copy for example-based tests

* Remove local references
2026-05-31 21:04:01 +00:00
Ludovico Magnocavallo
8e0826a95e prep v56.1.0 2026-05-25 12:27:30 +00:00
Ludovico Magnocavallo
87ede610c4 prep v56.0.0 2026-05-21 09:19:03 +00:00
Ludovico Magnocavallo
a2493caf25 prep v55.4.0 2026-05-10 14:46:23 +00:00
Ludovico Magnocavallo
91fe329aca Fix E2E test failures for Cloud Run v2, KMS, Compute VM, and update GEMINI.md (#3953)
* Update Cloud Run v2 GPU examples in README

Remove launch_stage = "BETA" from examples as it now defaults to GA in the provider. This fixes E2E test failures where the API returns GA. Reference: https://github.com/hashicorp/terraform-provider-google/pull/17029

TAG=agy

* Fix KMS and Compute VM E2E test failures

Update README examples to avoid conflicts and unsupported modes, and update corresponding inventories.

TAG=agy

* Add instruction to run a single specific example test in GEMINI.md

TAG=agy
2026-05-10 11:53:30 +02:00
Samuele Perticarari
c0ee6842c6 feat(alloydb): Implement track_client_address field in AlloyDB module (#3916)
* Implement track_client_address field in AlloyDB

* Bump Google TF providers to 7.29
2026-04-28 07:40:25 +00:00
Julio Castillo
74d5cd633a Bump minimum OpenTofu version to 1.11.00 (#3918) 2026-04-27 19:12:01 +02:00
Julio Castillo
8450edbf2b prep v55.3.0 2026-04-27 10:25:51 +02:00
Ludovico Magnocavallo
392ee6bda4 prep v55.2.0 2026-04-25 04:51:39 +00:00
Julio Castillo
2eaa0d5e27 Add support for dynamic tags (#3897)
* Allow creation of dynamic tags

* Extend project factory and related modules to support dynamic values

* Extend folder and organization modules

* project and organization readme

* Simplify dynamic tag support and remove unnecessary restrictions

  • Schemas & Validations: Removed the restriction that forbade combining IAM fields with  allowed_values_regex  on tags. Updated validations in  project  and  organization  modules, and
  simplified all relevant JSON schemas.
  • Module Tag Bindings: Simplified the  tag_value  assignment in  folder ,  project ,  gcs ,  bigquery-dataset , and  kms  modules by removing the defensive  can(regex(...))  check and
  calling  templatestring  directly.
  • Outputs: Removed the  tags_dynamic  output from  project  and  organization  modules, as the same information is now available in  tag_keys .
  • Project Factory: Updated  tag_vars_projects  in  projects.tf  to use the native  namespaced_name  attribute and filtered manually for dynamic tags.

* fix(organization, project): fix linting and tests for dynamic tag support

- Align allowed_values_regex and description extraction in _tags_merged
  locals to use lookup() for consistency with other fields.
- Fix spacing in project context variable (alphabetical ordering).
- Update organization tags test to include the new cost_center tag key
  with allowed_values_regex.
- Update project tags test to include the new cost_center tag key and
  reflect the resolved allowed_values_regex on environment.

* refactor(gcs): refine tag bindings and fix context test

- Add _tag_bindings local to pre-resolve context references, enabling
  templatestring to receive a direct map reference (required by Terraform).
- Use var.context.tag_vars instead of the non-existent local.ctx.tag_vars.
- Fix HCL syntax in context.tfvars (escaped inner quotes).
- Update context test inventory to reflect 3 tag bindings including a
  dynamic value resolved via templatestring.

* refactor: align modules with tag binding context pattern

- Add _tag_bindings local + templatestring dance to cloud-run-v2,
  compute-vm, folder, kms modules (bigquery-dataset already had it)
- Exclude tag_vars from local.ctx in cloud-run-v2, compute-vm, folder,
  kms, project modules (bigquery-dataset already had it)
- Add tag_vars to context variable in cloud-run-v2, compute-vm modules
  (others already had it)
- Update all context tests with dynamic tag binding values using
  var.context.tag_vars

* docs: add module-level tftest.yaml test instructions to GEMINI.md

* docs: regenerate READMEs after tag-regex alignment

- Regenerate variable tables in 7 module READMEs to reflect
  line number shifts from prior tag-regex changes
- Add tag_vars exclusion to gcs ctx local
- Fix whitespace alignment in iam-service-account and
  project-factory tag_vars blocks
- Update tftest resource counts for organization and project
- Remove tags_dynamic from organization/project output tables

* fix(project-factory): update test inventory for tag_bindings module split

- Move tag binding address from folder-2 to folder-2-iam in test
  inventory (tag_bindings moved from creation to IAM modules)
- Update module instance count from 34 to 35
- Regenerate README tables after terraform fmt line shifts
- Apply terraform fmt to variables.tf

* refactor(project-factory): remove unnecessary depends_on from folder-iam modules

Folder IAM modules depend on their own folder creation modules, not
on module.projects. The explicit depends_on was leftover from an
earlier design.

* FAST stages

* Address review comments.

- FAST Stages:
  - Added tag_keys to output-files.tf in 0-org-setup to pass org tags via tfvars.
  - Sorted tag_keys and tag_values in output-files.tf.
  - Updated project-factory, networking, and security stages to use tag_keys.
  - Filtered tag_keys for dynamic tags only.
- Modules:
  - Excluded tag_vars from local.ctx in iam-service-account and organization.
  - Simplified tag_value in iam-service-account.
- Tests:
  - Updated test inventories for 0-org-setup and project-factory.

* Fix tf format

* Fix tfdoc

* docs: add ADR for templatestring vars convention and update status of base path ADR

* More tfdoc

* Update schemas

* Use endswith in context loop

* Address review

* Update FAST readmes

* Update last modules

* Terraform fmt

* Revert alloydb

* Fix whitespace

---------

Co-authored-by: Ludovico Magnocavallo <ludo@qix.it>
2026-04-24 20:45:45 +00:00
Hemanand
eaa420534b Add agent engine BYOC support (#3885)
* feat(agent-engine): add support for container and custom image specs

- Add container_config to deployment_files.
- Add image_spec with build_args to source_config.
- Make agent_framework optional and document supported values.
- Implement dynamic specs for container and source deployments.
- Add examples and automated tests for new deployment types.

* chore: update Google provider version to 7.28.0 across modules

Mechanical update of versions.tf and versions.tofu files using tools/versions.py.

* feat(agent-engine): refactor for container deployments and API alignment

- Group deployment settings under 'deployment_config' (renamed from 'deployment_files').
- Support container-based deployments via 'container_config' and 'image_spec'.
- Refactor 'source_files_config' (renamed from 'source_config') to include mutually exclusive 'python_spec' and 'image_spec'.
- Support 'developer_connect_config' as a source code type.
- Group engine settings (framework, env, secrets) under 'agent_engine_config'.
- Add support for 'memory_bank_config' persistent memory.
- Overhaul reasoning engine resources with dynamic blocks to match provider schema.
- Update all documentation examples, add TOC, and refresh test inventories.

* Update dynamic python_spec block and related example yamls

* Ignore changes setting for developer_connect_source under lifecycle management

* fixing review comments for `try` and default path for `source_path`

---------

Co-authored-by: Hemanand <hemr@google.com>
Co-authored-by: Julio Castillo <jccb@google.com>
2026-04-21 17:46:20 +00:00
Ludovico Magnocavallo
25bd428d17 prep v55.1.0 2026-04-20 14:22:29 +00:00
Luca Prete
f2d4e937d1 Fix pre-commit hook (#3882) 2026-04-18 10:07:14 +02:00
Ludovico Magnocavallo
8076220648 Fix regression in compute-vm module (#3872)
* fix(compute-vm): purge key_revocation_action_type from tests and update schema link

* fix schema link
2026-04-15 17:17:42 +00:00
Ludovico Magnocavallo
9c40f56332 prep v55.0.0 2026-04-14 11:42:34 +00:00
Ludovico Magnocavallo
920eaf128b prep v54.4.0 2026-04-14 08:47:07 +00:00
Ludovico Magnocavallo
68f2f29144 fix(compute-vm): add position attribute to attached_disks to control ordering (#3848) 2026-04-09 21:34:15 +02:00
Ludovico Magnocavallo
fa1e390af7 prep v54.3.0 2026-04-09 12:30:25 +00:00
Hemanand
92d591a9b6 Add memory bank to modules/agent-engine (#3844)
* feat(agent-engine): add support for memory bank configuration

* refactor(agent-engine): remove source_path_override and revert to standard source_path

* provider version upgrade from 7.17 to 7.27

* docs(agent-engine): fix README validation and update tables

---------

Co-authored-by: Hemanand <hemr@google.com>
2026-04-08 17:09:27 +00:00
Julio Castillo
bc5b203a8f Add toggle to tfdoc to remove type hints (#3842)
* Add toggle to tfdoc to remove type hints

* Update all readmes

* Fix python formatting
2026-04-08 11:08:18 +00:00
Ludovico Magnocavallo
0cc97937be prep v54.2.0 2026-04-02 12:56:36 +00:00
Ludovico Magnocavallo
44d00ed670 Implement group membership in compute-vm module (#3816)
* implement group membership in compute-vm module

* fix newline, update copyright
2026-03-27 07:56:07 +00:00
Ludovico Magnocavallo
774ca376e6 prep v54.1.0 2026-03-26 15:53:38 +00:00
Ludovico Magnocavallo
a4eb4d24fd Compute VM module refactor (#3805)
* 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>
2026-03-26 11:31:40 +00:00
Wiktor Niesiobędzki
36b58781ed Use e2-micro instead of f1-micro as default 2026-03-17 14:46:52 +01:00
Suryansh Singhal
761399f055 Allow compute-vm disks to have custom names (#3792)
* module support custom name if provided instead of just {vm_name}-boot

* updated readme.md
2026-03-16 11:22:34 +00:00
Ludovico Magnocavallo
dd95efc53e prep v54.0.0 2026-03-05 11:11:25 +00:00
Ludovico Magnocavallo
e282f4bb4f prep v53.1.0 2026-03-05 10:55:44 +00:00
Wiktor Niesiobędzki
a1474b2b0a Fix example for snapshot schedules 2026-02-20 14:43:23 +00:00
Ludovico Magnocavallo
e58c6dd3d1 Fix regional resource policy attachment in compute-vm module (#3753)
* fix regional resource policy attachment in compute-vm module

* tfdoc
2026-02-19 10:27:04 +00:00
Christian Bönning
702075fec6 Allow specifying "network_tier" for Compute Engine VM Templates (#3741)
Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2026-02-16 16:50:00 +01:00
Ludovico Magnocavallo
26e622edae prep v53.0.0 2026-02-12 09:12:54 +00:00
Ludovico Magnocavallo
5765b11a87 prep v52.1.0 2026-02-12 09:01:26 +00:00
Ludovico Magnocavallo
cdc5e7df45 prep v52.0.0 2026-01-30 16:00:47 +00:00
Ludovico Magnocavallo
1f8c2b36da prep v51.1.0 2026-01-30 15:58:47 +00:00
Ludovico Magnocavallo
1a2f84a5a7 Fix resource policies for regional disks in compute-vm module (#3689)
* fix resource policy for regional disks

* remove unused providers from lockfile
2026-01-30 14:46:40 +01:00
Luca Prete
3877a40119 Add PSC-I support to Agent Engine module (#3686) 2026-01-30 07:24:06 +03:00
Ludovico Magnocavallo
f8f856c9ac reinstate v51.0.0 2026-01-08 13:32:59 +00:00
Ludovico Magnocavallo
1b4930513f prep v51.1.1 2026-01-08 13:21:22 +00:00
Ludovico Magnocavallo
6ab071da8d prep v51.1.0 2026-01-08 12:12:43 +00:00
Ludovico Magnocavallo
ef027ad5b5 prep v51.0.0 2026-01-07 11:23:41 +00:00
Ludovico Magnocavallo
7a3387d64d prep v50.1.0 2026-01-07 09:57:10 +00:00
Suryansh Singhal
ba304518f1 Prevent recreation for key_revocation_action in compute-vm module (#3620)
* fix(compute-vm): prevent instance recreation for key_revocation_action_type

The `key_revocation_action_type` attribute in the `google_compute_instance`
resource defaults to `NONE` on the provider side.

When this optional attribute was not explicitly set in the module's
`options` variable, it resolved to `null` in the Terraform configuration.
This caused Terraform to detect a change from `null` to `NONE` on every
plan, leading to unnecessary instance recreation.

This change applies `coalesce` to
`var.options.key_revocation_action_type` in the resource definition so
that it defaults to `NONE` when unset, aligning the configuration with
provider behavior and preventing a permadiff.

* updated the regional compute template too with the key_revocation_action_type

* fixed the formatting
2026-01-05 11:53:47 +01:00
Suryansh Singhal
5eeb7b51bb Terraform allow one of X86_64, ARM64 but the validation is for x86_64 has been fixed (#3615)
Co-authored-by: suryansh.singhal <suryansh.singhal@arya.ag>
2026-01-02 12:47:55 +01:00
Luca Prete
c193fb37ee Upgrade Terraform provider to 7.13 (#3600) 2025-12-18 11:29:48 +01:00
Ludovico Magnocavallo
d21e9c51e8 prep v50.0.0 2025-12-10 18:22:55 +00:00
Ludovico Magnocavallo
5e606d0fff prep v49.3.0 2025-12-10 17:51:43 +00:00
Ludovico Magnocavallo
ac68262733 prep v49.2.0 2025-12-08 07:58:58 +00:00
Wiktor Niesiobędzki
d370121245 move c4* tests to c zone 2025-12-07 15:15:44 +01:00