All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Extending the adopted spec, each change should have a link to its corresponding pull request appended.
17.0.0 (2024-09-10)
- deletion_policy PREVENT as default (#940) (1c1e018)
- deps: Update Terraform Google Provider to v6 (major) (#933) (392453e)
- TPG>=5.41: add deletion_policy (#938) (b0ed8a5)
16.0.1 (2024-08-28)
16.0.0 (2024-08-14)
- TPG>=5.33: add support for setting cloud armor tier of the project (#921)
15.0.1 (2024-05-17)
15.0.0 (2024-05-02)
- TPG >5.22: added vpc sc dry run mode option (#894)
14.5.0 (2024-03-01)
- added networkconnectivity in shared VPC host access (#876) (0f12598)
- support optional tag binding (#885) (87648a1)
- make org id optional (#838) (8509793)
- shared_vpc_access - Grant notebooks.googleapi.com SA the networkUser role (#856) (661e916)
14.4.0 (2023-10-20)
14.3.0 (2023-07-27)
14.2.1 (2023-06-22)
14.2.0 (2023-03-09)
- removes policy id env var from int build config (#791) (7e7c37d)
- workaround for import issue when SA is unknown (#795) (13ec49f)
14.1.0 (2022-11-17)
- configure propagation time (time sleep) for inclusion of the created project in a VPC-SC perimeter (#766) (086210b)
14.0.0 (2022-08-30)
- Increase to minimum TPG version 4.28 (#738)
- add random_project_id_length (#735) (773ea4b)
- Add support for custom time periods in budget module (#738) (9273052)
13.1.0 (2022-08-17)
- Add support to project cloud storage public access prevention (#740) (e9ba8a2)
- update test/setup to pfactory 13.0 (321bed2)
- add propagation to test/setup (#708) (321bed2)
- ensure test/setup/outputs.folder_id returns proper ID (#712) (8f72474)
13.0.0 (2022-04-12)
- add upgrade guide, update provider constraints (#705)
- Add dimensions argument to consumer quota override (#683)
- replace grant_services_network_role with grant_network_role for networkUser role management (#697)
- Add dimensions argument to consumer quota override (#683) (d1d7624)
- replace grant_services_network_role with grant_network_role for networkUser role management (#697) (d309270)
- setup-sa.sh use add-iam-policy-binding (#689) (616ede9)
- add upgrade guide, update provider constraints (#705) (644f596)
- update TPG version constraints to allow 4.0 and TF v0.13+ format (#700) (b66a080)
- use module release rather than repo head (#704) (522f3cc)
- VPC-SC SA destroy sequence with default SA (#691) (0e5420b)
12.0.0 (2022-03-02)
- Budget module should support filtering on labels (#627)
- Minimum provider version increased to v4.5 (#627)
- Add Essential Contacts support (#617) (f89e1a0)
- Budget module should support filtering on labels (#627) (44a9fec)
- expose spend_basis for budget alerts (#681) (ea3961c)
11.3.1 (2022-01-11)
- ConflictsWith in project org_id & folder_id (#676) (2e59c9a)
- grant roles/billing.viewer to the seed service account in helper. (#666) (e444e2a)
- Wrap budget_name output with length check (#673) (21871b2)
11.3.0 (2021-12-01)
- add network service tier setting (#640) (f5cce9e)
- update TPG version constraints to allow 4.0 (#636) (dd9beb3)
11.2.3 (2021-10-20)
11.2.2 (2021-10-13)
- Allow explicit provider configuration in module (#624) (621c527)
- billing_budget resource should use GA provider (#626) (b6d7bf1)
- Don't attempt to activate service identity for compute.googleapis.com (#628) (777092c)
11.2.1 (2021-09-23)
11.2.0 (2021-09-23)
- added the grant_services_network_role flag to control network IAM (#618) (f116dd5)
- Give VPC Access Agent Service Account for Cloud Run permissions on Shared VPC (#615) (87d2df0)
11.1.1 (2021-07-29)
11.1.0 (2021-07-01)
11.0.0 (2021-06-12)
- Buckets now enable uniform bucket-level access by default. See the upgrade guide for details.
- billing budget tests (#594) (64461a2)
- Increasing versions of null & random providers to support arm (#583) (28547ed)
- remove unused vars, add upgrade guide (#596) (e4c9b03)
10.3.2 (2021-04-05)
10.3.1 (2021-03-30)
- Add force_destroy option for included GCS bucket (#545) (1774999)
- Change quota manager submodule required versions to allow 0.14 (#569) (448456c)
- Replace "true"/"false" strings with bool values (#559) (2d082f3)
10.3.0 (2021-03-24)
- Allow Cloud Composer environment on the shared vpc. (#566) (0b8509f)
- Allow customizing default service account name (#565) (020e308)
- Allow override of quotas on projects (#468) (045923d)
10.2.2 (2021-03-17)
10.2.1 (2021-03-11)
10.2.0 (2021-03-04)
10.1.1 (2021-01-27)
- Additional roles should only granted for Shared VPC when attaching to a service project (#542) (99093de)
10.1.0 (2021-01-20)
- Add labels support to projects bucket (#534) (67a0b04)
- expose grant_services_security_admin_role var (#536) (c41ba36)
10.0.1 (2020-12-16)
10.0.0 (2020-12-15)
- Minimum Terraform version increased to 0.13.
- All null_resources for executing gcloud scripts have been removed. See the upgrade guide for details.
- Renamed the shared_vpc submodule to
svpc_service_project
. #517) (86819d7)
- add TF 0.13 constraint and module attribution (#513) (f6df34c)
- support activate_api_identities in shared_vpc submodule (#509) (8c5698c)
- terraform: Add support Terraform 0.14 by bumping version constraint (#505) (8c01c41)
- Add billingbudgets.googleapis.com to precondition script. (#493) (f9b53c3)
- Add count variable to does not create the resource when value is keep (#498) (a3deaad)
- Add shared_vpc features back to rood module (#446) (0a6b9b9)
- All dependencies on gcloud have been removed. (#491) (5886a4e)
- readme link to svpc example (#515) (ce1d46e)
- Remove whitespace in test/setup-sa (#495) (6d90ff3)
- Support passing service project number to shared_vpc_access to be Terraform 0.13 compatible (#500) (825d07b)
9.2.0 (2020-10-16)
- Add
enable_shared_vpc_host_project
to create project as shared VPC host project (#465) (3b269be) - add apis related outputs to main module (#470) (abc507f)
- Add budget_monitoring_notification_channels to modules including budgets (#476) (d1665d1)
- Add impersonate_service_account to shared_vpc module to pass to core_project_factory (#477) (e9f0c8f)
- Removed preconditions script from Terraform execution (#478) (79f7c95)
- Fix Terraform 0.12+ warning on project_services (#467) (e223f77)
- Restore usage of var.enable_apis variable for project services submodule (#473) (05d1465)
9.1.0 (2020-09-23)
- Add budget notification channel (#456) (9bc317e)
- Add Dataflow to Shared VPC API service accounts (#458) (0c5adf3)
- Add service identity provisioning support (#450) (3954a89)
- Restore shared VPC outputs (#441) (1b558f3), closes #438
- Upgrade gcloud module to 2.0.0 (#449) (099cdcc)
9.0.0 (2020-08-13)
- This change requires that you use the
shared_vpc
submodule to manage service account access. See the upgrade guide for details.
- Added shared_vpc_access submodule to enable GKE and Dataproc Service Account access. (#434) (f16fd05)
- Fix regression in shared VPC service account submodule (#438) (dd2dd99)
- relax version to allow 0.13 (#437) (9eb64e2)
8.1.0 (2020-07-22)
- Add support for attaching projects to a VPC Service Controls perimeter (#428) (7ec34ef)
- Enable GCS bucket versioning (#431) (7a0d746)
8.0.2 (2020-07-01)
8.0.1 (2020-05-05)
8.0.0 (2020-04-21)
- Using the gcloud module now requires
curl
to be installed. See the upgrade guide for details.
7.1.0 (2020-03-17)
- Add option for skipping the gcloud CLI download (#393) (a534603)
- Add use_tf_var_google_credentials_env_var variable (#377) (64459de)
7.0.2 (2020-02-23)
7.0.1 (2020-02-10)
- Allow 3.x provider version in fabric-project submodule. (#361) (2b32b68)
- Allow users to supply dynamically generated list of subnets (#362) (4f372dd)
7.0.0 - 2020-01-15
- Added back
on_failure = continue
to precondition'slocal-exec
#357
- The optional
budget_amount
variable will create a budget on the new project. Separate submodulebudget
for additional options. #354
- BREAKING: Addition of
google_billing_budget
increasesgoogle
provider minimum to>=3.1
. #354
6.2.1 - 2019-12-18
- Changed required
google
provider version to>= 2.1, < 4.0
#350
6.2.0 - 2019-12-27
- The
pip_executable_path
variable which can be altered to support execution in a Windows environment. #343 - The
modify-service-account.sh
steps are now executed in the context of theterraform-google-gcloud
module so there is no longer a dependency on havinggcloud
installed on the host. #343
- The precondition script is fixed and will run successfully.
on_failure = "continue"
was also removed to prevent silent failures. #343
6.1.0 - 2019-12-18
- The
python_interpreter_path
variable which can be altered to support execution in a Windows environment. #265 - Support for importing existing projects. #138
- When deleting a service account, deprivilege first to remove IAM binding #341
- The preconditions script checks for the existence of
gcloud
. #331 - The service account setup script only requests the specified project. #338
- Fixed typo in
default_service_account
variable's default value fromdepriviledge
todeprivilege
. #345 - The
feature_settings
variable on theapp_engine
submodule has a valid default. #324
6.0.0 - 2019-11-26
6.0.0 is a backwards incompatible release. See the upgrade guide for details.
- Option to disable the default compute service account. #313
- Breaking: Default for default compute service account changed to disable from delete. #313
- Fixed an issue with passing an empty list to activate_apis. #300
- Fixed issues with running project factory requiring org-level permissions. #320
5.0.0 - 2019-11-04
5.0.0 is a backwards incompatible release for modules/fabric-project
. See the upgrade guide for details.
- Manage service activation in
modules/fabric-project
with a resource instead of relying onmodules/project-services
, so that output dependency on services works again. Fixes #308. #309
4.0.1 - 2019-10-30
4.0.0 - 2019-10-21
4.0.0 is a major backwards incompatible release. See the upgrade guide for details.
- Allow impersonating service accounts in G Suite submodule. #285
- Breaking: Updated service activation to use
for_each
to enable reordering of services safely. #282
3.3.1 - 2019-10-08
- Make the
custom_roles
output inmodules/fabric-project
v0.12 compliant. #268
3.3.0 - 2019-09-18
- Allow creation of project_bucket within the project we are creating. #261
3.2.0 - 2019-08-14
- Added a shared_vpc submodule which enables the Shared VPC project ID to be a computed value. #257
- Replace 'parent_type' and 'parent_id' input variables with single parent variable for fabric submodule. #259
3.1.0 - 2019-08-12
- Adding support for service account impersonation and short lived tokens. #246
3.0.0 - 2019-07-12
- Automatic installation of
preconditions.py
requirements. #239
- The supported version of Terraform is 0.12. #237
2.4.1 - 2019-06-21
- Propagation of
apis_authority
variable. #233
2.4.0 - 2019-06-12
- Cloud Services service account output on Fabric submodule. #223
2.3.1 - 2019-05-31
- Preconditions script handles projects with a large number of enabled APIs. #220
2.3.0 - 2019-05-28
- Feature that toggles authoritative management of project services. #213
- Option that provides ability to choose the region of the bucket #207
- Added option to deprivilege or keep default compute service account. #186
credentials_path
is no longer be required forgsuite_enabled
module. #205- Dependencies on
gcloud
andjq
are documented. #203 - The preconditions script accepts personal credentials. #212
2.2.1 - 2019-05-15
- Add Fabric submodule for simple project creation. #201
- Fix module and tests in minimal test suite (group_email). #200
- Versions of providers has been fixed for examples/shared_vpc. #198
- GCP subnet share conditions not working correctly. #194
2.2.0 - 2019-05-03
- The ability to change bucket location. #170
- The argument disable_dependent_services and corresponding variable. #188
2.1.3 - 2019-04-03
- Unconditional check for optional
resourcemanager.organization.get
permission in preconditions script. #178 - The
project_id
output depends on project service activation. #180
2.1.2 - 2019-04-01
- Error when verifying billing account permissions #175
2.1.1 - 2019-03-25
- Removed requirement of
roles/resourcemanager.organizationViewer
whenvar.domain
is provided. #172
2.1.0 - 2019-03-11
- The optional
project_id
variable enables a disconnect between the project name and the project ID. #154
- Shared VPC IAM bindings. #164
2.0.0 - 2019-03-05
2.0.0 is a major backwards incompatible release. See the upgrade guide for details.
- Added separate App Engine module. #144
- Support for v2.X of the Google provider and the Google Beta provider.
- Removed
app_engine
argument (config block).
1.2.0 - 2019-03-05
- The
credentials_path
variable is now optional; Application Default Credentials may be used instead. #58
1.1.2 - 2019-03-01
- Stabilized
terraform plan
to prevent the default service account resource from being recreated each time. #153
1.1.1 - 2019-02-25
- Drop dependency on
gsuite
provider from core module. #147
1.1.0 - 2019-02-22
- Fix race conditions when creating a new G Suite Group. #141
- Drop unnecessary permissions checks in preconditions script. #143
- Support numeric folder_id and
folders/folder_id
in preconditions script. #143
1.0.2 - 2019-01-23
- Fixed deprecation notice for
google-beta
provider incore_project_factory
module. #104
1.0.1 - 2019-01-22
- Replaced missing forward of
var.disable_services_on_destroy
fromroot
module tocore_project_factory
module. #125
1.0.0 - 2019-01-18
1.0.0 is a major backwards incompatible release. See the upgrade guide for details.
- Support for disable_services_on_destroy flag to leave service active on delete. #91
- Refactored project factory to eliminate the dependenency on the G Suite provider for all projects. #94
0.3.0 - 2018-12-27
- Implement billing account role. #53
- Remove
CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE
. #34 - Lien support. #64
- Fix/refactor
helpers/init_debian.sh
. #69
0.2.1 - 2018-10-10
- Explicit dependency on
google_project_service
. #42
0.2.0 - 2018-09-06
- Make IAM bindings non-authoritative. #17
- This is the initial release of the Project Factory Module.