diff --git a/README.md b/README.md index ec08bbbc8..8061f777c 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Currently available modules: - **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 factory](./modules/net-vpc-factory/README.md), [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** - [AlloyDB instance](./modules/alloydb), [Analytics Hub](./modules/analytics-hub), [BigQuery dataset](./modules/bigquery-dataset), [Biglake Catalog](./modules/biglake-catalog), [Bigtable instance](./modules/bigtable-instance), [Dataplex](./modules/dataplex), [Dataplex Aspect Types](./modules/dataplex-aspect-types/), [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) -- **AI** - [Agentspace](./modules/agentspace/README.md) +- **AI** - [AI Applications](./modules/ai-applications/README.md) - **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 48105f494..cb194698c 100644 --- a/modules/README.md +++ b/modules/README.md @@ -103,7 +103,7 @@ These modules are used in the examples included in this repository. If you are u ## AI -- [Agentspace](./agentspace/README.md) +- [AI Applications](./ai-applications/README.md) ## Development diff --git a/modules/agentspace/README.md b/modules/ai-applications/README.md similarity index 57% rename from modules/agentspace/README.md rename to modules/ai-applications/README.md index 033517b6d..c31e09e1e 100644 --- a/modules/agentspace/README.md +++ b/modules/ai-applications/README.md @@ -1,9 +1,9 @@ -# Agentspace +# AI Applications -This module handles the creation of Agentspace data sources, engines and related configurations. +This module handles the creation of [AI Applications](https://cloud.google.com/generative-ai-app-builder/docs/introduction) data sources, engines and related configurations. -* [Agentspace module](#agentspace) +* [AI Applications module](#ai-applications) * [APIs](#apis) * [Quota Project](#quota-project) * [Examples](#examples) @@ -38,8 +38,8 @@ export USER_PROJECT_OVERRIDE=true This is a minimal example to create a Chat Engine agent. ```hcl -module "agentspace" { - source = "./fabric/modules/agentspace" +module "ai-applications" { + source = "./fabric/modules/ai-applications" name = "my-chat-app" project_id = var.project_id data_stores_configs = { @@ -66,8 +66,8 @@ module "agentspace" { This is a minimal example to create a Search Engine agent. ```hcl -module "agentspace" { - source = "./fabric/modules/agentspace" +module "ai-applications" { + source = "./fabric/modules/ai-applications" name = "my-search-app" project_id = var.project_id data_stores_configs = { @@ -90,8 +90,8 @@ module "agentspace" { By default services are deployed globally. You optionally specify a region where to deploy them. ```hcl -module "agentspace" { - source = "./fabric/modules/agentspace" +module "ai-applications" { + source = "./fabric/modules/ai-applications" name = "my-chat-app" project_id = var.project_id location = var.region @@ -119,8 +119,8 @@ module "agentspace" { You can reference from engines existing data sources created outside this module, by passing their ids. In this case, you'll need to configure in the engine valid `industry_vertical` and `location`. ```hcl -module "agentspace" { - source = "./fabric/modules/agentspace" +module "ai-applications" { + source = "./fabric/modules/ai-applications" name = "my-search-app" project_id = var.project_id engines_configs = { @@ -141,8 +141,8 @@ module "agentspace" { You can create and connect from your engines multiple data stores. ```hcl -module "agentspace" { - source = "./fabric/modules/agentspace" +module "ai-applications" { + source = "./fabric/modules/ai-applications" name = "my-chat-app" project_id = var.project_id data_stores_configs = { @@ -176,8 +176,8 @@ module "agentspace" { You can configure JSON data store schema definitions directly in your data store configuration. ```hcl -module "agentspace" { - source = "./fabric/modules/agentspace" +module "ai-applications" { + source = "./fabric/modules/ai-applications" name = "my-search-app" project_id = var.project_id data_stores_configs = { @@ -195,8 +195,8 @@ module "agentspace" { You can make data stores point to multiple websites and optionally specify their sitemap. ```hcl -module "agentspace" { - source = "./fabric/modules/agentspace" +module "ai-applications" { + source = "./fabric/modules/ai-applications" name = "my-search-app" project_id = var.project_id data_stores_configs = { @@ -210,7 +210,7 @@ module "agentspace" { } exclude-one-page = { exact_match = true - provided_uri_pattern = "https://cloud.google.com/agentspace" + provided_uri_pattern = "https://cloud.google.com/ai-applications" type = "EXCLUDE" } } @@ -236,8 +236,8 @@ module "agentspace" { |---|---|:---:|:---:|:---:| | [name](variables.tf#L159) | The name of the resources. | string | ✓ | | | [project_id](variables.tf#L165) | The ID of the project where the data stores and the agents will be created. | string | ✓ | | -| [data_stores_configs](variables.tf#L17) | The Agentspace datastore configurations. | map(object({…})) | | {} | -| [engines_configs](variables.tf#L112) | The Agentspace engines configurations. | map(object({…})) | | {} | +| [data_stores_configs](variables.tf#L17) | The ai-applications datastore configurations. | map(object({…})) | | {} | +| [engines_configs](variables.tf#L112) | The ai-applications engines configurations. | map(object({…})) | | {} | | [location](variables.tf#L153) | Location where the data stores and agents will be created. | string | | "global" | ## Outputs diff --git a/modules/agentspace/engines.tf b/modules/ai-applications/engines.tf similarity index 100% rename from modules/agentspace/engines.tf rename to modules/ai-applications/engines.tf diff --git a/modules/agentspace/main.tf b/modules/ai-applications/main.tf similarity index 98% rename from modules/agentspace/main.tf rename to modules/ai-applications/main.tf index 5ae3d1119..49ec255cb 100644 --- a/modules/agentspace/main.tf +++ b/modules/ai-applications/main.tf @@ -35,12 +35,14 @@ resource "google_discovery_engine_data_store" "default" { data_store_id = "${var.name}-${each.key}" project = var.project_id location = coalesce(each.value.location, var.location) - display_name = each.value.display_name industry_vertical = each.value.industry_vertical content_config = each.value.content_config solution_types = each.value.solution_types create_advanced_site_search = each.value.create_advanced_site_search skip_default_schema_creation = each.value.skip_default_schema_creation + display_name = coalesce( + each.value.display_name, "${var.name}-${each.key}" + ) dynamic "advanced_site_search_config" { for_each = ( diff --git a/modules/agentspace/outputs.tf b/modules/ai-applications/outputs.tf similarity index 100% rename from modules/agentspace/outputs.tf rename to modules/ai-applications/outputs.tf diff --git a/modules/agentspace/variables.tf b/modules/ai-applications/variables.tf similarity index 96% rename from modules/agentspace/variables.tf rename to modules/ai-applications/variables.tf index 8adbd96f1..6739b44ed 100644 --- a/modules/agentspace/variables.tf +++ b/modules/ai-applications/variables.tf @@ -15,7 +15,7 @@ */ variable "data_stores_configs" { - description = "The Agentspace datastore configurations." + description = "The ai-applications datastore configurations." type = map(object({ advanced_site_search_config = optional(object({ disable_initial_index = optional(bool) @@ -23,7 +23,7 @@ variable "data_stores_configs" { })) content_config = optional(string, "NO_CONTENT") create_advanced_site_search = optional(bool) - display_name = optional(string, "Terraform managed.") + display_name = optional(string) document_processing_config = optional(object({ chunking_config = optional(object({ layout_based_chunking_config = optional(object({ @@ -110,7 +110,7 @@ variable "data_stores_configs" { } variable "engines_configs" { - description = "The Agentspace engines configurations." + description = "The ai-applications engines configurations." type = map(object({ data_store_ids = list(string) collection_id = optional(string, "default_collection") diff --git a/modules/agentspace/versions.tf b/modules/ai-applications/versions.tf similarity index 100% rename from modules/agentspace/versions.tf rename to modules/ai-applications/versions.tf diff --git a/modules/agentspace/versions.tofu b/modules/ai-applications/versions.tofu similarity index 100% rename from modules/agentspace/versions.tofu rename to modules/ai-applications/versions.tofu