terraform-modules/deploy-files/tf-deploy-files.tf (220 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 # # https://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. #################################################################################### #################################################################################### # Create the GCP resources # # Author: Adam Paternostro #################################################################################### # Need this version to implement terraform { required_providers { google = { source = "hashicorp/google-beta" version = "5.35.0" } } } #################################################################################### # Variables #################################################################################### variable "gcp_account_name" {} variable "project_id" {} variable "dataplex_region" {} variable "multi_region" {} variable "bigquery_non_multi_region" {} variable "vertex_ai_region" {} variable "data_catalog_region" {} variable "appengine_region" {} variable "colab_enterprise_region" {} variable "random_extension" {} variable "project_number" {} variable "deployment_service_account_name" {} variable "terraform_service_account" {} variable "bigquery_data_beans_curated_dataset" {} variable "data_beans_curated_bucket" {} variable "data_beans_code_bucket" {} variable "data_beans_analytics_hub" {} #################################################################################### # Deploy Colab notebooks #################################################################################### resource "google_storage_bucket_object" "Customer-Reviews-Detect-Themes-GenAI" { name = "colab-enterprise/gen-ai-demo/Customer-Reviews-Detect-Themes-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Customer-Reviews-Detect-Themes-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Customer-Reviews-Generate-Recommended-Action-GenAI" { name = "colab-enterprise/gen-ai-demo/Customer-Reviews-Generate-Recommended-Action-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Customer-Reviews-Generate-Recommended-Action-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Customer-Reviews-Generate-Customer-Response-GenAI" { name = "colab-enterprise/gen-ai-demo/Customer-Reviews-Generate-Customer-Response-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Customer-Reviews-Generate-Customer-Response-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Customer-Reviews-Synthetic-Data-Generation-GenAI" { name = "colab-enterprise/gen-ai-demo/Customer-Reviews-Synthetic-Data-Generation-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Customer-Reviews-Synthetic-Data-Generation-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Customer-Reviews-Generate-Insight-GenAI" { name = "colab-enterprise/gen-ai-demo/Customer-Reviews-Generate-Insight-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Customer-Reviews-Generate-Insight-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Customer-Reviews-Word-Cloud" { name = "colab-enterprise/gen-ai-demo/Customer-Reviews-Word-Cloud.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Customer-Reviews-Word-Cloud.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Event-Generate-Insight-GenAI" { name = "colab-enterprise/gen-ai-demo/Event-Generate-Insight-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Event-Generate-Insight-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Event-Populate-Table" { name = "colab-enterprise/gen-ai-demo/Event-Populate-Table.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Event-Populate-Table.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Marketing-Campaign-Generate-Insight-GenAI" { name = "colab-enterprise/gen-ai-demo/Marketing-Campaign-Generate-Insight-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Marketing-Campaign-Generate-Insight-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Menu-A-B-Testing-Generate-Campaign-GenAI" { name = "colab-enterprise/gen-ai-demo/Menu-A-B-Testing-Generate-Campaign-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Menu-A-B-Testing-Generate-Campaign-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Menu-A-B-Testing-Generate-Insight-GenAI" { name = "colab-enterprise/gen-ai-demo/Menu-A-B-Testing-Generate-Insight-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Menu-A-B-Testing-Generate-Insight-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Menu-Synthetic-Data-Generation-GenAI" { name = "colab-enterprise/gen-ai-demo/Menu-Synthetic-Data-Generation-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Menu-Synthetic-Data-Generation-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Sample-Synthetic-Data-Generation-GenAI" { name = "colab-enterprise/gen-ai-demo/Sample-Synthetic-Data-Generation-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Sample-Synthetic-Data-Generation-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Weather-Generate-Insight-GenAI" { name = "colab-enterprise/gen-ai-demo/Weather-Generate-Insight-GenAI.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Weather-Generate-Insight-GenAI.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] } resource "google_storage_bucket_object" "Weather-Populate-Table" { name = "colab-enterprise/gen-ai-demo/Weather-Populate-Table.ipynb" bucket = var.data_beans_code_bucket content = templatefile("../colab-enterprise/gen-ai-demo/Weather-Populate-Table.ipynb", { project_id = var.project_id vertex_ai_region = var.vertex_ai_region bigquery_data_beans_curated_dataset = var.bigquery_data_beans_curated_dataset data_beans_curated_bucket = var.data_beans_curated_bucket data_beans_code_bucket = var.data_beans_code_bucket }) depends_on = [] }