diff --git a/modules/cloudsql-instance/main.tf b/modules/cloudsql-instance/main.tf index e64ee383b..b5492bc8b 100644 --- a/modules/cloudsql-instance/main.tf +++ b/modules/cloudsql-instance/main.tf @@ -215,7 +215,7 @@ resource "google_sql_database_instance" "replicas" { master_instance_name = google_sql_database_instance.primary.name settings { - tier = var.tier + tier = coalesce(each.value.tier, var.tier) edition = var.edition deletion_protection_enabled = var.gcp_deletion_protection disk_autoresize = var.disk_size == null diff --git a/modules/cloudsql-instance/variables.tf b/modules/cloudsql-instance/variables.tf index 87616b233..803d59cdb 100644 --- a/modules/cloudsql-instance/variables.tf +++ b/modules/cloudsql-instance/variables.tf @@ -239,10 +239,11 @@ variable "region" { } variable "replicas" { - description = "Map of NAME=> {REGION, KMS_KEY} for additional read replicas. Set to null to disable replica creation." + description = "Map of NAME=> {REGION, KMS_KEY, TIER} for additional read replicas. Tier defaults to the primary instance tier when unset. Set to null to disable replica creation." type = map(object({ region = string encryption_key_name = optional(string) + tier = optional(string) })) default = {} nullable = false @@ -287,6 +288,7 @@ variable "terraform_deletion_protection" { variable "tier" { description = "The machine type to use for the instances." type = string + nullable = false } variable "time_zone" {