diff --git a/README.md b/README.md
index 39410b8b88..0965be2c2e 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ Currently available modules:
- **process factories** - [project factory](./modules/project-factory/README.md)
- **networking** - [DNS](./modules/dns), [DNS Response Policy](./modules/dns-response-policy/), [Cloud Endpoints](./modules/endpoints), [address reservation](./modules/net-address), [NAT](./modules/net-cloudnat), [VLAN Attachment](./modules/net-vlan-attachment/), [External Application LB](./modules/net-lb-app-ext/), [External Passthrough Network LB](./modules/net-lb-ext), [External Regional Application Load Balancer](./modules/net-lb-app-ext-regional/), [Firewall policy](./modules/net-firewall-policy), [Internal Application LB](./modules/net-lb-app-int), [Cross-region Internal Application LB](./modules/net-lb-app-int-cross-region), [Internal Passthrough Network LB](./modules/net-lb-int), [Internal Proxy Network LB](./modules/net-lb-proxy-int), [IPSec over Interconnect](./modules/net-ipsec-over-interconnect), [VPC](./modules/net-vpc), [VPC firewall](./modules/net-vpc-firewall), [VPC peering](./modules/net-vpc-peering), [VPN dynamic](./modules/net-vpn-dynamic), [HA VPN](./modules/net-vpn-ha), [VPN static](./modules/net-vpn-static), [Service Directory](./modules/service-directory), [Secure Web Proxy](./modules/net-swp)
- **compute** - [VM/VM group](./modules/compute-vm), [MIG](./modules/compute-mig), [COS container](./modules/cloud-config-container/cos-generic-metadata/) (coredns, mysql, onprem, squid), [GKE cluster](./modules/gke-cluster-standard), [GKE hub](./modules/gke-hub), [GKE nodepool](./modules/gke-nodepool), [GCVE private cloud](./modules/gcve-private-cloud)
-- **data** - [Analytics Hub](./modules/analytics-hub), [BigQuery dataset](./modules/bigquery-dataset), [Bigtable instance](./modules/bigtable-instance), [Dataplex](./modules/dataplex), [Dataplex DataScan](./modules/dataplex-datascan), [Cloud SQL instance](./modules/cloudsql-instance), [Spanner instance](./modules/spanner-instance), [Firestore](./modules/firestore), [Data Catalog Policy Tag](./modules/data-catalog-policy-tag), [Data Catalog Tag](./modules/data-catalog-tag), [Data Catalog Tag Template](./modules/data-catalog-tag-template), [Datafusion](./modules/datafusion), [Dataproc](./modules/dataproc), [GCS](./modules/gcs), [Pub/Sub](./modules/pubsub), [Dataform Repository](./modules/dataform-repository/)
+- **data** - [AlloyDB instance](./modules/alloydb), [Analytics Hub](./modules/analytics-hub), [BigQuery dataset](./modules/bigquery-dataset), [Bigtable instance](./modules/bigtable-instance), [Dataplex](./modules/dataplex), [Dataplex DataScan](./modules/dataplex-datascan), [Cloud SQL instance](./modules/cloudsql-instance), [Spanner instance](./modules/spanner-instance), [Firestore](./modules/firestore), [Data Catalog Policy Tag](./modules/data-catalog-policy-tag), [Data Catalog Tag](./modules/data-catalog-tag), [Data Catalog Tag Template](./modules/data-catalog-tag-template), [Datafusion](./modules/datafusion), [Dataproc](./modules/dataproc), [GCS](./modules/gcs), [Pub/Sub](./modules/pubsub), [Dataform Repository](./modules/dataform-repository/), [Looker Core](./modules/looker-core)
- **development** - [API Gateway](./modules/api-gateway), [Apigee](./modules/apigee), [Artifact Registry](./modules/artifact-registry), [Container Registry](./modules/container-registry), [Cloud Source Repository](./modules/source-repository), [Secure Source Manager instance](./modules/secure-source-manager-instance), [Workstation cluster](./modules/workstation-cluster)
- **security** - [Binauthz](./modules/binauthz/), [Certificate Authority Service (CAS)](./modules/certificate-authority-service), [KMS](./modules/kms), [SecretManager](./modules/secret-manager), [VPC Service Control](./modules/vpc-sc), [Certificate Manager](./modules/certificate-manager/)
- **serverless** - [Cloud Function v1](./modules/cloud-function-v1), [Cloud Function v2](./modules/cloud-function-v2), [Cloud Run](./modules/cloud-run), [Cloud Run v2](./modules/cloud-run-v2)
diff --git a/modules/README.md b/modules/README.md
index daf9d7ca7e..db3c6cbbbb 100644
--- a/modules/README.md
+++ b/modules/README.md
@@ -84,8 +84,6 @@ These modules are used in the examples included in this repository. If you are u
- [BigQuery dataset](./bigquery-dataset)
- [Bigtable instance](./bigtable-instance)
- [Cloud SQL instance](./cloudsql-instance)
-- [Spanner instance](./spanner-instance)
-- [Firestore](./firestore)
- [Data Catalog Policy Tag](./data-catalog-policy-tag)
- [Data Catalog Tag](./data-catalog-tag)
- [Data Catalog Tag Template](./data-catalog-tag-template)
@@ -94,8 +92,11 @@ These modules are used in the examples included in this repository. If you are u
- [Dataplex](./dataplex)
- [Dataplex DataScan](./dataplex-datascan/)
- [Dataproc](./dataproc)
+- [Firestore](./firestore)
- [GCS](./gcs)
+- [Looker Core](./looker-core)
- [Pub/Sub](./pubsub)
+- [Spanner instance](./spanner-instance)
## Development
diff --git a/modules/looker-core/README.md b/modules/looker-core/README.md
index 55c34dc371..330ee9b585 100644
--- a/modules/looker-core/README.md
+++ b/modules/looker-core/README.md
@@ -169,16 +169,17 @@ module "looker" {
| name | description | type | required | default |
|---|---|:---:|:---:|:---:|
-| [name](variables.tf#L85) | Name of the looker core instance. | string
| ✓ | |
-| [network_config](variables.tf#L90) | Network configuration for cluster and instance. Only one between psa_config and psc_config can be used. | object({…})
| ✓ | |
-| [oauth_config](variables.tf#L108) | Looker Core Oauth config. Either client ID and secret (existing oauth client) or support email (temporary internal oauth client setup) must be specified. | object({…})
| ✓ | |
-| [project_id](variables.tf#L141) | The ID of the project where this instances will be created. | string
| ✓ | |
-| [region](variables.tf#L146) | Region for the Looker core instance. | string
| ✓ | |
+| [name](variables.tf#L91) | Name of the looker core instance. | string
| ✓ | |
+| [network_config](variables.tf#L96) | Network configuration for cluster and instance. Only one between psa_config and psc_config can be used. | object({…})
| ✓ | |
+| [oauth_config](variables.tf#L114) | Looker Core Oauth config. Either client ID and secret (existing oauth client) or support email (temporary internal oauth client setup) must be specified. | object({…})
| ✓ | |
+| [project_id](variables.tf#L147) | The ID of the project where this instances will be created. | string
| ✓ | |
+| [region](variables.tf#L152) | Region for the Looker core instance. | string
| ✓ | |
| [admin_settings](variables.tf#L17) | Looker Core admins settings. | object({…})
| | null
|
-| [encryption_config](variables.tf#L26) | Set encryption configuration. KMS name format: 'projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]'. | object({…})
| | null
|
-| [maintenance_config](variables.tf#L35) | Set maintenance window configuration and maintenance deny period (up to 90 days). Date format: 'yyyy-mm-dd'. | object({…})
| | {}
|
-| [platform_edition](variables.tf#L121) | Platform editions for a Looker instance. Each edition maps to a set of instance features, like its size. | string
| | "LOOKER_CORE_TRIAL"
|
-| [prefix](variables.tf#L131) | Optional prefix used to generate instance names. | string
| | null
|
+| [custom_domain](variables.tf#L26) | Looker core instance custom domain. | string
| | null
|
+| [encryption_config](variables.tf#L32) | Set encryption configuration. KMS name format: 'projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]'. | object({…})
| | null
|
+| [maintenance_config](variables.tf#L41) | Set maintenance window configuration and maintenance deny period (up to 90 days). Date format: 'yyyy-mm-dd'. | object({…})
| | {}
|
+| [platform_edition](variables.tf#L127) | Platform editions for a Looker instance. Each edition maps to a set of instance features, like its size. | string
| | "LOOKER_CORE_TRIAL"
|
+| [prefix](variables.tf#L137) | Optional prefix used to generate instance names. | string
| | null
|
## Outputs
diff --git a/modules/looker-core/main.tf b/modules/looker-core/main.tf
index 389faf4fc8..8278fec6b9 100644
--- a/modules/looker-core/main.tf
+++ b/modules/looker-core/main.tf
@@ -43,6 +43,12 @@ resource "google_looker_instance" "looker" {
allowed_email_domains = var.admin_settings.allowed_email_domains
}
}
+ dynamic "custom_domain" {
+ for_each = var.custom_domain != null ? [""] : []
+ content {
+ domain = var.custom_domain
+ }
+ }
dynamic "deny_maintenance_period" {
for_each = var.maintenance_config.deny_maintenance_period != null ? [1] : []
content {
diff --git a/modules/looker-core/variables.tf b/modules/looker-core/variables.tf
index ab54d1f0a0..bc28c71d1a 100644
--- a/modules/looker-core/variables.tf
+++ b/modules/looker-core/variables.tf
@@ -23,6 +23,12 @@ variable "admin_settings" {
nullable = true
}
+variable "custom_domain" {
+ description = "Looker core instance custom domain."
+ type = string
+ default = null
+}
+
variable "encryption_config" {
description = "Set encryption configuration. KMS name format: 'projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]'."
type = object({