templates/terraform/google_bigquery_table.tf.jinja2 (50 lines of code) (raw):

/** * Copyright 2022 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. */ resource "google_bigquery_table" "{{ tf_resource_name }}" { project = var.project_id dataset_id = "{{ dataset_id }}" table_id = "{{ table_id }}" {% if description -%} description = {{ description|tojson }} {% endif -%} {% if time_partitioning -%} time_partitioning { {%- for key, val in time_partitioning.items() %} {{ key }} = {{ val|tojson }} {% endfor -%} } {% endif -%} {% if clustering -%} clustering = {{ clustering|tojson }} {% endif -%} {% if deletion_protection -%} deletion_protection = {{ deletion_protection|tojson }} {% endif -%} {% if schema -%} schema = <<EOF {{ schema }} EOF {% endif -%} depends_on = [ google_bigquery_dataset.{{ dataset_id }} ] } output "bigquery_table-{{ tf_resource_name }}-table_id" { value = google_bigquery_table.{{ tf_resource_name }}.table_id } output "bigquery_table-{{ tf_resource_name }}-id" { value = google_bigquery_table.{{ tf_resource_name }}.id }