Skip to content

Commit 79ee5e8

Browse files
committed
v37.4.0
1 parent 24b7297 commit 79ee5e8

File tree

197 files changed

+596
-591
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

197 files changed

+596
-591
lines changed

CHANGELOG.md

+8-3
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,24 @@ All notable changes to this project will be documented in this file.
55

66
## [Unreleased] <!-- from: 2025-02-12 13:19:03+00:00 to: None since: v37.3.0 -->
77

8+
## [37.4.0] - 2025-02-21
9+
810
### BREAKING CHANGES
911

1012
- `modules/workstation-cluster`: changed the interface for configuration timeouts to object, timeouts are now specified as numbers. [[#2911](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2911)]
1113
- `modules/cloudsql-instance`: changed the name of the `var.ssl.ssl_mode` attribute to `var.ssl.mode`. [[#2910](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2910)]
1214
- `modules/iam-service-account`: Removed service account key generation functionality [[#2907](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2907)]
1315
- `modules/net-lb-app-ext`: Adds the two missing fields for locality_lb_policy and locality_lb_policies with field and block set, validation for both and tests. [[#2898](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2898)]
1416

15-
1617
### BLUEPRINTS
1718

1819
- [[#2907](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2907)] Remove Service Account key generation ([wiktorn](https://github.com/wiktorn)) <!-- 2025-02-18 17:02:39+00:00 -->
1920

2021
### MODULES
2122

23+
- [[#2916](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2916)] Add support for custom error response policies to net_lb_app_ext module ([peter-norton](https://github.com/peter-norton)) <!-- 2025-02-20 19:32:24+00:00 -->
24+
- [[#2915](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2915)] Fix dns_keys output in dns module ([nathou](https://github.com/nathou)) <!-- 2025-02-20 09:56:58+00:00 -->
25+
- [[#2913](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2913)] Add generated_id backends output to net-lb-app-ext ([danistrebel](https://github.com/danistrebel)) <!-- 2025-02-19 17:16:06+00:00 -->
2226
- [[#2911](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2911)] **incompatible change:** Add support for max workstations, refactor timeouts in workstation-cluster module ([ludoo](https://github.com/ludoo)) <!-- 2025-02-19 09:45:38+00:00 -->
2327
- [[#2910](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2910)] **incompatible change:** Add ssl_mode support to cloudsql-instance replicas ([sruffilli](https://github.com/sruffilli)) <!-- 2025-02-19 09:31:36+00:00 -->
2428
- [[#2907](https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/pull/2907)] **incompatible change:** Remove Service Account key generation ([wiktorn](https://github.com/wiktorn)) <!-- 2025-02-18 17:02:39+00:00 -->
@@ -2826,7 +2830,8 @@ All notable changes to this project will be documented in this file.
28262830
- merge development branch with suite of new modules and end-to-end examples
28272831

28282832
<!-- markdown-link-check-disable -->
2829-
[Unreleased]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v37.3.0...HEAD
2833+
[Unreleased]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v37.4.0...HEAD
2834+
[37.4.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v37.3.0...v37.4.0
28302835
[37.3.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v37.2.0...v37.3.0
28312836
[37.2.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v37.1.0...v37.2.0
28322837
[37.1.0]: https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v37.0.0...v37.1.0
@@ -2919,4 +2924,4 @@ All notable changes to this project will be documented in this file.
29192924
[1.3.0]: <https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v1.2.0...v1.3.0>
29202925
[1.2.0]: <https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v1.1.0...v1.2.0>
29212926
[1.1.0]: <https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v1.0.0...v1.1.0>
2922-
[1.0.0]: <https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v0.1...v1.0.0>
2927+
[1.0.0]: <https://github.com/GoogleCloudPlatform/cloud-foundation-fabric/compare/v0.1...v1.0.0>

blueprints/gke/patterns/autopilot-cluster/versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.10.2"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/autopilot-cluster:v37.3.0-tf"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/autopilot-cluster:v37.4.0-tf"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/autopilot-cluster:v37.3.0-tf"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/autopilot-cluster:v37.4.0-tf"
3434
}
3535
}

blueprints/gke/patterns/autopilot-cluster/versions.tofu

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.9.0"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/autopilot-cluster:v37.3.0-tofu"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/autopilot-cluster:v37.4.0-tofu"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/autopilot-cluster:v37.3.0-tofu"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/autopilot-cluster:v37.4.0-tofu"
3434
}
3535
}

blueprints/gke/patterns/batch/versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.10.2"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/batch:v37.3.0-tf"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/batch:v37.4.0-tf"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/batch:v37.3.0-tf"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/batch:v37.4.0-tf"
3434
}
3535
}

blueprints/gke/patterns/batch/versions.tofu

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.9.0"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/batch:v37.3.0-tofu"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/batch:v37.4.0-tofu"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/batch:v37.3.0-tofu"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/batch:v37.4.0-tofu"
3434
}
3535
}

blueprints/gke/patterns/kafka/versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.10.2"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kafka:v37.3.0-tf"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kafka:v37.4.0-tf"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kafka:v37.3.0-tf"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kafka:v37.4.0-tf"
3434
}
3535
}

blueprints/gke/patterns/kafka/versions.tofu

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.9.0"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kafka:v37.3.0-tofu"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kafka:v37.4.0-tofu"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kafka:v37.3.0-tofu"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kafka:v37.4.0-tofu"
3434
}
3535
}

blueprints/gke/patterns/kong-cloudrun/versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.10.2"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kong-cloudrun:v37.3.0-tf"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kong-cloudrun:v37.4.0-tf"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kong-cloudrun:v37.3.0-tf"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kong-cloudrun:v37.4.0-tf"
3434
}
3535
}

blueprints/gke/patterns/kong-cloudrun/versions.tofu

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.9.0"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kong-cloudrun:v37.3.0-tofu"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kong-cloudrun:v37.4.0-tofu"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kong-cloudrun:v37.3.0-tofu"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/kong-cloudrun:v37.4.0-tofu"
3434
}
3535
}

blueprints/gke/patterns/mysql/versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.10.2"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/mysql:v37.3.0-tf"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/mysql:v37.4.0-tf"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/mysql:v37.3.0-tf"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/mysql:v37.4.0-tf"
3434
}
3535
}

blueprints/gke/patterns/mysql/versions.tofu

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.9.0"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/mysql:v37.3.0-tofu"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/mysql:v37.4.0-tofu"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/mysql:v37.3.0-tofu"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/mysql:v37.4.0-tofu"
3434
}
3535
}

blueprints/gke/patterns/redis-cluster/versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.10.2"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/redis-cluster:v37.3.0-tf"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/redis-cluster:v37.4.0-tf"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/redis-cluster:v37.3.0-tf"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/redis-cluster:v37.4.0-tf"
3434
}
3535
}

blueprints/gke/patterns/redis-cluster/versions.tofu

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.9.0"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/redis-cluster:v37.3.0-tofu"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/redis-cluster:v37.4.0-tofu"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/redis-cluster:v37.3.0-tofu"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/gke/patterns/redis-cluster:v37.4.0-tofu"
3434
}
3535
}

blueprints/secops/secops-gke-forwarder/versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.10.2"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/secops/secops-gke-forwarder:v37.3.0-tf"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/secops/secops-gke-forwarder:v37.4.0-tf"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/secops/secops-gke-forwarder:v37.3.0-tf"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/secops/secops-gke-forwarder:v37.4.0-tf"
3434
}
3535
}

