cloud-foundation-fabric/modules
Wiktor Niesiobędzki c21fa4558f
Remove incompatible balancing_mode (#1769)
## 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
2023-10-18 08:11:32 +02:00
..
__docs Add IAM variables template to ADR 2023-09-17 10:50:03 +02:00
__experimental Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
api-gateway Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
apigee Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
artifact-registry Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
bigquery-dataset Add outputs to BigQuery dataset module (#1752) 2023-10-13 17:02:47 +02:00
bigtable-instance Enforce mandatory types in all variables (#1737) 2023-10-06 09:44:33 +00:00
billing-account Billing account module (#1743) 2023-10-15 15:02:50 +00:00
binauthz Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-config-container Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-function-v1 Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-function-v2 Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-identity-group Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloud-run Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
cloudsql-instance Make deletion protection consistent across all modules (#1735) 2023-10-05 17:31:07 +02:00
compute-mig Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
compute-vm Exposed stack_type variable in compute_vm module (#1756) 2023-10-16 06:28:56 +00:00
container-registry Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
data-catalog-policy-tag Enforce mandatory types in all variables (#1737) 2023-10-06 09:44:33 +00:00
datafusion Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
dataplex Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
dataplex-datascan Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
dataproc Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
dns Fix dnssec keys lookup (#1728) 2023-10-03 21:37:21 +02:00
dns-response-policy Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
endpoints Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
folder Billing account module (#1743) 2023-10-15 15:02:50 +00:00
gcs Add autoclass to GCS (#1757) 2023-10-16 07:45:10 +00:00
gcve-private-cloud Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
gke-cluster-autopilot Module autopilot bug fixes (#1746) 2023-10-12 12:40:28 +02:00
gke-cluster-standard Added FQDN Network Policy feature on GKE Cluster (#1732) 2023-10-06 10:05:54 +02:00
gke-hub Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
gke-nodepool Fix typo in GKE nodepool taints (#1754) 2023-10-12 12:04:15 +00:00
iam-service-account Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
kms Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
logging-bucket Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
ncc-spoke-ra Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-address Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-cloudnat Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-firewall-policy Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-ipsec-over-interconnect Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-lb-app-ext Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-lb-app-int Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-lb-ext Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-lb-int Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-lb-proxy-int Remove incompatible balancing_mode (#1769) 2023-10-18 08:11:32 +02:00
net-swp Enforce mandatory types in all variables (#1737) 2023-10-06 09:44:33 +00:00
net-vlan-attachment Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpc Make subnets depend on proxy only subnets (#1762) 2023-10-16 11:39:52 +00:00
net-vpc-firewall Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpc-peering Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpn-dynamic Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpn-ha Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
net-vpn-static Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
organization Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
project Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
projects-data-source Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
pubsub Append "s" to backoff times (#1744) 2023-10-10 13:32:19 +03:00
secret-manager Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
service-directory Fix dnssec keys lookup (#1728) 2023-10-03 21:37:21 +02:00
source-repository Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
vpc-sc Bump provider versions to v5.0.0 (#1724) 2023-10-03 12:15:36 +00:00
README.md Billing account module (#1743) 2023-10-15 15:02:50 +00:00

README.md

Terraform modules suite for Google Cloud

The modules collected in this folder are designed as a suite: they are meant to be composed together, and are designed to be forked and modified where use of third party code and sources is not allowed.

Modules try to stay close to the low level provider resources they encapsulate, and they all share a similar interface that combines management of one resource or set or resources, and the corresponding IAM bindings.

Authoritative IAM bindings are primarily used (e.g. google_storage_bucket_iam_binding for GCS buckets) so that each module is authoritative for specific roles on the resources it manages, and can neutralize or reconcile IAM changes made elsewhere.

Specific modules also offer support for non-authoritative bindings (e.g. google_storage_bucket_iam_member for service accounts), to allow granular permission management on resources that they don't manage directly.

These modules are not necessarily backward compatible. Changes breaking compatibility in modules are marked by major releases (but not all major releases contain breaking changes). Please be mindful when upgrading Fabric modules in existing Terraform setups, and always try to use versioned references in module sources so you can easily revert back to a previous version. Since the introduction of the moved block in Terraform we try to use it whenever possible to make updates non-breaking, but that does not cover all changes we might need to make.

These modules are used in the examples included in this repository. If you are using any of those examples in your own Terraform configuration, make sure that you are using the same version for all the modules, and switch module sources to GitHub format using references. The recommended approach to working with Fabric modules is the following:

  • Fork the repository and own the fork. This will allow you to:

    • Evolve the existing modules.
    • Create your own modules.
    • Sync from the upstream repository to get all the updates.
  • Use GitHub sources with refs to reference the modules. See an example below:

    module "project" {
        source              = "github.com/GoogleCloudPlatform/cloud-foundation-fabric//modules/project?ref=v13.0.0"
        name                = "my-project"
        billing_account     = "123456-123456-123456"
        parent              = "organizations/123456"
    }
    

Foundational modules

Networking modules

Compute/Container

Data

Development

Security

Serverless