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)
})
}