Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 16 additions & 13 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -50,30 +50,31 @@ resource "google_spanner_instance" "instance_num_node" {
config = var.instance_config
display_name = var.instance_display_name
name = var.instance_name
num_nodes = var.instance_size.num_nodes
num_nodes = var.enable_autoscaling ? null : var.instance_size.num_nodes
labels = var.instance_labels

dynamic "autoscaling_config" {
for_each = var.enable_autoscaling ? [1] : []
content {
autoscaling_limits {
min_processing_units = var.min_processing_units
max_processing_units = var.max_processing_units
min_nodes = var.min_nodes
max_nodes = var.max_nodes
min_nodes = var.min_nodes
max_nodes = var.max_nodes
}
autoscaling_targets {
high_priority_cpu_utilization_percent = var.high_priority_cpu_utilization_percent
storage_utilization_percent = var.storage_utilization_percent
}
asymmetric_autoscaling_options {
replica_selection {
location = var.replica_location
}
overrides {
autoscaling_limits {
min_nodes = var.override_min_nodes
max_nodes = var.override_max_nodes
dynamic "asymmetric_autoscaling_options" {
for_each = var.enable_asymmetric_autoscaling ? [1] : []
content {
replica_selection {
location = var.replica_location
}
overrides {
autoscaling_limits {
min_nodes = var.override_min_nodes
max_nodes = var.override_max_nodes
}
}
}
}
Expand All @@ -93,6 +94,8 @@ resource "google_spanner_instance" "instance_processing_units" {
name = var.instance_name
processing_units = var.instance_size.processing_units
labels = var.instance_labels
edition = var.edition
force_destroy = var.force_destroy
}

data "google_spanner_instance" "instance" {
Expand Down
15 changes: 7 additions & 8 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -41,14 +41,7 @@ variable "instance_size" {
num_nodes = optional(number)
processing_units = optional(number)
})
validation {
condition = !(
try(var.instance_size.num_nodes, null) == null
&&
try(var.instance_size.processing_units, null) == null
)
error_message = "Either num_nodes OR processing_units information is supported."
}
default = null
}

variable "create_instance" {
Expand All @@ -63,6 +56,12 @@ variable "enable_autoscaling" {
default = false
}

variable "enable_asymmetric_autoscaling" {
description = "Enable asymmetric autoscaling for the Spanner Instance"
type = bool
default = false
}

variable "instance_iam" {
description = "The list of permissions on spanner instance"
type = list(string)
Expand Down
Loading