-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlocals.tf
More file actions
36 lines (29 loc) · 1.68 KB
/
locals.tf
File metadata and controls
36 lines (29 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
locals {
master_instance_name = var.random_instance_name ? "${var.name}-${random_id.suffix[0].hex}" : "${var.labels["customer"]}-${var.labels["environment"]}"
ip_configuration_enabled = length(keys(var.ip_configuration)) > 0 ? true : false
ip_configurations = {
enabled = var.ip_configuration
disabled = {}
}
additional_databases = { for db in var.additional_databases : db.name => db }
users = { for u in var.additional_users : u.name => u }
iam_users = {
for user in var.iam_users : user.id => {
email = user.email,
is_account_sa = trimsuffix(user.email, "gserviceaccount.com") == user.email ? false : true
}
}
// HA method using REGIONAL availability_type requires point in time recovery to be enabled
point_in_time_recovery_enabled = var.availability_type == "REGIONAL" ? lookup(var.backup_configuration, "point_in_time_recovery_enabled", true) : lookup(var.backup_configuration, "point_in_time_recovery_enabled", false)
backups_enabled = var.availability_type == "REGIONAL" ? lookup(var.backup_configuration, "enabled", true) : lookup(var.backup_configuration, "enabled", false)
retained_backups = lookup(var.backup_configuration, "retained_backups", null)
retention_unit = lookup(var.backup_configuration, "retention_unit", null)
// Force the usage of connector_enforcement
connector_enforcement = var.connector_enforcement ? "REQUIRED" : "NOT_REQUIRED"
// Replicas
replicas = {
for x in var.read_replicas : "${var.name}-replica${var.read_replica_name_suffix}${x.name}" => x
}
// Zone for replica instances
zone = var.zone == null ? data.google_compute_zones.available[0].names[0] : var.zone
}