cloud-foundation-fabric/modules
Thinh Ha 10e15356ea
Add bigquery authorized resources (#1480)
* add bq authorized views, datasets, and routines

* fmt

* add backwards compatible test case

* minor docs clarification

* add docs table and fix lint tests

* fix docs

* fix tests

* fix more lint issues

* fix lint issue

* fix tests

* fix lint

* fix tests

* alphabetical order

* add detailed example to docs and corresponding test

* clarify docs for variables

* remove unnecessary depends_on
2023-06-30 18:44:57 +02:00
..
__experimental Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
alloydb-instance Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
api-gateway Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
apigee Refactored apigee module and adjusted the blueprints accordingly 2023-06-19 09:01:32 +02:00
artifact-registry Re-order variables 2023-06-20 17:30:23 +10:00
bigquery-dataset Add bigquery authorized resources (#1480) 2023-06-30 18:44:57 +02:00
bigtable-instance Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
billing-budget Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
binauthz Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
cloud-config-container Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
cloud-dataplex Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
cloud-function-v1 Split Cloud Function module in separate v1 and v2 modules (#1450) 2023-06-20 17:27:15 +10:00
cloud-function-v2 Split Cloud Function module in separate v1 and v2 modules (#1450) 2023-06-20 17:27:15 +10:00
cloud-identity-group Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
cloud-run Ignore Cloud Run system annotations/labels 2023-06-13 10:07:04 +02:00
cloudsql-instance Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
compute-mig Rename network load balancer modules (#1466) 2023-06-26 07:50:10 +00:00
compute-vm Add support for resource policies to compute vm module (#1467) 2023-06-26 06:49:05 +00:00
container-registry Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
data-catalog-policy-tag Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
datafusion Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
dataproc Update README 2023-06-28 20:09:18 +02:00
dns Added iam for DNS managed zone to dns module 2023-06-19 12:53:38 +02:00
dns-response-policy Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
endpoints Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
folder Add ToCs to resource manager modules (#1471) 2023-06-27 09:36:28 +00:00
gcs Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
gke-cluster-autopilot Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
gke-cluster-standard Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
gke-hub Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
gke-nodepool Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
iam-service-account Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
kms Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
logging-bucket Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
ncc-spoke-ra Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-address Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-cloudnat Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-ipsec-over-interconnect Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-lb-app-ext align group names in lb modules (#1485) 2023-06-30 10:18:06 +00:00
net-lb-app-int align group names in lb modules (#1485) 2023-06-30 10:18:06 +00:00
net-lb-ext align group names in lb modules (#1485) 2023-06-30 10:18:06 +00:00
net-lb-int align group names in lb modules (#1485) 2023-06-30 10:18:06 +00:00
net-vlan-attachment Added validation for edge_availability_domain value 2023-06-23 12:11:06 +02:00
net-vpc Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-vpc-firewall Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-vpc-firewall-policy Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-vpc-peering Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-vpc-swp Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-vpn-dynamic Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-vpn-ha Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
net-vpn-static Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
organization Add ToCs to resource manager modules (#1471) 2023-06-27 09:36:28 +00:00
project Add ToCs to resource manager modules (#1471) 2023-06-27 09:36:28 +00:00
projects-data-source Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
pubsub Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
secret-manager Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
service-directory Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
source-repository Added module for Secure Web Proxy. 2023-06-13 08:49:58 +02:00
vpc-sc modules/vpc-sc: add support for method_selectors/permission (#1439) 2023-06-25 06:45:37 +00:00
README.md Rename network load balancer modules (#1466) 2023-06-26 07:50:10 +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