blueprints/secops/secops-gke-forwarder/versions.tofu

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.9.0"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/secops/secops-gke-forwarder:v37.3.0-tofu"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/secops/secops-gke-forwarder:v37.4.0-tofu"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/secops/secops-gke-forwarder:v37.3.0-tofu"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/blueprints/secops/secops-gke-forwarder:v37.4.0-tofu"
3434
}
3535
}

default-versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.10.2"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/path:v37.3.0-tf"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/path:v37.4.0-tf"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/path:v37.3.0-tf"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/path:v37.4.0-tf"
3434
}
3535
}

default-versions.tofu

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.9.0"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/path:v37.3.0-tofu"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/path:v37.4.0-tofu"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/path:v37.3.0-tofu"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/path:v37.4.0-tofu"
3434
}
3535
}

modules/__experimental_deprecated/alloydb-instance/versions.tf

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# Fabric release: v37.3.0
15+
# Fabric release: v37.4.0
1616

1717
terraform {
1818
required_version = ">= 1.10.2"
@@ -27,9 +27,9 @@ terraform {
2727
}
2828
}
2929
provider_meta "google" {
30-
module_name = "google-pso-tool/cloud-foundation-fabric/modules/__experimental_deprecated/alloydb-instance:v37.3.0-tf"
30+
module_name = "google-pso-tool/cloud-foundation-fabric/modules/__experimental_deprecated/alloydb-instance:v37.4.0-tf"
3131
}
3232
provider_meta "google-beta" {
33-
module_name = "google-pso-tool/cloud-foundation-fabric/modules/__experimental_deprecated/alloydb-instance:v37.3.0-tf"
33+
module_name = "google-pso-tool/cloud-foundation-fabric/modules/__experimental_deprecated/alloydb-instance:v37.4.0-tf"
3434
}
3535
}

0 commit comments

Comments
 (0)