From 39b27ac25e38ebef72984911a3f25ec8fa193698 Mon Sep 17 00:00:00 2001 From: lcaggio Date: Wed, 7 Jun 2023 23:23:28 +0200 Subject: [PATCH] Add support for Log Analytics on logging-bucket module and bump provider version (#1423) * first commit * Bump provider versions * Fix tests --- .../apigee/bigquery-analytics/versions.tf | 4 +-- .../versions.tf | 4 +-- blueprints/cloud-operations/adfs/versions.tf | 4 +-- .../versions.tf | 4 +-- .../dns-fine-grained-iam/versions.tf | 4 +-- .../dns-shared-vpc/versions.tf | 4 +-- .../iam-delegated-role-grants/versions.tf | 4 +-- .../onprem-sa-key-management/versions.tf | 4 +-- .../packer-image-builder/versions.tf | 4 +-- .../quota-monitoring/versions.tf | 4 +-- .../versions.tf | 4 +-- blueprints/data-solutions/bq-ml/versions.tf | 4 +-- .../cmek-via-centralized-kms/versions.tf | 4 +-- .../data-playground/versions.tf | 4 +-- .../versions.tf | 4 +-- .../net-vpc-firewall-yaml/versions.tf | 4 +-- .../nginx-reverse-proxy-cluster/versions.tf | 4 +-- .../onprem-google-access-dns/versions.tf | 4 +-- .../decentralized-firewall/versions.tf | 4 +-- .../filtering-proxy-psc/versions.tf | 4 +-- .../networking/filtering-proxy/versions.tf | 4 +-- .../hub-and-spoke-peering/versions.tf | 4 +-- .../networking/hub-and-spoke-vpn/versions.tf | 4 +-- .../networking/ilb-next-hop/versions.tf | 4 +-- .../versions.tf | 4 +-- .../networking/shared-vpc-gke/versions.tf | 4 +-- .../openshift/tf/versions.tf | 4 +-- default-versions.tf | 4 +-- modules/__experimental/net-neg/versions.tf | 4 +-- modules/alloydb-instance/versions.tf | 2 +- modules/api-gateway/versions.tf | 4 +-- modules/apigee/versions.tf | 4 +-- modules/artifact-registry/versions.tf | 4 +-- modules/bigquery-dataset/versions.tf | 4 +-- modules/bigtable-instance/versions.tf | 4 +-- modules/billing-budget/versions.tf | 4 +-- modules/binauthz/versions.tf | 4 +-- .../__need_fixing/onprem/versions.tf | 4 +-- .../coredns/versions.tf | 4 +-- .../cos-generic-metadata/versions.tf | 4 +-- .../envoy-traffic-director/versions.tf | 4 +-- .../cloud-config-container/mysql/versions.tf | 4 +-- .../nginx-tls/versions.tf | 4 +-- .../cloud-config-container/nginx/versions.tf | 4 +-- .../simple-nva/versions.tf | 4 +-- .../cloud-config-container/squid/versions.tf | 4 +-- modules/cloud-dataplex/versions.tf | 6 ++--- modules/cloud-function/versions.tf | 4 +-- modules/cloud-identity-group/versions.tf | 4 +-- modules/cloud-run/versions.tf | 4 +-- modules/cloudsql-instance/versions.tf | 4 +-- modules/compute-mig/versions.tf | 4 +-- modules/compute-vm/versions.tf | 4 +-- modules/container-registry/versions.tf | 4 +-- modules/data-catalog-policy-tag/versions.tf | 4 +-- modules/datafusion/versions.tf | 4 +-- modules/dataproc/versions.tf | 4 +-- modules/dns-response-policy/versions.tf | 4 +-- modules/dns/versions.tf | 4 +-- modules/endpoints/versions.tf | 4 +-- modules/folder/README.md | 1 + modules/folder/versions.tf | 4 +-- modules/gcs/versions.tf | 4 +-- modules/gke-cluster-autopilot/versions.tf | 5 ++-- modules/gke-cluster-standard/versions.tf | 6 ++--- modules/gke-hub/versions.tf | 4 +-- modules/gke-nodepool/versions.tf | 4 +-- modules/iam-service-account/versions.tf | 4 +-- modules/kms/versions.tf | 4 +-- modules/logging-bucket/README.md | 23 +++++++++++++--- modules/logging-bucket/main.tf | 22 +++++++++++----- modules/logging-bucket/variables.tf | 10 +++++++ modules/logging-bucket/versions.tf | 4 +-- modules/ncc-spoke-ra/versions.tf | 4 +-- modules/net-address/versions.tf | 4 +-- modules/net-cloudnat/versions.tf | 4 +-- .../net-dedicated-vlan-attachment/versions.tf | 6 ++--- modules/net-glb/versions.tf | 4 +-- modules/net-ilb-l7/versions.tf | 4 +-- modules/net-ilb/versions.tf | 4 +-- .../net-ipsec-over-interconnect/versions.tf | 6 ++--- modules/net-nlb/versions.tf | 4 +-- modules/net-vpc-firewall-policy/versions.tf | 4 +-- modules/net-vpc-firewall/versions.tf | 4 +-- modules/net-vpc-peering/versions.tf | 4 +-- modules/net-vpc/versions.tf | 4 +-- modules/net-vpn-dynamic/versions.tf | 4 +-- modules/net-vpn-ha/versions.tf | 4 +-- modules/net-vpn-static/versions.tf | 4 +-- modules/organization/README.md | 1 - modules/organization/versions.tf | 4 +-- modules/project/versions.tf | 4 +-- modules/projects-data-source/versions.tf | 4 +-- modules/pubsub/versions.tf | 4 +-- modules/secret-manager/versions.tf | 4 +-- modules/service-directory/versions.tf | 4 +-- modules/source-repository/versions.tf | 4 +-- modules/vpc-sc/versions.tf | 4 +-- tests/modules/folder/examples/hfw.yaml | 20 ++++++++++++-- .../examples/log_analytics.yaml | 26 +++++++++++++++++++ tests/modules/organization/examples/hfw.yaml | 21 ++++++++++++--- 101 files changed, 297 insertions(+), 206 deletions(-) create mode 100644 tests/modules/logging_bucket/examples/log_analytics.yaml diff --git a/blueprints/apigee/bigquery-analytics/versions.tf b/blueprints/apigee/bigquery-analytics/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/apigee/bigquery-analytics/versions.tf +++ b/blueprints/apigee/bigquery-analytics/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/versions.tf b/blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/versions.tf +++ b/blueprints/apigee/network-patterns/nb-glb-psc-neg-sb-psc-ilbl7-hybrid-neg/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/cloud-operations/adfs/versions.tf b/blueprints/cloud-operations/adfs/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/cloud-operations/adfs/versions.tf +++ b/blueprints/cloud-operations/adfs/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/cloud-operations/asset-inventory-feed-remediation/versions.tf b/blueprints/cloud-operations/asset-inventory-feed-remediation/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/cloud-operations/asset-inventory-feed-remediation/versions.tf +++ b/blueprints/cloud-operations/asset-inventory-feed-remediation/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/cloud-operations/dns-fine-grained-iam/versions.tf b/blueprints/cloud-operations/dns-fine-grained-iam/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/cloud-operations/dns-fine-grained-iam/versions.tf +++ b/blueprints/cloud-operations/dns-fine-grained-iam/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/cloud-operations/dns-shared-vpc/versions.tf b/blueprints/cloud-operations/dns-shared-vpc/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/cloud-operations/dns-shared-vpc/versions.tf +++ b/blueprints/cloud-operations/dns-shared-vpc/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/cloud-operations/iam-delegated-role-grants/versions.tf b/blueprints/cloud-operations/iam-delegated-role-grants/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/cloud-operations/iam-delegated-role-grants/versions.tf +++ b/blueprints/cloud-operations/iam-delegated-role-grants/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/cloud-operations/onprem-sa-key-management/versions.tf b/blueprints/cloud-operations/onprem-sa-key-management/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/cloud-operations/onprem-sa-key-management/versions.tf +++ b/blueprints/cloud-operations/onprem-sa-key-management/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/cloud-operations/packer-image-builder/versions.tf b/blueprints/cloud-operations/packer-image-builder/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/cloud-operations/packer-image-builder/versions.tf +++ b/blueprints/cloud-operations/packer-image-builder/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/cloud-operations/quota-monitoring/versions.tf b/blueprints/cloud-operations/quota-monitoring/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/cloud-operations/quota-monitoring/versions.tf +++ b/blueprints/cloud-operations/quota-monitoring/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf b/blueprints/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf +++ b/blueprints/cloud-operations/scheduled-asset-inventory-export-bq/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/data-solutions/bq-ml/versions.tf b/blueprints/data-solutions/bq-ml/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/data-solutions/bq-ml/versions.tf +++ b/blueprints/data-solutions/bq-ml/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/data-solutions/cmek-via-centralized-kms/versions.tf b/blueprints/data-solutions/cmek-via-centralized-kms/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/data-solutions/cmek-via-centralized-kms/versions.tf +++ b/blueprints/data-solutions/cmek-via-centralized-kms/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/data-solutions/data-playground/versions.tf b/blueprints/data-solutions/data-playground/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/data-solutions/data-playground/versions.tf +++ b/blueprints/data-solutions/data-playground/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/data-solutions/gcs-to-bq-with-least-privileges/versions.tf b/blueprints/data-solutions/gcs-to-bq-with-least-privileges/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/data-solutions/gcs-to-bq-with-least-privileges/versions.tf +++ b/blueprints/data-solutions/gcs-to-bq-with-least-privileges/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/factories/net-vpc-firewall-yaml/versions.tf b/blueprints/factories/net-vpc-firewall-yaml/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/factories/net-vpc-firewall-yaml/versions.tf +++ b/blueprints/factories/net-vpc-firewall-yaml/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/__need_fixing/nginx-reverse-proxy-cluster/versions.tf b/blueprints/networking/__need_fixing/nginx-reverse-proxy-cluster/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/__need_fixing/nginx-reverse-proxy-cluster/versions.tf +++ b/blueprints/networking/__need_fixing/nginx-reverse-proxy-cluster/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/__need_fixing/onprem-google-access-dns/versions.tf b/blueprints/networking/__need_fixing/onprem-google-access-dns/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/__need_fixing/onprem-google-access-dns/versions.tf +++ b/blueprints/networking/__need_fixing/onprem-google-access-dns/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/decentralized-firewall/versions.tf b/blueprints/networking/decentralized-firewall/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/decentralized-firewall/versions.tf +++ b/blueprints/networking/decentralized-firewall/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/filtering-proxy-psc/versions.tf b/blueprints/networking/filtering-proxy-psc/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/filtering-proxy-psc/versions.tf +++ b/blueprints/networking/filtering-proxy-psc/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/filtering-proxy/versions.tf b/blueprints/networking/filtering-proxy/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/filtering-proxy/versions.tf +++ b/blueprints/networking/filtering-proxy/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/hub-and-spoke-peering/versions.tf b/blueprints/networking/hub-and-spoke-peering/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/hub-and-spoke-peering/versions.tf +++ b/blueprints/networking/hub-and-spoke-peering/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/hub-and-spoke-vpn/versions.tf b/blueprints/networking/hub-and-spoke-vpn/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/hub-and-spoke-vpn/versions.tf +++ b/blueprints/networking/hub-and-spoke-vpn/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/ilb-next-hop/versions.tf b/blueprints/networking/ilb-next-hop/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/ilb-next-hop/versions.tf +++ b/blueprints/networking/ilb-next-hop/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/private-cloud-function-from-onprem/versions.tf b/blueprints/networking/private-cloud-function-from-onprem/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/private-cloud-function-from-onprem/versions.tf +++ b/blueprints/networking/private-cloud-function-from-onprem/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/networking/shared-vpc-gke/versions.tf b/blueprints/networking/shared-vpc-gke/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/networking/shared-vpc-gke/versions.tf +++ b/blueprints/networking/shared-vpc-gke/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/blueprints/third-party-solutions/openshift/tf/versions.tf b/blueprints/third-party-solutions/openshift/tf/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/blueprints/third-party-solutions/openshift/tf/versions.tf +++ b/blueprints/third-party-solutions/openshift/tf/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/default-versions.tf b/default-versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/default-versions.tf +++ b/default-versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/__experimental/net-neg/versions.tf b/modules/__experimental/net-neg/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/__experimental/net-neg/versions.tf +++ b/modules/__experimental/net-neg/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/alloydb-instance/versions.tf b/modules/alloydb-instance/versions.tf index 17d703629..6e7130d10 100644 --- a/modules/alloydb-instance/versions.tf +++ b/modules/alloydb-instance/versions.tf @@ -13,7 +13,7 @@ # limitations under the License. terraform { - required_version = ">= 1.0.0" + required_version = ">= 1.4.4" required_providers { google = { source = "hashicorp/google" diff --git a/modules/api-gateway/versions.tf b/modules/api-gateway/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/api-gateway/versions.tf +++ b/modules/api-gateway/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/apigee/versions.tf b/modules/apigee/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/apigee/versions.tf +++ b/modules/apigee/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/artifact-registry/versions.tf b/modules/artifact-registry/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/artifact-registry/versions.tf +++ b/modules/artifact-registry/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/bigquery-dataset/versions.tf b/modules/bigquery-dataset/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/bigquery-dataset/versions.tf +++ b/modules/bigquery-dataset/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/bigtable-instance/versions.tf b/modules/bigtable-instance/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/bigtable-instance/versions.tf +++ b/modules/bigtable-instance/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/billing-budget/versions.tf b/modules/billing-budget/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/billing-budget/versions.tf +++ b/modules/billing-budget/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/binauthz/versions.tf b/modules/binauthz/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/binauthz/versions.tf +++ b/modules/binauthz/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-config-container/__need_fixing/onprem/versions.tf b/modules/cloud-config-container/__need_fixing/onprem/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-config-container/__need_fixing/onprem/versions.tf +++ b/modules/cloud-config-container/__need_fixing/onprem/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-config-container/coredns/versions.tf b/modules/cloud-config-container/coredns/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-config-container/coredns/versions.tf +++ b/modules/cloud-config-container/coredns/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-config-container/cos-generic-metadata/versions.tf b/modules/cloud-config-container/cos-generic-metadata/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-config-container/cos-generic-metadata/versions.tf +++ b/modules/cloud-config-container/cos-generic-metadata/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-config-container/envoy-traffic-director/versions.tf b/modules/cloud-config-container/envoy-traffic-director/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-config-container/envoy-traffic-director/versions.tf +++ b/modules/cloud-config-container/envoy-traffic-director/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-config-container/mysql/versions.tf b/modules/cloud-config-container/mysql/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-config-container/mysql/versions.tf +++ b/modules/cloud-config-container/mysql/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-config-container/nginx-tls/versions.tf b/modules/cloud-config-container/nginx-tls/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-config-container/nginx-tls/versions.tf +++ b/modules/cloud-config-container/nginx-tls/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-config-container/nginx/versions.tf b/modules/cloud-config-container/nginx/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-config-container/nginx/versions.tf +++ b/modules/cloud-config-container/nginx/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-config-container/simple-nva/versions.tf b/modules/cloud-config-container/simple-nva/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-config-container/simple-nva/versions.tf +++ b/modules/cloud-config-container/simple-nva/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-config-container/squid/versions.tf b/modules/cloud-config-container/squid/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-config-container/squid/versions.tf +++ b/modules/cloud-config-container/squid/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-dataplex/versions.tf b/modules/cloud-dataplex/versions.tf index 111b4bf75..6e7130d10 100644 --- a/modules/cloud-dataplex/versions.tf +++ b/modules/cloud-dataplex/versions.tf @@ -13,15 +13,15 @@ # limitations under the License. terraform { - required_version = ">= 1.0.0" + required_version = ">= 1.4.4" required_providers { google = { source = "hashicorp/google" - version = ">= 4.47.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.47.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-function/versions.tf b/modules/cloud-function/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-function/versions.tf +++ b/modules/cloud-function/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-identity-group/versions.tf b/modules/cloud-identity-group/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-identity-group/versions.tf +++ b/modules/cloud-identity-group/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloud-run/versions.tf b/modules/cloud-run/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloud-run/versions.tf +++ b/modules/cloud-run/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/cloudsql-instance/versions.tf b/modules/cloudsql-instance/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/cloudsql-instance/versions.tf +++ b/modules/cloudsql-instance/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/compute-mig/versions.tf b/modules/compute-mig/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/compute-mig/versions.tf +++ b/modules/compute-mig/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/compute-vm/versions.tf b/modules/compute-vm/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/compute-vm/versions.tf +++ b/modules/compute-vm/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/container-registry/versions.tf b/modules/container-registry/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/container-registry/versions.tf +++ b/modules/container-registry/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/data-catalog-policy-tag/versions.tf b/modules/data-catalog-policy-tag/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/data-catalog-policy-tag/versions.tf +++ b/modules/data-catalog-policy-tag/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/datafusion/versions.tf b/modules/datafusion/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/datafusion/versions.tf +++ b/modules/datafusion/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/dataproc/versions.tf b/modules/dataproc/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/dataproc/versions.tf +++ b/modules/dataproc/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/dns-response-policy/versions.tf b/modules/dns-response-policy/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/dns-response-policy/versions.tf +++ b/modules/dns-response-policy/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/dns/versions.tf b/modules/dns/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/dns/versions.tf +++ b/modules/dns/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/endpoints/versions.tf b/modules/endpoints/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/endpoints/versions.tf +++ b/modules/endpoints/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/folder/README.md b/modules/folder/README.md index a3a7f0092..f9229f951 100644 --- a/modules/folder/README.md +++ b/modules/folder/README.md @@ -215,6 +215,7 @@ module "folder2" { } # tftest modules=2 resources=7 inventory=hfw.yaml ``` + ### Firewall policy factory The in-built factory allows you to define a single policy, using one file for rules, and an optional file for CIDR range substitution variables. Remember that non-absolute paths are relative to the root module (the folder where you run `terraform`). diff --git a/modules/folder/versions.tf b/modules/folder/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/folder/versions.tf +++ b/modules/folder/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/gcs/versions.tf b/modules/gcs/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/gcs/versions.tf +++ b/modules/gcs/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/gke-cluster-autopilot/versions.tf b/modules/gke-cluster-autopilot/versions.tf index 4da9879bc..6e7130d10 100644 --- a/modules/gke-cluster-autopilot/versions.tf +++ b/modules/gke-cluster-autopilot/versions.tf @@ -12,17 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. - terraform { required_version = ">= 1.4.4" required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/gke-cluster-standard/versions.tf b/modules/gke-cluster-standard/versions.tf index ada52a4e8..6e7130d10 100644 --- a/modules/gke-cluster-standard/versions.tf +++ b/modules/gke-cluster-standard/versions.tf @@ -12,20 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. - terraform { required_version = ">= 1.4.4" required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } - diff --git a/modules/gke-hub/versions.tf b/modules/gke-hub/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/gke-hub/versions.tf +++ b/modules/gke-hub/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/gke-nodepool/versions.tf b/modules/gke-nodepool/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/gke-nodepool/versions.tf +++ b/modules/gke-nodepool/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/iam-service-account/versions.tf b/modules/iam-service-account/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/iam-service-account/versions.tf +++ b/modules/iam-service-account/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/kms/versions.tf b/modules/kms/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/kms/versions.tf +++ b/modules/kms/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/logging-bucket/README.md b/modules/logging-bucket/README.md index f749fecda..9923a7e3c 100644 --- a/modules/logging-bucket/README.md +++ b/modules/logging-bucket/README.md @@ -20,6 +20,21 @@ module "bucket" { # tftest modules=1 resources=1 inventory=project.yaml ``` +### Create custom logging bucket in a project enabling Log Analytics and dataset link + +```hcl +module "bucket" { + source = "./fabric/modules/logging-bucket" + parent_type = "project" + parent = var.project_id + id = "mybucket" + log_analytics = { + enable = true + dataset_link_id = "log" + } +} +# tftest modules=1 resources=2 inventory=log_analytics.yaml +``` ### Change retention period of a folder's _Default bucket @@ -41,6 +56,7 @@ module "bucket-default" { ``` ### Organization and billing account buckets + ```hcl module "bucket-organization" { source = "./fabric/modules/logging-bucket" @@ -64,12 +80,13 @@ module "bucket-billing-account" { | name | description | type | required | default | |---|---|:---:|:---:|:---:| | [id](variables.tf#L23) | Name of the logging bucket. | string | ✓ | | -| [parent](variables.tf#L40) | ID of the parentresource containing the bucket in the format 'project_id' 'folders/folder_id', 'organizations/organization_id' or 'billing_account_id'. | string | ✓ | | -| [parent_type](variables.tf#L45) | Parent object type for the bucket (project, folder, organization, billing_account). | string | ✓ | | +| [parent](variables.tf#L50) | ID of the parentresource containing the bucket in the format 'project_id' 'folders/folder_id', 'organizations/organization_id' or 'billing_account_id'. | string | ✓ | | +| [parent_type](variables.tf#L55) | Parent object type for the bucket (project, folder, organization, billing_account). | string | ✓ | | | [description](variables.tf#L17) | Human-readable description for the logging bucket. | string | | null | | [kms_key_name](variables.tf#L28) | To enable CMEK for a project logging bucket, set this field to a valid name. The associated service account requires cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key. | string | | null | | [location](variables.tf#L34) | Location of the bucket. | string | | "global" | -| [retention](variables.tf#L50) | Retention time in days for the logging bucket. | number | | 30 | +| [log_analytics](variables.tf#L40) | Enable and configure Analytics Log. | object({…}) | | {} | +| [retention](variables.tf#L60) | Retention time in days for the logging bucket. | number | | 30 | ## Outputs diff --git a/modules/logging-bucket/main.tf b/modules/logging-bucket/main.tf index 679cd6b9a..f534af5c3 100644 --- a/modules/logging-bucket/main.tf +++ b/modules/logging-bucket/main.tf @@ -15,12 +15,13 @@ */ resource "google_logging_project_bucket_config" "bucket" { - count = var.parent_type == "project" ? 1 : 0 - project = var.parent - location = var.location - retention_days = var.retention - bucket_id = var.id - description = var.description + count = var.parent_type == "project" ? 1 : 0 + project = var.parent + location = var.location + retention_days = var.retention + bucket_id = var.id + description = var.description + enable_analytics = var.log_analytics.enable dynamic "cmek_settings" { for_each = var.kms_key_name == null ? [] : [""] @@ -39,6 +40,15 @@ resource "google_logging_folder_bucket_config" "bucket" { description = var.description } +resource "google_logging_linked_dataset" "dataset" { + count = var.log_analytics.dataset_link_id != null && var.parent_type == "project" ? 1 : 0 + link_id = var.log_analytics.dataset_link_id + parent = "projects/${google_logging_project_bucket_config.bucket[0].project}" + bucket = google_logging_project_bucket_config.bucket[0].id + location = var.location + description = "Log Analytics Dataset" +} + resource "google_logging_organization_bucket_config" "bucket" { count = var.parent_type == "organization" ? 1 : 0 organization = var.parent diff --git a/modules/logging-bucket/variables.tf b/modules/logging-bucket/variables.tf index 451dcce9a..fcd318436 100644 --- a/modules/logging-bucket/variables.tf +++ b/modules/logging-bucket/variables.tf @@ -37,6 +37,16 @@ variable "location" { default = "global" } +variable "log_analytics" { + description = "Enable and configure Analytics Log." + type = object({ + enable = optional(bool, false) + dataset_link_id = optional(string) + }) + nullable = false + default = {} +} + variable "parent" { description = "ID of the parentresource containing the bucket in the format 'project_id' 'folders/folder_id', 'organizations/organization_id' or 'billing_account_id'." type = string diff --git a/modules/logging-bucket/versions.tf b/modules/logging-bucket/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/logging-bucket/versions.tf +++ b/modules/logging-bucket/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/ncc-spoke-ra/versions.tf b/modules/ncc-spoke-ra/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/ncc-spoke-ra/versions.tf +++ b/modules/ncc-spoke-ra/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-address/versions.tf b/modules/net-address/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-address/versions.tf +++ b/modules/net-address/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-cloudnat/versions.tf b/modules/net-cloudnat/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-cloudnat/versions.tf +++ b/modules/net-cloudnat/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-dedicated-vlan-attachment/versions.tf b/modules/net-dedicated-vlan-attachment/versions.tf index c16b5d32b..6e7130d10 100644 --- a/modules/net-dedicated-vlan-attachment/versions.tf +++ b/modules/net-dedicated-vlan-attachment/versions.tf @@ -1,4 +1,4 @@ -# Copyright 2023 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-glb/versions.tf b/modules/net-glb/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-glb/versions.tf +++ b/modules/net-glb/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-ilb-l7/versions.tf b/modules/net-ilb-l7/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-ilb-l7/versions.tf +++ b/modules/net-ilb-l7/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-ilb/versions.tf b/modules/net-ilb/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-ilb/versions.tf +++ b/modules/net-ilb/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-ipsec-over-interconnect/versions.tf b/modules/net-ipsec-over-interconnect/versions.tf index c16b5d32b..6e7130d10 100644 --- a/modules/net-ipsec-over-interconnect/versions.tf +++ b/modules/net-ipsec-over-interconnect/versions.tf @@ -1,4 +1,4 @@ -# Copyright 2023 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-nlb/versions.tf b/modules/net-nlb/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-nlb/versions.tf +++ b/modules/net-nlb/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-vpc-firewall-policy/versions.tf b/modules/net-vpc-firewall-policy/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-vpc-firewall-policy/versions.tf +++ b/modules/net-vpc-firewall-policy/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-vpc-firewall/versions.tf b/modules/net-vpc-firewall/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-vpc-firewall/versions.tf +++ b/modules/net-vpc-firewall/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-vpc-peering/versions.tf b/modules/net-vpc-peering/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-vpc-peering/versions.tf +++ b/modules/net-vpc-peering/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-vpc/versions.tf b/modules/net-vpc/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-vpc/versions.tf +++ b/modules/net-vpc/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-vpn-dynamic/versions.tf b/modules/net-vpn-dynamic/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-vpn-dynamic/versions.tf +++ b/modules/net-vpn-dynamic/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-vpn-ha/versions.tf b/modules/net-vpn-ha/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-vpn-ha/versions.tf +++ b/modules/net-vpn-ha/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/net-vpn-static/versions.tf b/modules/net-vpn-static/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/net-vpn-static/versions.tf +++ b/modules/net-vpn-static/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/organization/README.md b/modules/organization/README.md index 862b72fb4..585847d02 100644 --- a/modules/organization/README.md +++ b/modules/organization/README.md @@ -187,7 +187,6 @@ custom.gkeEnableAutoUpgrade: description: All node pools must have node auto-upgrade enabled. ``` - ```yaml # tftest-file id=dataproc path=configs/custom-constraints/dataproc.yaml custom.dataprocNoMoreThan10Workers: diff --git a/modules/organization/versions.tf b/modules/organization/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/organization/versions.tf +++ b/modules/organization/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/project/versions.tf b/modules/project/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/project/versions.tf +++ b/modules/project/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/projects-data-source/versions.tf b/modules/projects-data-source/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/projects-data-source/versions.tf +++ b/modules/projects-data-source/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/pubsub/versions.tf b/modules/pubsub/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/pubsub/versions.tf +++ b/modules/pubsub/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/secret-manager/versions.tf b/modules/secret-manager/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/secret-manager/versions.tf +++ b/modules/secret-manager/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/service-directory/versions.tf b/modules/service-directory/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/service-directory/versions.tf +++ b/modules/service-directory/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/source-repository/versions.tf b/modules/source-repository/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/source-repository/versions.tf +++ b/modules/source-repository/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/modules/vpc-sc/versions.tf b/modules/vpc-sc/versions.tf index 77ccb0e7f..6e7130d10 100644 --- a/modules/vpc-sc/versions.tf +++ b/modules/vpc-sc/versions.tf @@ -17,11 +17,11 @@ terraform { required_providers { google = { source = "hashicorp/google" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } google-beta = { source = "hashicorp/google-beta" - version = ">= 4.60.0" # tftest + version = ">= 4.64.0" # tftest } } } diff --git a/tests/modules/folder/examples/hfw.yaml b/tests/modules/folder/examples/hfw.yaml index 57abe480e..b2f2a4f2a 100644 --- a/tests/modules/folder/examples/hfw.yaml +++ b/tests/modules/folder/examples/hfw.yaml @@ -24,14 +24,22 @@ values: disabled: null enable_logging: false match: - - dest_ip_ranges: null + - dest_address_groups: null + dest_fqdns: null + dest_ip_ranges: null + dest_region_codes: null + dest_threat_intelligences: null layer4_configs: - ip_protocol: all ports: [] + src_address_groups: null + src_fqdns: null src_ip_ranges: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 + src_region_codes: null + src_threat_intelligences: null priority: 1000 target_resources: null target_service_accounts: null @@ -42,13 +50,21 @@ values: disabled: null enable_logging: false match: - - dest_ip_ranges: null + - dest_address_groups: null + dest_fqdns: null + dest_ip_ranges: null + dest_region_codes: null + dest_threat_intelligences: null layer4_configs: - ip_protocol: tcp ports: - '22' + src_address_groups: null + src_fqdns: null src_ip_ranges: - 35.235.240.0/20 + src_region_codes: null + src_threat_intelligences: null priority: 100 target_resources: null target_service_accounts: null diff --git a/tests/modules/logging_bucket/examples/log_analytics.yaml b/tests/modules/logging_bucket/examples/log_analytics.yaml new file mode 100644 index 000000000..d16873b42 --- /dev/null +++ b/tests/modules/logging_bucket/examples/log_analytics.yaml @@ -0,0 +1,26 @@ +# Copyright 2023 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +values: + module.bucket.google_logging_project_bucket_config.bucket[0]: + bucket_id: mybucket + location: global + project: project-id + retention_days: 30 + module.bucket.google_logging_linked_dataset.dataset[0]: + link_id: log + location: global + +counts: + google_logging_project_bucket_config: 1 diff --git a/tests/modules/organization/examples/hfw.yaml b/tests/modules/organization/examples/hfw.yaml index 91ced6db4..aba4bb3e0 100644 --- a/tests/modules/organization/examples/hfw.yaml +++ b/tests/modules/organization/examples/hfw.yaml @@ -26,14 +26,22 @@ values: disabled: null enable_logging: false match: - - dest_ip_ranges: null + - dest_address_groups: null + dest_fqdns: null + dest_ip_ranges: null + dest_region_codes: null + dest_threat_intelligences: null layer4_configs: - ip_protocol: all ports: [] + src_address_groups: null + src_fqdns: null src_ip_ranges: - 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 + src_region_codes: null + src_threat_intelligences: null priority: 1000 target_resources: null target_service_accounts: null @@ -44,17 +52,24 @@ values: disabled: null enable_logging: false match: - - dest_ip_ranges: null + - dest_address_groups: null + dest_fqdns: null + dest_ip_ranges: null + dest_region_codes: null + dest_threat_intelligences: null layer4_configs: - ip_protocol: tcp ports: - '22' + src_address_groups: null + src_fqdns: null src_ip_ranges: - 35.235.240.0/20 + src_region_codes: null + src_threat_intelligences: null priority: 100 target_resources: null target_service_accounts: null - timeouts: null counts: google_compute_firewall_policy: 1