infra/locals.tf (76 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.
*/
locals {
services = [
"run.googleapis.com",
"cloudbuild.googleapis.com",
"compute.googleapis.com",
"cloudresourcemanager.googleapis.com",
"iam.googleapis.com",
"container.googleapis.com",
"cloudapis.googleapis.com",
"cloudtrace.googleapis.com",
"containerregistry.googleapis.com",
"iamcredentials.googleapis.com",
"dialogflow.googleapis.com",
"monitoring.googleapis.com",
"logging.googleapis.com",
"notebooks.googleapis.com",
"aiplatform.googleapis.com",
"storage.googleapis.com",
"datacatalog.googleapis.com",
"appengineflex.googleapis.com",
"translate.googleapis.com",
"admin.googleapis.com",
"docs.googleapis.com",
"drive.googleapis.com",
"sheets.googleapis.com",
"slides.googleapis.com",
"firebase.googleapis.com",
"firebasehosting.googleapis.com",
"discoveryengine.googleapis.com",
"secretmanager.googleapis.com",
"artifactregistry.googleapis.com",
"firestore.googleapis.com"
]
tables = [
{
name = "customers",
schema = "${path.module}/bq-schemas/customers.json"
},
{
name = "events",
schema = "${path.module}/bq-schemas/events.json"
},
{
name = "metadata",
schema = "${path.module}/bq-schemas/metadata.json"
},
{
name = "transactions",
schema = "${path.module}/bq-schemas/transactions.json"
}
]
bq_tables = [for t in local.tables : {
table_id = t.name,
schema = file(t.schema),
time_partitioning = null,
range_partitioning = null,
expiration_time = null,
clustering = [],
labels = {}
}]
}