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