Commit Graph

43 Commits

Author SHA1 Message Date
Julio Castillo
ea445fa7e4 Add support for VPC internal ranges to modules/net-vpc (#3318)
* Add support for VPC internal ranges to modules/net-vpc

* Fix linting

* Fix variable order

* Fix README

* Sort outputs.

* Fix validation for terraform < 1.13
2025-09-11 17:42:54 +00:00
Ludovico Magnocavallo
36648b6b63 FAST light implementation (#3255)
* data wip

* wip data

* update org schema, add note on expansion

* all schemas, workload notes

* Update WORKLOG.md

* Update WORKLOG.md

* Update WORKLOG.md

* Update WORKLOG.md

* wip

* data wip

* wip

* wip

* wip

* wip

* org module IAM context (using lookup)

* new-style context expansion in project IAM

* remove spurious file

* project module contexts

* finalize context replacement format for project module

* revert org module changes

* fix tag id interpolation in project

* fix tag id interpolation in project

* organization module context

* organization context test

* context expansion for folder tag bindings

* test context expansion for tag bindings

* service account module context

* simplify context local

* context for iam service account

* nuke blueprints

* remove links to blueprints

* vpc sc context in project module

* Add context to GCS module

* Add inline deps to plan_summary script

* Make context a top-level variable for folder, organization, sa

* Add add context top-level to VPC-SC

* move context out of factories_config variable

* tfdoc

* fix merge

* fix merge

* fix examples

* net-vpc module context

* add parent ids to folder context

* rename folder parent context

* fix folder parent check

* new project factory stub

* wip

* wip

* refactor defaults

* project iam

* bueckts and service accounts

* start adding context replacements

* better test data

* automation resources for folders and projects

* automation

* add support for project id interpolation

* first tested apply

* improve IAM description in gcs module

* add context to billing account module

* add notification channels to billing account module context

* add billing budgets to new pf

* schemas and defaults

* bootstrap wip

* bootstrap wip

* bootstrap wip

* pf outputs

* pf fixes

* fix pf sample data

* bootstrap lite fixes

* add locations to organization module contexts

* bootstrap lite fixes

* org fixes, billing accounts

* fix default project parent

* bootstrap lite wip

* add locations to gcs module context

* add context support to logging bucket module

* add context to pubsub module

* split out iam variables in gcs module

* fix logging bucket context test

* bootstrap log sink destinations

* streamline logging-bucket module variables

* fix logging bucket context test

* align logging bucket module interface in fast bootstrap

* add support for project-level log buckets to project factory

* support full context expansion in organization module log sinks

* log buckets in fast-lite bootstrap

* make og sink type optional in organization module

* log sinks in fast-lite bootstrap

* set tag values in factory context

* bootstrap lite data

* output files schema

* billing account schema

* output files

* output providers

* gcs output files

* boilerplate

* tflint

* check documentation

* check docs

* fix project module parent variable validation

* fix log bucket examples

* allow null parent in project module

* silence folder test errors

* fix billing account sink example

* fix project example

* fix billing account module

* fix folder tests

* fix FAST

* fix fast

* tfvars outputs

* wif

* cicd service accounts

* cicd

* allow defaults in context, minimal org policies

* support gcs managed folders in project factory and bootstrap lite

* support prefix in provider output files

* rename bootstrap stage

* gitignore

* gitignore

* security folder, billing IAM

* wip tfvars

* fix typo

* security IAM

* control tag iam/context via variables in organization module

* split tag creation from tag IAM to avoid circular refs

* port organization module tag changes to project module

* implement new-style context expansion in vpc-sc module

* fix fast vpc-sc tests

* boilerplate

* vpc sc stage

* schemas

* fast-lite compatibility for vpc sc stage

* make log project number optional in vpc-sc stage

* networking

* networking

* networking

* networking

* rename and move new stage under fast

* clone pf tests

* use context replacement for internal notification channels in billing account module

* support service agents in project module iam context replacements

* support service agents in project module iam context replacements

* add support for kms keys to project module context

* experimental pf example test and fixes

* fix schemas

* fix tests

* tfdoc

* tfdoc

* pf config

* experimental pf

* remove redundant dot from gcs managed folder IAM keys

* bootstrap experimental test

* project factory exp stage test

* skip tflint for bootstrap experimental test

* tflint

* fix gcs test

* documentation work

* documentation work

* Update README.md

* tfdoc

* tfdoc

* readme

* tfdoc

* readme

* readme

* readme

* readme

* support universe in pf exp projects

* missing universe service agents

* org policies import, non-admin billing IAM

* todo

* fix test

* custom constraints

* fast classic dataset

* fix test data

* context replacements in billing module log sinks

* fix typo

* add support for billing log sinks

* update docs

* readme

* cicd fix and test

---------

Co-authored-by: Julio Castillo <jccb@google.com>
2025-09-02 08:38:57 +02:00
Liam Nesteroff
6af6a638bf Create (or import) subnets with empty description (#3197)
* Create (or import) subnets with empty description

* Added comments for empty descriptions

Co-authored-by: Wiktor Niesiobędzki <wiktorn@google.com>

---------

Co-authored-by: Wiktor Niesiobędzki <wiktorn@google.com>
2025-06-28 12:15:05 +10:00
Chris McCoy
27e3673e3c ip_cidr_range simplification as suggested by @wiktorn 2025-06-20 18:22:08 +02:00
Chris McCoy
c33a4b57c1 Add support for IPv6 only subnets and IP collections 2025-06-20 18:22:08 +02:00
Simone Ruffilli
09de7d67ff Add send_secondary_ip_range_if_empty=true to google_compute_subnetwork (#2537) 2024-08-28 14:00:08 +00:00
jamesdalf
cc5c04f62a net-vpc module add overlap CIDR subnet attribute (#2521)
* add subnet allow_subnet_cidr_routes_overlap

* allow_subnet_cidr_routes_overlap default null

* set default null for factory subnets

---------

Co-authored-by: Ludovico Magnocavallo <ludomagno@google.com>
2024-08-26 19:48:26 +00:00
Simone Ruffilli
d66a358b6d Add context to net-vpc (subnets) factory (#2444) 2024-07-24 15:54:20 +02:00
Simone Ruffilli
d3ffcc2b1c Disable reserved_internal_range in net-vpc due to provider bug (#2282) 2024-05-15 05:46:18 +00:00
Simone Ruffilli
9a26fe8635 Add support for reserved_internal_range in net-vpc (#2275)
Adds support for reserved_internal_range to net-vpc
2024-05-14 22:19:45 +03:00
Julio Castillo
c58850c096 Add Hybrid NAT support (#2261)
* Updates to support hybid NAT

* Fix readme

* Fix variable order
2024-05-09 13:24:41 +00:00
Wiktor Niesiobędzki
93d9b60d54 Remove ignore_changes as terraform-provider-google#16804 is closed 2024-03-05 08:11:06 +01:00
Ludovico Magnocavallo
da68d3cfc4 Add support for PSC network attachments and interfaces in modules (#2125)
* support network attachments in net-vpc module

* support network attachments in net-address module

* fix examples

* fix examples

* add support for psc interfaces to compute-vm module
2024-03-04 10:12:11 +01:00
Ludovico Magnocavallo
6941313c7d Factories refactor (#1843)
* factories refactor doc

* Adds file schema and filesystem organization

* Update 20231106-factories.md

* move factories out of blueprints and create new factories  README

* align factory in billing-account module

* align factory in dataplex-datascan module

* align factory in billing-account module

* align factory in net-firewall-policy module

* align factory in dns-response-policy module

* align factory in net-vpc-firewall module

* align factory in net-vpc module

* align factory variable names in FAST

* remove decentralized firewall blueprint

* bump terraform version

* bump module versions

* update top-level READMEs

* move project factory to modules

* fix variable names and tests

* tfdoc

* remove changelog link

* add project factory to top-level README

* fix cludrun eventarc diff

* fix README

* fix cludrun eventarc diff

---------

Co-authored-by: Simone Ruffilli <sruffilli@google.com>
2024-02-26 10:16:52 +00:00
Wiktor Niesiobędzki
0d486fb34e E2E tests fixes 2023-12-19 11:01:03 +01:00
Julio Castillo
616c6fbc48 Fix subnet iam_bindings to use arbitrary keys 2023-09-15 14:30:27 +02:00
Julio Castillo
f3be29cbc9 Fix tests 2023-09-15 00:27:55 +02:00
Julio Castillo
f19ab4872f Embed subnet-level IAM in the variables controlling creation of subnets
This moves the top-level `iam`, `iam_bindings` and
`iam_bindings_additive` variables into subnet-level attributes. This
change also allows setting permissions to PSC or proxy-only subnets

As part of this change, the factory interface is more aligned with the
rest of the modules using a `factories_config` variable. In the future
we can add a cidrs template similar to the firewall policy module
2023-09-15 00:27:55 +02:00
Dave Gulli
819b4aab5c fixed up nit from PR 1666 2023-09-14 13:15:00 +10:00
Dave Gulli
ced8e498f8 terraform fmt 2023-09-13 16:58:50 +10:00
Dave Gulli
09e6e8f4d2 created passing test, fixed logic 2023-09-13 16:49:14 +10:00
Dave Gulli
3d39a3ecf1 fixed up logic. 2023-09-13 14:11:09 +10:00
Dave Gulli
3479c40735 fixing tests 2023-09-12 15:53:28 +10:00
Dave Gulli
5f2bc7fa92 refactored to recommended method 2023-09-12 14:58:49 +10:00
Dave Gulli
8c264da200 small commits to add variables, append tests 2023-09-11 20:14:17 +10:00
Dave Gulli
a18071ed36 updated for global managed proxy 2023-09-11 17:42:34 +10:00
Dave Gulli
b49984e1b9 added support for global proxy only subnets 2023-09-11 16:56:09 +10:00
Ludovico Magnocavallo
819894d2ba IAM interface refactor (#1595)
* IAM modules refactor proposal

* policy

* subheading

* Update 20230816-iam-refactor.md

* log Julio's +1

* data-catalog-policy-tag

* dataproc

* dataproc

* folder

* folder

* folder

* folder

* project

* better filtering in test examples

* project

* folder

* folder

* organization

* fix variable descriptions

* kms

* net-vpc

* dataplex-datascan

* modules/iam-service-account

* modules/source-repository/

* blueprints/cloud-operations/vm-migration/

* blueprints/third-party-solutions/wordpress

* dataplex-datascan

* blueprints/cloud-operations/workload-identity-federation

* blueprints/data-solutions/cloudsql-multiregion/

* blueprints/data-solutions/composer-2

* Update 20230816-iam-refactor.md

* Update 20230816-iam-refactor.md

* capture discussion in architectural doc

* update variable names and refactor proposal

* project

* blueprints first round

* folder

* organization

* data-catalog-policy-tag

* re-enable folder inventory

* project module style fix

* dataproc

* source-repository

* source-repository tests

* dataplex-datascan

* dataplex-datascan tests

* net-vpc

* net-vpc test examples

* iam-service-account

* iam-service-account test examples

* kms

* boilerplate

* tfdoc

* fix module tests

* more blueprint fixes

* fix typo in data blueprints

* incomplete refactor of data platform foundations

* tfdoc

* data platform foundation

* refactor data platform foundation iam locals

* remove redundant example test

* shielded folder fix

* fix typo

* project factory

* project factory outputs

* tfdoc

* test workflow: less verbose tests, fix tf version

* re-enable -vv, shorter traceback, fix action version

* ignore github extension warning, re-enable action version

* fast bootstrap IAM, untested

* bootstrap stage IAM fixes

* stage 0 tests

* fast stage 1

* tenant stage 1

* minor changes to fast stage 0 and 1

* fast security stage

* fast mt stage 0

* fast mt stage 0

* fast pf
2023-08-20 09:44:20 +02:00
Ludovico Magnocavallo
def2f476d1 Add support for conditions to iam_members module variables (#1594)
* project

* data-catalog-policy-tag

* dataproc

* folder

* iam-service-account

* kms

* net-vpc

* organization

* source-repository

* dataplex-datascan
2023-08-15 16:28:23 +02:00
Ludovico Magnocavallo
adf2621727 Add new iam_members variable to IAM additive module interfaces (#1589)
* resource management modules

* data catalog policy

* dataproc

* service account

* kms

* net-vpc

* source repository

* dataplex datascan

* service account module variable order
2023-08-14 09:54:50 +00:00
Ludovico Magnocavallo
aecba0bbd0 Add support for ipv6 to net-vpc module (#1568)
* add support for ipv6

* fix test
2023-08-05 13:07:26 +02:00
jamesmao-xyz
e1ebfeecad Fix the tf error: Inconsistent conditional result types
The conditional statement, with tomap({}) will cause the following error under terraform 1.4.5

Error: Inconsistent conditional result types
│ 
│   on ../../../modules/net-vpc/subnets.tf line 20, in locals:
│   20:   _factory_data = var.data_folder == null ? tomap({}) : {
│   21:     for f in fileset(var.data_folder, "**/*.yaml") :
│   22:     trimsuffix(basename(f), ".yaml") => yamldecode(file("${var.data_folder}/${f}"))
│   23:   }
│     ├────────────────
│     │ var.data_folder is "data/subnets/common"
│ 
│ The false result value has the wrong type: element types must all match for conversion to map.
2023-04-18 19:54:37 +10:00
Ludovico Magnocavallo
8a8b7ea35f Add support for iam_additive and simplify factory interface in net VPC module (#1259)
* initial implementation, no tests

* change interface, align tests

* add examples ToC

* fix variable type, test module-level variable
2023-03-17 10:12:34 +00:00
Ludovico Magnocavallo
6ba0f8b0ba allow overriding name in net-vpc subnet factory (#1239) 2023-03-11 09:30:42 +01:00
Ludovico Magnocavallo
8fc9549c58 add support for proxy and psc subnets to module factory (#1211) 2023-03-05 17:08:43 +01:00
James D'Alfonso
15487078d4 add missing iam properties to factory_subnets 2023-02-13 10:00:50 +01:00
Ludovico Magnocavallo
29cde275f0 fix backwards compatibility for vpc subnet descriptions (#926) 2022-10-28 08:13:04 +02:00
Ludovico Magnocavallo
4fa1dc431d Refactor net-vpc module for Terraform 1.3 (#880)
* module tests pass

* doc examples

* refactor blueprints

* fast stages

* fix comment typo

* fix module factory test
2022-10-14 11:02:33 +02:00
Ludovico Magnocavallo
1abfdacd56 Avoid setting empty IAM binding in subnet factory (#731)
* avoid setting empty IAM binding in subnet factory

* fix tests
2022-07-11 21:11:52 +02:00
Ludovico Magnocavallo
22d0506f4d fix condition in subnet factory flow logs (#654) 2022-05-18 10:33:56 +02:00
Aleksandr Averbukh
62a299a6f5 Deprecate subnets_l7ilb variable, add support for proxy_only and psc subnets. 2022-04-13 16:38:47 +02:00
Aleksandr Averbukh
6ab121a836 Add support for Private Service Connect and Reginal Managed Proxy subnets for net-vpc module 2022-04-12 12:57:33 +02:00
Ludovico Magnocavallo
9a05aed0e8 fix psa peering routes, split files (#586) 2022-03-17 16:39:37 +01:00