diff --git a/README.md b/README.md index a8c5e06c..6a931ee2 100644 --- a/README.md +++ b/README.md @@ -197,6 +197,7 @@ This module provisions a dataset and a list of tables with associated JSON schem | description | Dataset description. | `string` | `null` | no | | encryption\_key | Default encryption key to apply to the dataset. Defaults to null (Google-managed). | `string` | `null` | no | | external\_tables | A list of objects which include table\_id, expiration\_time, external\_data\_configuration, and labels. |
list(object({
table_id = string,
description = optional(string),
autodetect = bool,
compression = string,
ignore_unknown_values = bool,
max_bad_records = number,
schema = string,
source_format = string,
source_uris = list(string),
csv_options = object({
quote = string,
allow_jagged_rows = bool,
allow_quoted_newlines = bool,
encoding = string,
field_delimiter = string,
skip_leading_rows = number,
}),
google_sheets_options = object({
range = string,
skip_leading_rows = number,
}),
hive_partitioning_options = object({
mode = string,
source_uri_prefix = string,
}),
expiration_time = optional(string, null),
max_staleness = optional(string),
deletion_protection = optional(bool),
labels = optional(map(string), {}),
})) | `[]` | no |
+| is\_case\_insensitive | (Optional) TRUE if the dataset and its table names are case-insensitive, otherwise FALSE. By default, this is FALSE, which means the dataset and its table names are case-sensitive. This field does not affect routine references. | `bool` | `false` | no |
| location | The location of the dataset. For multi-region, US or EU can be provided. | `string` | `"US"` | no |
| materialized\_views | A list of objects which includes view\_id, view\_query, clustering, time\_partitioning, range\_partitioning, expiration\_time and labels | list(object({
view_id = string,
description = optional(string),
query = string,
enable_refresh = bool,
refresh_interval_ms = string,
clustering = optional(list(string), []),
time_partitioning = optional(object({
expiration_ms = string,
field = string,
type = string,
require_partition_filter = bool,
}), null),
range_partitioning = optional(object({
field = string,
range = object({
start = string,
end = string,
interval = string,
}),
}), null),
expiration_time = optional(string, null),
max_staleness = optional(string),
labels = optional(map(string), {}),
})) | `[]` | no |
| max\_time\_travel\_hours | Defines the time travel window in hours | `number` | `null` | no |
diff --git a/main.tf b/main.tf
index a7ba03dc..6920dca4 100644
--- a/main.tf
+++ b/main.tf
@@ -33,6 +33,7 @@ resource "google_bigquery_dataset" "main" {
friendly_name = var.dataset_name
description = var.description
location = var.location
+ is_case_insensitive = var.is_case_insensitive
delete_contents_on_destroy = var.delete_contents_on_destroy
default_table_expiration_ms = var.default_table_expiration_ms
max_time_travel_hours = var.max_time_travel_hours
diff --git a/metadata.display.yaml b/metadata.display.yaml
index 75148103..4bd4a15a 100644
--- a/metadata.display.yaml
+++ b/metadata.display.yaml
@@ -62,6 +62,9 @@ spec:
external_tables:
name: external_tables
title: External Tables
+ is_case_insensitive:
+ name: is_case_insensitive
+ title: Is Case Insensitive
location:
name: location
title: Location
diff --git a/metadata.yaml b/metadata.yaml
index c7faca02..65d590fa 100644
--- a/metadata.yaml
+++ b/metadata.yaml
@@ -66,6 +66,10 @@ spec:
description: The location of the dataset. For multi-region, US or EU can be provided.
varType: string
defaultValue: US
+ - name: is_case_insensitive
+ description: (Optional) TRUE if the dataset and its table names are case-insensitive, otherwise FALSE. By default, this is FALSE, which means the dataset and its table names are case-sensitive. This field does not affect routine references.
+ varType: bool
+ defaultValue: false
- name: delete_contents_on_destroy
description: (Optional) If set to true, delete all the tables in the dataset when destroying the resource; otherwise, destroying the resource will fail if tables are present.
varType: bool
diff --git a/modules/data_warehouse/metadata.yaml b/modules/data_warehouse/metadata.yaml
index 65b4dd8a..87e2fc39 100644
--- a/modules/data_warehouse/metadata.yaml
+++ b/modules/data_warehouse/metadata.yaml
@@ -159,7 +159,7 @@ spec:
- iam.googleapis.com
providerVersions:
- source: hashicorp/archive
- version: 10.1.0
+ version: ">= 2.4.2"
- source: hashicorp/google
version: ">= 6.11, < 7"
- source: hashicorp/google-beta
@@ -167,8 +167,8 @@ spec:
- source: hashicorp/http
version: ">= 2"
- source: hashicorp/local
- version: ">=2.4"
+ version: ">= 2.4"
- source: hashicorp/random
- version: 10.1.0
+ version: ">= 3.6.2"
- source: hashicorp/time
version: ">= 0.9.1"
diff --git a/variables.tf b/variables.tf
index 28ca7a8b..3e93d1d3 100644
--- a/variables.tf
+++ b/variables.tf
@@ -37,6 +37,12 @@ variable "location" {
default = "US"
}
+variable "is_case_insensitive" {
+ description = "(Optional) TRUE if the dataset and its table names are case-insensitive, otherwise FALSE. By default, this is FALSE, which means the dataset and its table names are case-sensitive. This field does not affect routine references."
+ type = bool
+ default = false
+}
+
variable "delete_contents_on_destroy" {
description = "(Optional) If set to true, delete all the tables in the dataset when destroying the resource; otherwise, destroying the resource will fail if tables are present."
type = bool