terraform/variables.tf (128 lines of code) (raw):
/**
* Copyright 2024 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.
*/
variable "project_id" {
type = string
}
variable "embedding_model" {
type = string
default = "vertex"
description = "name of the model that you want to use to create embeddings. Options: 'vertex' or 'vertex-lang'"
}
variable "description_model" {
type = string
default = "gemini-1.5-pro"
description = "name of the model that you want to use to generate missing description for tables and columns. Options: 'gemini-1.0-pro', 'gemini-1.5-pro', 'text-bison-32k', 'gemini-1.5-flash'"
}
variable "vector_store" {
type = string
default = "bigquery-vector"
description = "name of the datastore you want to use to store text embeddings of your meta data. Options: bigquery-vector, cloudsql-pgvector"
}
variable "debugging" {
type = string
default = "yes"
description = "yes, if you want to enable debugging. No, otherwise"
}
variable "logging" {
type = string
default = "yes"
description = "yes, if you want to enable application logging. No, otherwise"
}
variable "kgq_examples" {
type = string
default = "yes"
description = "yes, if you want to use known good sqls for few shot prompting and creating cache. No, otherwise"
}
variable "use_session_history" {
type = string
default = "yes"
description = "yes, if you want to use current session's questions without re-evaluating them. No, otherwise"
}
variable "use_column_samples" {
type = string
default = "no"
description = "yes, if you want to add some sample column values to the embeddings to enrich it with more information. No, otherwise"
}
variable "use_existing_cloudsql_instance" {
default = "no"
type = string
description = "If you want to use an existing cloudsql instance to store the vector embeddings, then choose 'yes' else choose 'no'. Terraform will create a new cloudsql instance if 'no' is chosen."
}
variable "pg_instance" {
default = "pg15-opendataqna"
type = string
description = "Name of the Cloudsql postgres instance to store vector embeddings. Keep this empty if vector db is bigquery."
}
variable "pg_region" {
default = "us-central1"
type = string
description = "Location of the pg_instance"
}
variable "pg_database" {
type = string
default = "opendataqna-db"
description = "Name of the Database associated with pg_instance"
}
variable "pg_user" {
type = string
default = "pguser"
description = "user name for the database"
}
variable "pg_password" {
type = string
default = "pg123"
description = "password for pg_user"
}
variable "bq_opendataqna_dataset" {
type = string
default = "opendataqna"
description = "This dataset will be used to store text embeddings and application logs. If pg-vector is chosen as vector db, only application logs will be stored here."
}
variable "bq_dataset_region" {
type = string
default = "us-central1"
description = "Location of bq_opendataqna_dataset."
}
variable "bq_log_table" {
type = string
default = "audit_log_table"
description = "Name of the table where audit logs will be stored. This table will be create under the bq_opendataqna_dataset."
}
variable "firestore_region" {
type = string
default = "us-central1"
description = "Location of the firestore database."
}
variable service_account {
type = string
default = "opendataqna"
description = "service account used by backend service"
}
variable "deploy_region" {
type = string
default = "us-central1"
description = "region where cloudrun service will be deployed"
}
variable "cloud_run_service_name" {
type = string
default = "opendataqna"
description = "name of the cloud run service where backend apis will be deployed"
}
variable "firebase_web_app_name" {
type = string
default = "opendataqna"
description = "name of the firebase web app."
}