cloud-foundation-fabric/modules
Saleh Elnagar 136d74db4e
add cmek option for cloud_run_v2 (#2177)
add cmek option for cloud_run_v2 service and job
2024-03-27 09:15:02 +00:00
..
__docs Factories refactor (#1843) 2024-02-26 10:16:52 +00:00
__experimental_deprecated Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
analytics-hub Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
api-gateway Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
apigee Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
artifact-registry Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
bigquery-dataset Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
bigtable-instance Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
billing-account Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
binauthz Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
cloud-config-container Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
cloud-function-v1 Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
cloud-function-v2 Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
cloud-identity-group Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
cloud-run Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
cloud-run-v2 add cmek option for cloud_run_v2 (#2177) 2024-03-27 09:15:02 +00:00
cloudsql-instance Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
compute-mig Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
compute-vm Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
container-registry Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
data-catalog-policy-tag Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
data-catalog-tag Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
data-catalog-tag-template Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
dataform-repository Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
datafusion Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
dataplex Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
dataplex-datascan Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
dataproc Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
dns Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
dns-response-policy Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
endpoints Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
folder Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
gcs Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
gcve-private-cloud Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
gke-cluster-autopilot Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
gke-cluster-standard feat(gke-cluster-standard): Set optionnal `default_node_pool` configuration (#2175) 2024-03-26 18:05:35 +01:00
gke-hub Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
gke-nodepool Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
iam-service-account Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
kms Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
logging-bucket Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
ncc-spoke-ra Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-address Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-cloudnat Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-firewall-policy Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-ipsec-over-interconnect Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-lb-app-ext Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-lb-app-ext-regional Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-lb-app-int Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-lb-app-int-cross-region Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-lb-ext Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-lb-int Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-lb-proxy-int Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-swp Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-vlan-attachment Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-vpc Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-vpc-firewall Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-vpc-peering Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-vpn-dynamic Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-vpn-ha Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
net-vpn-static Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
organization Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
project Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
project-factory Support automation/controlling projects and resources in project factory (#2162) 2024-03-19 15:50:06 +00:00
projects-data-source Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
pubsub Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
secret-manager Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
service-directory Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
source-repository Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
vpc-sc Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
workstation-cluster Bump provider version to 5.18, so fix non-empty plan for google_notebooks_instance 2024-03-25 19:57:14 +01:00
README.md Factories refactor (#1843) 2024-02-26 10:16:52 +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&depth=1"
        name                = "my-project"
        billing_account     = "123456-123456-123456"
        parent              = "organizations/123456"
    }
    

Foundational modules

Process factories

Networking modules

Compute/Container

Data

Development

Security

Serverless