This Terraform module contains Infrastructure-as-Code (IaC) for an example deployment.
Below is a list of the infrastructure that is created as part of this Terraform module.
- Enabling of relevant Google Cloud APIs
- NOTE: make sure the 'Service Usage' API is enabled (in the console)
- GCS bucket where the compiled pipelines will be published
- GCS bucket for the Cloud Function build
- GCS bucket for the "assets" folder
- Cloud Function for triggering the pipelines
- Pub/Sub topic that is used to trigger the Cloud Function
- Cloud Scheduler jobs for scheduling the pipeline runs
- Service accounts (and suitable IAM roles) for:
- Vertex Pipelines to execute the pipelines
- Cloud Function to trigger the pipeline execution
- Cloud Scheduler to publish messages to the pub/sub topic
Name |
Description |
Type |
Default |
Required |
api_list |
List of Google Cloud APIs to enable on the project. |
list(string) |
[] |
no |
app_engine_region |
Region for the App Engine application. |
string |
n/a |
yes |
cloud_function_config |
Config for the Cloud Function for triggering pipelines, |
object({ name = string region = string description = string vpc_connector = string }) |
n/a |
yes |
cloud_schedulers_config |
Map of configurations for cloud scheduler jobs (each a different pipeline schedule). |
map(object({ name = string region = string description = string schedule = string time_zone = string payload_file = string })) |
{} |
no |
gcs_buckets_names |
Map of names of GCS buckets to create. |
map(string) |
{} |
no |
project_id |
The ID of the project in which to provision resources. |
string |
n/a |
yes |
pubsub_topic_name |
Name of the Pub/Sub topic to create for triggering pipelines. |
string |
n/a |
yes |
service_accounts |
Map of service accounts to create. |
map(object({ name = string display_name = string project_roles = list(string) })) |
{} |
no |
vertex_region |
Region for Vertex Pipelines execution. |
string |
n/a |
yes |
No outputs.