cloud-foundation-fabric/modules
Arpit Sharma b512650ad2
fix(compute-mig): add correct type optionality for metrics in autosca… (#1668)
* fix(compute-mig): add correct type optionality for metrics in autoscaler_config

* feat(compute-mig): regenerate readme via tfdoc

* fix(compute-mig): linting

* fix(compute-mig): attempt #2 at fixing linting error

* fix(compute-mig): tfdoc --no-files
2023-09-12 13:58:09 +02:00
..
__docs Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
__experimental Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
alloydb-instance Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
api-gateway Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
apigee add tests and update readme for apigee psc peering 2023-09-07 16:55:16 +05:30
artifact-registry Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
bigquery-dataset Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
bigtable-instance Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
billing-budget Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
binauthz Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
cloud-config-container Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
cloud-function-v1 Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
cloud-function-v2 Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
cloud-identity-group Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
cloud-run Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
cloudsql-instance Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
compute-mig fix(compute-mig): add correct type optionality for metrics in autosca… (#1668) 2023-09-12 13:58:09 +02:00
compute-vm Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
container-registry Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
data-catalog-policy-tag Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
datafusion Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
dataplex Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
dataplex-datascan Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
dataproc Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
dns Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
dns-response-policy Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
endpoints Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
folder Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
gcs Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
gcve-private-cloud Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
gke-cluster-autopilot Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
gke-cluster-standard Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
gke-hub Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
gke-nodepool Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
iam-service-account Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
kms Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
logging-bucket Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
ncc-spoke-ra Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-address Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-cloudnat Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-firewall-policy Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-ipsec-over-interconnect Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-lb-app-ext Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-lb-app-int Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-lb-ext Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-lb-int Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-lb-proxy-int Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-swp Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-vlan-attachment Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-vpc Make net-vpc variables nullable 2023-09-06 09:57:34 +02:00
net-vpc-firewall Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-vpc-peering Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-vpn-dynamic Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-vpn-ha Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
net-vpn-static Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
organization Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
project Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
projects-data-source Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
pubsub Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
secret-manager Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
service-directory Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
source-repository Change type of `iam_bindings` variable to allow multiple conditional bindings (#1658) 2023-09-08 08:56:31 +02:00
vpc-sc Bump provider version to 4.80.0 2023-09-05 09:48:15 +02:00
README.md Merge branch 'elia-gcve' of github.com:GoogleCloudPlatform/cloud-foundation-fabric into elia-gcve 2023-08-14 14:46:16 +02: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