committed by
GitHub
parent
9d2b50eceb
commit
d277c47a35
@@ -43,7 +43,7 @@ resource "google_alloydb_cluster" "primary" {
|
||||
project = var.project_id
|
||||
annotations = var.annotations
|
||||
cluster_id = local.primary_cluster_name
|
||||
cluster_type = "PRIMARY"
|
||||
cluster_type = var.cross_region_replication.switchover_mode ? "SECONDARY" : "PRIMARY"
|
||||
database_version = var.database_version
|
||||
deletion_policy = var.deletion_policy
|
||||
display_name = coalesce(var.cluster_display_name, local.primary_cluster_name)
|
||||
@@ -144,6 +144,13 @@ resource "google_alloydb_cluster" "primary" {
|
||||
psc_enabled = var.network_config.psc_config != null ? true : null
|
||||
}
|
||||
|
||||
dynamic "secondary_config" {
|
||||
for_each = var.cross_region_replication.switchover_mode ? [""] : []
|
||||
content {
|
||||
primary_cluster_name = "projects/${var.project_id}/locations/${var.cross_region_replication.region}/clusters/${local.secondary_cluster_name}"
|
||||
}
|
||||
}
|
||||
|
||||
# waiting to fix this issue https://github.com/hashicorp/terraform-provider-google/issues/14944
|
||||
lifecycle {
|
||||
ignore_changes = [
|
||||
@@ -161,7 +168,7 @@ resource "google_alloydb_instance" "primary" {
|
||||
database_flags = var.flags
|
||||
display_name = coalesce(var.display_name, local.primary_instance_name)
|
||||
instance_id = local.primary_instance_name
|
||||
instance_type = "PRIMARY"
|
||||
instance_type = var.cross_region_replication.switchover_mode ? "SECONDARY" : "PRIMARY"
|
||||
gce_zone = local.is_regional ? null : var.gce_zone
|
||||
labels = var.labels
|
||||
|
||||
@@ -228,7 +235,7 @@ resource "google_alloydb_cluster" "secondary" {
|
||||
project = var.project_id
|
||||
annotations = var.annotations
|
||||
cluster_id = local.secondary_cluster_name
|
||||
cluster_type = var.cross_region_replication.promote_secondary ? "PRIMARY" : "SECONDARY"
|
||||
cluster_type = var.cross_region_replication.promote_secondary || var.cross_region_replication.switchover_mode ? "PRIMARY" : "SECONDARY"
|
||||
database_version = var.database_version
|
||||
deletion_policy = "FORCE"
|
||||
display_name = coalesce(var.cross_region_replication.secondary_cluster_display_name, local.secondary_cluster_name)
|
||||
@@ -322,7 +329,7 @@ resource "google_alloydb_cluster" "secondary" {
|
||||
}
|
||||
|
||||
dynamic "secondary_config" {
|
||||
for_each = var.cross_region_replication.promote_secondary ? [] : [""]
|
||||
for_each = var.cross_region_replication.promote_secondary || var.cross_region_replication.switchover_mode ? [] : [""]
|
||||
content {
|
||||
primary_cluster_name = google_alloydb_cluster.primary.id
|
||||
}
|
||||
@@ -344,7 +351,7 @@ resource "google_alloydb_instance" "secondary" {
|
||||
annotations = var.annotations
|
||||
availability_type = var.availability_type
|
||||
cluster = google_alloydb_cluster.secondary[0].id
|
||||
database_flags = var.cross_region_replication.promote_secondary ? var.flags : null
|
||||
database_flags = var.cross_region_replication.promote_secondary || var.cross_region_replication.switchover_mode ? var.flags : null
|
||||
display_name = coalesce(var.cross_region_replication.secondary_instance_name, local.secondary_instance_name)
|
||||
gce_zone = local.is_regional ? null : var.gce_zone
|
||||
instance_id = local.secondary_instance_name
|
||||
@@ -365,9 +372,9 @@ resource "google_alloydb_instance" "secondary" {
|
||||
}
|
||||
|
||||
dynamic "machine_config" {
|
||||
for_each = var.machine_config != null ? [""] : []
|
||||
for_each = var.machine_config != null || var.cross_region_replication.secondary_machine_config != null ? [""] : []
|
||||
content {
|
||||
cpu_count = var.machine_config.cpu_count
|
||||
cpu_count = coalesce(try(var.cross_region_replication.secondary_machine_config.cpu_count, null), try(var.machine_config.cpu_count, null))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user