1
0
mirror of synced 2025-12-19 18:05:44 -05:00

start modifying code

This commit is contained in:
Rob Morgan
2019-06-21 18:23:15 +02:00
parent 11a459bba1
commit 213f6e2e3a
10 changed files with 137 additions and 137 deletions

View File

@@ -8,8 +8,8 @@
provider "google-beta" {
version = "~> 2.7.0"
region = "${var.region}"
project = "${var.project}"
project = var.project
region = var.region
}
terraform {

View File

@@ -8,8 +8,8 @@
provider "google-beta" {
version = "~> 2.7.0"
region = "${var.region}"
project = "${var.project}"
project = var.project
region = var.region
}
terraform {

View File

@@ -8,8 +8,8 @@
provider "google-beta" {
version = "~> 2.7.0"
region = "${var.region}"
project = "${var.project}"
project = var.project
region = var.region
}
terraform {

View File

@@ -8,8 +8,8 @@
provider "google-beta" {
version = "~> 2.7.0"
region = "${var.region}"
project = "${var.project}"
project = var.project
region = var.region
}
terraform {

View File

@@ -8,8 +8,8 @@
provider "google-beta" {
version = "~> 2.7.0"
region = "${var.region}"
project = "${var.project}"
project = var.project
region = var.region
}
terraform {

View File

@@ -8,8 +8,8 @@
provider "google-beta" {
version = "~> 2.7.0"
region = "${var.region}"
project = "${var.project}"
project = var.project
region = var.region
}
terraform {

View File

@@ -8,8 +8,8 @@
provider "google-beta" {
version = "~> 2.7.0"
region = "${var.region}"
project = "${var.project}"
project = var.project
region = var.region
}
terraform {

38
main.tf
View File

@@ -8,8 +8,8 @@
provider "google-beta" {
version = "~> 2.7.0"
region = "${var.region}"
project = "${var.project}"
project = var.project
region = var.region
}
terraform {
@@ -28,7 +28,7 @@ resource "random_id" "name" {
locals {
# If name_override is specified, use that - otherwise use the name_prefix with a random string
instance_name = "${length(var.name_override) == 0 ? format("%s-%s", var.name_prefix, random_id.name.hex) : var.name_override}"
instance_name = length(var.name_override) == 0 ? format("%s-%s", var.name_prefix, random_id.name.hex) : var.name_override
private_network_name = "private-network-${random_id.name.hex}"
private_ip_name = "private-ip-${random_id.name.hex}"
}
@@ -40,25 +40,25 @@ locals {
# Simple network, auto-creates subnetworks
resource "google_compute_network" "private_network" {
provider = "google-beta"
name = "${local.private_network_name}"
name = local.private_network_name
}
# Reserve global internal address range for the peering
resource "google_compute_global_address" "private_ip_address" {
provider = "google-beta"
name = "${local.private_ip_name}"
name = local.private_ip_name
purpose = "VPC_PEERING"
address_type = "INTERNAL"
prefix_length = 16
network = "${google_compute_network.private_network.self_link}"
network = google_compute_network.private_network.self_link
}
# Establish VPC network peering connection using the reserved address range
resource "google_service_networking_connection" "private_vpc_connection" {
provider = "google-beta"
network = "${google_compute_network.private_network.self_link}"
network = google_compute_network.private_network.self_link
service = "servicenetworking.googleapis.com"
reserved_peering_ranges = ["${google_compute_global_address.private_ip_address.name}"]
reserved_peering_ranges = [google_compute_global_address.private_ip_address.name]
}
# ------------------------------------------------------------------------------
@@ -68,31 +68,31 @@ resource "google_service_networking_connection" "private_vpc_connection" {
module "postgres" {
# When using these modules in your own templates, you will need to use a Git URL with a ref attribute that pins you
# to a specific version of the modules, such as the following example:
# source = "github.com/gruntwork-io/terraform-google-sql.git//modules/cloud-sql?ref=v0.1.1"
# source = "github.com/gruntwork-io/terraform-google-sql.git//modules/cloud-sql?ref=v0.2.0"
source = "./modules/cloud-sql"
project = "${var.project}"
region = "${var.region}"
name = "${local.instance_name}"
db_name = "${var.db_name}"
project = var.project
region = var.region
name = local.instance_name
db_name = var.db_name
engine = "${var.postgres_version}"
machine_type = "${var.machine_type}"
engine = var.postgres_version
machine_type = var.machine_type
# These together will construct the master_user privileges, i.e.
# 'master_user_name'@'master_user_host' IDENTIFIED BY 'master_user_password'.
# These should typically be set as the environment variable TF_VAR_master_user_password, etc.
# so you don't check these into source control."
master_user_password = "${var.master_user_password}"
master_user_password = var.master_user_password
master_user_name = "${var.master_user_name}"
master_user_name = var.master_user_name
master_user_host = "%"
# Pass the private network link to the module
private_network = "${google_compute_network.private_network.self_link}"
private_network = google_compute_network.private_network.self_link
# Wait for the vpc connection to complete
wait_for = "${google_service_networking_connection.private_vpc_connection.network}"
wait_for = google_service_networking_connection.private_vpc_connection.network
custom_labels = {
test-id = "postgres-private-ip-example"

View File

@@ -8,14 +8,14 @@
locals {
# Replica proxy connection info
failover_proxy_connection = "${join("",data.template_file.failover_proxy_connection.*.rendered)}"
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_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)
}
# ------------------------------------------------------------------------------
@@ -23,7 +23,7 @@ locals {
# ------------------------------------------------------------------------------
data "template_file" "failover_proxy_connection" {
count = "${local.actual_failover_replica_count}"
count = local.actual_failover_replica_count
template = "${var.project}:${var.region}:${google_sql_database_instance.failover_replica.0.name}"
}
@@ -36,28 +36,28 @@ data "template_file" "failover_proxy_connection" {
# ------------------------------------------------------------------------------
data "template_file" "failover_certificate" {
count = "${local.actual_failover_replica_count}"
template = "${google_sql_database_instance.failover_replica.0.server_ca_cert.0.cert}"
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}"
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}"
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}"
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}"
count = local.actual_failover_replica_count
template = google_sql_database_instance.failover_replica.0.server_ca_cert.0.sha1_fingerprint
}
# ------------------------------------------------------------------------------
@@ -65,6 +65,6 @@ data "template_file" "failover_certificate_sha1_fingerprint" {
# ------------------------------------------------------------------------------
data "template_file" "read_replica_proxy_connection" {
count = "${var.num_read_replicas}"
count = var.num_read_replicas
template = "${var.project}:${var.region}:${google_sql_database_instance.read_replica.*.name[count.index]}"
}

View File

@@ -13,13 +13,13 @@
locals {
# Determine the engine type
is_postgres = "${replace(var.engine, "POSTGRES", "") != var.engine}"
is_mysql = "${replace(var.engine, "MYSQL", "") != var.engine}"
is_postgres = replace(var.engine, "POSTGRES", "") != var.engine
is_mysql = replace(var.engine, "MYSQL", "") != var.engine
# Calculate actuals, so we get expected behavior for each engine
actual_binary_log_enabled = "${local.is_postgres ? false : var.mysql_binary_log_enabled}"
actual_availability_type = "${local.is_postgres && var.enable_failover_replica ? "REGIONAL" : "ZONAL"}"
actual_failover_replica_count = "${local.is_postgres ? 0 : var.enable_failover_replica ? 1 : 0}"
actual_binary_log_enabled = local.is_postgres ? false : var.mysql_binary_log_enabled
actual_availability_type = local.is_postgres && var.enable_failover_replica ? "REGIONAL" : "ZONAL"
actual_failover_replica_count = local.is_postgres ? 0 : var.enable_failover_replica ? 1 : 0
}
# ------------------------------------------------------------------------------
@@ -33,56 +33,56 @@ resource "google_sql_database_instance" "master" {
depends_on = ["null_resource.dependency_getter"]
provider = "google-beta"
name = "${var.name}"
project = "${var.project}"
region = "${var.region}"
database_version = "${var.engine}"
name = var.name
project = var.project
region = var.region
database_version = var.engine
settings {
tier = "${var.machine_type}"
activation_policy = "${var.activation_policy}"
authorized_gae_applications = ["${var.authorized_gae_applications}"]
disk_autoresize = "${var.disk_autoresize}"
tier = var.machine_type
activation_policy = var.activation_policy
authorized_gae_applications = [var.authorized_gae_applications]
disk_autoresize = var.disk_autoresize
ip_configuration {
authorized_networks = ["${var.authorized_networks}"]
ipv4_enabled = "${var.enable_public_internet_access}"
private_network = "${var.private_network}"
require_ssl = "${var.require_ssl}"
authorized_networks = [var.authorized_networks]
ipv4_enabled = var.enable_public_internet_access
private_network = var.private_network
require_ssl = var.require_ssl
}
location_preference {
follow_gae_application = "${var.follow_gae_application}"
zone = "${var.master_zone}"
follow_gae_application = var.follow_gae_application
zone = var.master_zone
}
backup_configuration {
binary_log_enabled = "${local.actual_binary_log_enabled}"
enabled = "${var.backup_enabled}"
start_time = "${var.backup_start_time}"
binary_log_enabled = local.actual_binary_log_enabled
enabled = var.backup_enabled
start_time = var.backup_start_time
}
maintenance_window {
day = "${var.maintenance_window_day}"
hour = "${var.maintenance_window_hour}"
update_track = "${var.maintenance_track}"
day = var.maintenance_window_day
hour = var.maintenance_window_hour
update_track = var.maintenance_track
}
disk_size = "${var.disk_size}"
disk_type = "${var.disk_type}"
database_flags = ["${var.database_flags}"]
availability_type = "${local.actual_availability_type}"
disk_size = var.disk_size
disk_type = var.disk_type
database_flags = [var.database_flags]
availability_type = local.actual_availability_type
user_labels = "${var.custom_labels}"
user_labels = var.custom_labels
}
# Default timeouts are 10 minutes, which in most cases should be enough.
# Sometimes the database creation can, however, take longer, so we
# increase the timeouts slightly.
timeouts {
create = "${var.resource_timeout}"
delete = "${var.resource_timeout}"
update = "${var.resource_timeout}"
create = var.resource_timeout
delete = var.resource_timeout
update = var.resource_timeout
}
}
@@ -93,21 +93,21 @@ resource "google_sql_database_instance" "master" {
resource "google_sql_database" "default" {
depends_on = ["google_sql_database_instance.master"]
name = "${var.db_name}"
project = "${var.project}"
instance = "${google_sql_database_instance.master.name}"
charset = "${var.db_charset}"
collation = "${var.db_collation}"
name = var.db_name
project = var.project
instance = google_sql_database_instance.master.name
charset = var.db_charset
collation = var.db_collation
}
resource "google_sql_user" "default" {
depends_on = ["google_sql_database.default"]
name = "${var.master_user_name}"
project = "${var.project}"
instance = "${google_sql_database_instance.master.name}"
host = "${var.master_user_host}"
password = "${var.master_user_password}"
name = var.master_user_name
project = var.project
instance = google_sql_database_instance.master.name
host = var.master_user_host
password = var.master_user_password
}
# ------------------------------------------------------------------------------
@@ -129,7 +129,7 @@ resource "null_resource" "dependency_getter" {
# ------------------------------------------------------------------------------
resource "google_sql_database_instance" "failover_replica" {
count = "${local.actual_failover_replica_count}"
count = local.actual_failover_replica_count
depends_on = [
"google_sql_database_instance.master",
@@ -139,12 +139,12 @@ resource "google_sql_database_instance" "failover_replica" {
provider = "google-beta"
name = "${var.name}-failover"
project = "${var.project}"
region = "${var.region}"
database_version = "${var.engine}"
project = var.project
region = var.region
database_version = var.engine
# The name of the instance that will act as the master in the replication setup.
master_instance_name = "${google_sql_database_instance.master.name}"
master_instance_name = google_sql_database_instance.master.name
replica_configuration {
# Specifies that the replica is the failover target.
@@ -154,36 +154,36 @@ resource "google_sql_database_instance" "failover_replica" {
settings {
crash_safe_replication = true
tier = "${var.machine_type}"
authorized_gae_applications = ["${var.authorized_gae_applications}"]
disk_autoresize = "${var.disk_autoresize}"
tier = var.machine_type
authorized_gae_applications = [var.authorized_gae_applications]
disk_autoresize = var.disk_autoresize
ip_configuration {
authorized_networks = ["${var.authorized_networks}"]
ipv4_enabled = "${var.enable_public_internet_access}"
private_network = "${var.private_network}"
require_ssl = "${var.require_ssl}"
authorized_networks = [var.authorized_networks]
ipv4_enabled = var.enable_public_internet_access
private_network = var.private_network
require_ssl = var.require_ssl
}
location_preference {
follow_gae_application = "${var.follow_gae_application}"
zone = "${var.mysql_failover_replica_zone}"
follow_gae_application = var.follow_gae_application
zone = var.mysql_failover_replica_zone
}
disk_size = "${var.disk_size}"
disk_type = "${var.disk_type}"
database_flags = ["${var.database_flags}"]
disk_size = var.disk_size
disk_type = var.disk_type
database_flags = [var.database_flags]
user_labels = "${var.custom_labels}"
user_labels = var.custom_labels
}
# Default timeouts are 10 minutes, which in most cases should be enough.
# Sometimes the database creation can, however, take longer, so we
# increase the timeouts slightly.
timeouts {
create = "${var.resource_timeout}"
delete = "${var.resource_timeout}"
update = "${var.resource_timeout}"
create = var.resource_timeout
delete = var.resource_timeout
update = var.resource_timeout
}
}
@@ -192,7 +192,7 @@ resource "google_sql_database_instance" "failover_replica" {
# ------------------------------------------------------------------------------
resource "google_sql_database_instance" "read_replica" {
count = "${var.num_read_replicas}"
count = var.num_read_replicas
depends_on = [
"google_sql_database_instance.master",
@@ -203,12 +203,12 @@ resource "google_sql_database_instance" "read_replica" {
provider = "google-beta"
name = "${var.name}-read-${count.index}"
project = "${var.project}"
region = "${var.region}"
database_version = "${var.engine}"
project = var.project
region = var.region
database_version = var.engine
# The name of the instance that will act as the master in the replication setup.
master_instance_name = "${google_sql_database_instance.master.name}"
master_instance_name = google_sql_database_instance.master.name
replica_configuration {
# Specifies that the replica is not the failover target.
@@ -216,27 +216,27 @@ resource "google_sql_database_instance" "read_replica" {
}
settings {
tier = "${var.machine_type}"
authorized_gae_applications = ["${var.authorized_gae_applications}"]
disk_autoresize = "${var.disk_autoresize}"
tier = var.machine_type
authorized_gae_applications = [var.authorized_gae_applications]
disk_autoresize = var.disk_autoresize
ip_configuration {
authorized_networks = ["${var.authorized_networks}"]
ipv4_enabled = "${var.enable_public_internet_access}"
private_network = "${var.private_network}"
require_ssl = "${var.require_ssl}"
authorized_networks = [var.authorized_networks]
ipv4_enabled = var.enable_public_internet_access
private_network = var.private_network
require_ssl = var.require_ssl
}
location_preference {
follow_gae_application = "${var.follow_gae_application}"
zone = "${element(var.read_replica_zones, count.index)}"
follow_gae_application = var.follow_gae_application
zone = element(var.read_replica_zones, count.index)
}
disk_size = "${var.disk_size}"
disk_type = "${var.disk_type}"
database_flags = ["${var.database_flags}"]
disk_size = var.disk_size
disk_type = var.disk_type
database_flags = [var.database_flags]
user_labels = "${var.custom_labels}"
user_labels = var.custom_labels
}
# Read replica creation is initiated concurrently, but the provider creates
@@ -244,9 +244,9 @@ resource "google_sql_database_instance" "read_replica" {
# to allow successful creation of multiple read replicas without having to
# fear the operation timing out.
timeouts {
create = "${var.resource_timeout}"
delete = "${var.resource_timeout}"
update = "${var.resource_timeout}"
create = var.resource_timeout
delete = var.resource_timeout
update = var.resource_timeout
}
}
@@ -262,5 +262,5 @@ data "template_file" "complete" {
"google_sql_user.default",
]
template = "true"
template = true
}