1
0
mirror of synced 2025-12-19 18:05:44 -05:00
Files
terraform-google-sql/modules/cloud-sql/compute_outputs.tf
2019-06-21 18:23:15 +02:00

71 lines
3.4 KiB
HCL

# ------------------------------------------------------------------------------
# SEPARATE TERRAFORM FILE TO COMPUTE OUTPUT VALUES AND KEEP THE MAIN MODULE CLEAN
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------
# PREPARE LOCALS FOR THE OUTPUTS
# ------------------------------------------------------------------------------
locals {
# Replica proxy connection info
failover_proxy_connection = join("", data.template_file.failover_proxy_connection.*.rendered)
# Replica certificate info
failover_certificate = join("", data.template_file.failover_certificate.*.rendered)
failover_certificate_common_name = join("", data.template_file.failover_certificate_common_name.*.rendered)
failover_certificate_create_time = join("", data.template_file.failover_certificate_create_time.*.rendered)
failover_certificate_expiration_time = join("", data.template_file.failover_certificate_expiration_time.*.rendered)
failover_certificate_sha1_fingerprint = join("", data.template_file.failover_certificate_sha1_fingerprint.*.rendered)
}
# ------------------------------------------------------------------------------
# FAILOVER REPLICA PROXY CONNECTION TEMPLATE
# ------------------------------------------------------------------------------
data "template_file" "failover_proxy_connection" {
count = local.actual_failover_replica_count
template = "${var.project}:${var.region}:${google_sql_database_instance.failover_replica.0.name}"
}
# ------------------------------------------------------------------------------
# FAILOVER REPLICA CERTIFICATE TEMPLATES
#
# We have to produce the certificate outputs via template_file. Using splat syntax would yield:
# Resource 'google_sql_database_instance.failover_replica' does not have attribute 'server_ca_cert.0.cert'
# for variable 'google_sql_database_instance.failover_replica.*.server_ca_cert.0.cert'
# ------------------------------------------------------------------------------
data "template_file" "failover_certificate" {
count = local.actual_failover_replica_count
template = google_sql_database_instance.failover_replica.0.server_ca_cert.0.cert
}
data "template_file" "failover_certificate_common_name" {
count = local.actual_failover_replica_count
template = google_sql_database_instance.failover_replica.0.server_ca_cert.0.common_name
}
data "template_file" "failover_certificate_create_time" {
count = local.actual_failover_replica_count
template = google_sql_database_instance.failover_replica.0.server_ca_cert.0.create_time
}
data "template_file" "failover_certificate_expiration_time" {
count = local.actual_failover_replica_count
template = google_sql_database_instance.failover_replica.0.server_ca_cert.0.expiration_time
}
data "template_file" "failover_certificate_sha1_fingerprint" {
count = local.actual_failover_replica_count
template = google_sql_database_instance.failover_replica.0.server_ca_cert.0.sha1_fingerprint
}
# ------------------------------------------------------------------------------
# READ REPLICA PROXY CONNECTION TEMPLATE
# ------------------------------------------------------------------------------
data "template_file" "read_replica_proxy_connection" {
count = var.num_read_replicas
template = "${var.project}:${var.region}:${google_sql_database_instance.read_replica.*.name[count.index]}"
}