Files
terraform-google-sql/modules/cloud-sql/outputs.tf
2019-03-28 12:45:31 +02:00

188 lines
7.6 KiB
HCL

# ------------------------------------------------------------------------------
# MASTER INSTANCE OUTPUTS
# ------------------------------------------------------------------------------
output "master_instance_name" {
description = "The name of the master database instance"
value = "${google_sql_database_instance.master.name}"
}
output "master_public_ip_address" {
description = "The public IPv4 address of the master instance."
value = "${google_sql_database_instance.master.public_ip_address}"
}
output "master_private_ip_address" {
description = "The public IPv4 address of the master instance."
value = "${google_sql_database_instance.master.private_ip_address}"
}
output "master_ip_addresses" {
description = "All IP addresses of the master instance JSON encoded, see https://www.terraform.io/docs/providers/google/r/sql_database_instance.html#ip_address-0-ip_address"
value = "${jsonencode(google_sql_database_instance.master.ip_address)}"
}
output "master_instance" {
description = "Self link to the master instance"
value = "${google_sql_database_instance.master.self_link}"
}
output "master_proxy_connection" {
description = "Master instance path for connecting with Cloud SQL Proxy. Read more at https://cloud.google.com/sql/docs/mysql/sql-proxy"
value = "${var.project}:${var.region}:${google_sql_database_instance.master.name}"
}
# ------------------------------------------------------------------------------
# MASTER CERT OUTPUTS
# ------------------------------------------------------------------------------
output "master_ca_cert" {
description = "The CA Certificate used to connect to the master instance via SSL"
value = "${google_sql_database_instance.master.server_ca_cert.0.cert}"
}
output "master_ca_cert_common_name" {
description = "The CN valid for the master instance CA Cert"
value = "${google_sql_database_instance.master.server_ca_cert.0.common_name}"
}
output "master_ca_cert_create_time" {
description = "Creation time of the master instance CA Cert"
value = "${google_sql_database_instance.master.server_ca_cert.0.create_time}"
}
output "master_ca_cert_expiration_time" {
description = "Expiration time of the master instance CA Cert"
value = "${google_sql_database_instance.master.server_ca_cert.0.expiration_time}"
}
output "master_ca_cert_sha1_fingerprint" {
description = "SHA Fingerprint of the master instance CA Cert"
value = "${google_sql_database_instance.master.server_ca_cert.0.sha1_fingerprint}"
}
# ------------------------------------------------------------------------------
# DATABASE OUTPUTS
# ------------------------------------------------------------------------------
output "db" {
description = "Self link to the default database"
value = "${google_sql_database.default.self_link}"
}
output "db_name" {
description = "Name of the default database"
value = "${google_sql_database.default.name}"
}
# ------------------------------------------------------------------------------
# FAILOVER REPLICA OUTPUTS - ONLY APPLICABLE TO MYSQL
# ------------------------------------------------------------------------------
output "failover_instance_name" {
description = "The name of the failover database instance"
value = "${join("", google_sql_database_instance.failover_replica.*.name)}"
}
output "failover_public_ip_address" {
description = "The public IPv4 address of the failover instance."
value = "${join("", google_sql_database_instance.failover_replica.*.public_ip_address)}"
}
output "failover_private_ip_address" {
description = "The private IPv4 address of the failover instance."
value = "${join("", google_sql_database_instance.failover_replica.*.private_ip_address)}"
}
output "failover_ip_addresses" {
description = "All IP addresses of the failover instance JSON encoded, see https://www.terraform.io/docs/providers/google/r/sql_database_instance.html#ip_address-0-ip_address"
value = "${jsonencode(google_sql_database_instance.failover_replica.*.ip_address)}"
}
output "failover_instance" {
description = "Self link to the failover instance"
value = "${join("", google_sql_database_instance.failover_replica.*.self_link)}"
}
output "failover_proxy_connection" {
description = "Failover instance path for connecting with Cloud SQL Proxy. Read more at https://cloud.google.com/sql/docs/mysql/sql-proxy"
value = "${local.failover_proxy_connection}"
}
# ------------------------------------------------------------------------------
# FAILOVER CERT OUTPUTS - ONLY APPLICABLE TO MYSQL
# ------------------------------------------------------------------------------
output "failover_replica_ca_cert" {
description = "The CA Certificate used to connect to the failover instance via SSL"
value = "${local.failover_certificate}"
}
output "failover_replica_ca_cert_common_name" {
description = "The CN valid for the failover instance CA Cert"
value = "${local.failover_certificate_common_name}"
}
output "failover_replica_ca_cert_create_time" {
description = "Creation time of the failover instance CA Cert"
value = "${local.failover_certificate_create_time}"
}
output "failover_replica_ca_cert_expiration_time" {
description = "Expiration time of the failover instance CA Cert"
value = "${local.failover_certificate_expiration_time}"
}
output "failover_replica_ca_cert_sha1_fingerprint" {
description = "SHA Fingerprint of the failover instance CA Cert"
value = "${local.failover_certificate_sha1_fingerprint}"
}
# ------------------------------------------------------------------------------
# READ REPLICA OUTPUTS
# ------------------------------------------------------------------------------
output "read_replica_instance_names" {
description = "List of names for the read replica instances"
value = ["${google_sql_database_instance.read_replica.*.name}"]
}
output "read_replica_ip_addresses" {
description = "All IP addresses of the read replica instances JSON encoded, see https://www.terraform.io/docs/providers/google/r/sql_database_instance.html#ip_address-0-ip_address"
value = "${jsonencode(google_sql_database_instance.read_replica.*.ip_address)}"
}
output "read_replica_public_ip_addresses" {
description = "List of public IPv4 addresses of the read replica instances."
value = ["${google_sql_database_instance.read_replica.*.public_ip_address}"]
}
output "read_replica_private_ip_addresses" {
description = "List of private IPv4 addresses of the read replica instances."
value = ["${google_sql_database_instance.read_replica.*.private_ip_address}"]
}
output "read_replica_instances" {
description = "List of self links to the read replica instances"
value = ["${google_sql_database_instance.read_replica.*.self_link}"]
}
output "read_replica_proxy_connections" {
description = "List of read replica instance paths for connecting with Cloud SQL Proxy. Read more at https://cloud.google.com/sql/docs/mysql/sql-proxy"
value = ["${data.template_file.read_replica_proxy_connection.*.rendered}"]
}
output "read_replica_server_ca_certs" {
description = "JSON encoded list of CA Certificates used to connect to the read replica instances via SSL"
value = "${jsonencode(google_sql_database_instance.read_replica.*.server_ca_cert)}"
}
# ------------------------------------------------------------------------------
# MISC OUTPUTS
# ------------------------------------------------------------------------------
output "complete" {
description = "Output signaling that all resources have been created"
value = "${data.template_file.complete.rendered}"
}