diff --git a/modules/spanner-instance/README.md b/modules/spanner-instance/README.md index d021b8da8..04bd0bc28 100644 --- a/modules/spanner-instance/README.md +++ b/modules/spanner-instance/README.md @@ -168,13 +168,13 @@ module "spanner_instance" { | name | description | type | required | default | |---|---|:---:|:---:|:---:| -| [instance](variables.tf#L89) | Instance attributes. | object({…}) | ✓ | | -| [project_id](variables.tf#L134) | Project id. | string | ✓ | | +| [instance](variables.tf#L90) | Instance attributes. | object({…}) | ✓ | | +| [project_id](variables.tf#L137) | Project id. | string | ✓ | | | [databases](variables.tf#L17) | Databases. | map(object({…})) | | {} | -| [iam](variables.tf#L63) | IAM bindings in {ROLE => [MEMBERS]} format. | map(list(string)) | | {} | -| [iam_bindings](variables.tf#L69) | Authoritative IAM bindings in {KEY => {role = ROLE, members = [], condition = {}}}. Keys are arbitrary. | map(object({…})) | | {} | -| [iam_bindings_additive](variables.tf#L79) | Individual additive IAM bindings. Keys are arbitrary. | map(object({…})) | | {} | -| [instance_create](variables.tf#L127) | Set to false to manage databases and IAM bindings in an existing instance. | bool | | true | +| [iam](variables.tf#L64) | IAM bindings in {ROLE => [MEMBERS]} format. | map(list(string)) | | {} | +| [iam_bindings](variables.tf#L70) | Authoritative IAM bindings in {KEY => {role = ROLE, members = [], condition = {}}}. Keys are arbitrary. | map(object({…})) | | {} | +| [iam_bindings_additive](variables.tf#L80) | Individual additive IAM bindings. Keys are arbitrary. | map(object({…})) | | {} | +| [instance_create](variables.tf#L130) | Set to false to manage databases and IAM bindings in an existing instance. | bool | | true | ## Outputs diff --git a/modules/spanner-instance/main.tf b/modules/spanner-instance/main.tf index 26a8e3354..445bf3de5 100644 --- a/modules/spanner-instance/main.tf +++ b/modules/spanner-instance/main.tf @@ -55,12 +55,14 @@ resource "google_spanner_instance" "spanner_instance" { ? var.instance.config.name : google_spanner_instance_config.spanner_instance_config[0].name ) - name = var.instance.name - display_name = coalesce(var.instance.display_name, var.instance.name) - num_nodes = var.instance.num_nodes - labels = var.instance.labels - force_destroy = var.instance.force_destroy - processing_units = var.instance.processing_units + name = var.instance.name + display_name = coalesce(var.instance.display_name, var.instance.name) + num_nodes = var.instance.num_nodes + labels = var.instance.labels + force_destroy = var.instance.force_destroy + processing_units = var.instance.processing_units + edition = var.instance.edition + default_backup_schedule_type = var.instance.default_backup_schedule_type dynamic "autoscaling_config" { for_each = var.instance.autoscaling == null ? [] : [""] content { @@ -92,6 +94,7 @@ resource "google_spanner_database" "spanner_databases" { instance = local.spanner_instance.name name = each.key ddl = each.value.ddl + default_time_zone = each.value.default_time_zone enable_drop_protection = each.value.enable_drop_protection deletion_protection = false version_retention_period = each.value.version_retention_period diff --git a/modules/spanner-instance/variables.tf b/modules/spanner-instance/variables.tf index 95a88153a..5fd8044c0 100644 --- a/modules/spanner-instance/variables.tf +++ b/modules/spanner-instance/variables.tf @@ -19,6 +19,7 @@ variable "databases" { type = map(object({ database_dialect = optional(string) ddl = optional(list(string), []) + default_time_zone = optional(string) deletion_protection = optional(bool) enable_drop_protection = optional(bool) iam = optional(map(list(string)), {}) @@ -115,12 +116,14 @@ variable "instance" { )) })) })) - display_name = optional(string) - labels = optional(map(string), {}) - name = string - num_nodes = optional(number) - processing_units = optional(number) - force_destroy = optional(bool) + display_name = optional(string) + edition = optional(string) + default_backup_schedule_type = optional(string) + labels = optional(map(string), {}) + name = string + num_nodes = optional(number) + processing_units = optional(number) + force_destroy = optional(bool) }) }