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({