1
0
mirror of synced 2025-12-30 03:00:12 -05:00
Files
terraform-google-sql/examples/cloud-sql-mysql/main.tf
2019-02-01 12:09:36 +02:00

79 lines
1.8 KiB
HCL

provider "google-beta" {
region = "${var.region}"
project = "${var.project}"
}
# Use Terraform 0.10.x so that we can take advantage of Terraform GCP functionality as a separate provider via
# https://github.com/terraform-providers/terraform-provider-google
terraform {
required_version = ">= 0.10.3"
}
variable "region" {
default = "europe-north1"
}
variable "project" {
default = "dev-sandbox-228703"
}
variable "zone" {
default = "europe-north1-a"
}
variable "mysql_version" {
default = "MYSQL_5_6"
}
resource "random_id" "name" {
byte_length = 2
}
resource "google_compute_network" "private_network" {
provider = "google-beta"
name = "private-network"
}
resource "google_compute_global_address" "private_ip_address" {
provider = "google-beta"
name = "private-ip-address"
purpose = "VPC_PEERING"
address_type = "INTERNAL"
prefix_length = 16
network = "${google_compute_network.private_network.self_link}"
}
resource "google_service_networking_connection" "private_vpc_connection" {
provider = "google-beta"
network = "${google_compute_network.private_network.self_link}"
service = "servicenetworking.googleapis.com"
reserved_peering_ranges = ["${google_compute_global_address.private_ip_address.name}"]
}
module "mysql-db" {
source = "../../modules/cloud-sql"
name = "example-mysql-${random_id.name.hex}"
region = "${var.region}"
engine = "${var.mysql_version}"
project = "${var.project}"
machine_type = "db-f1-micro"
ip_configuration = [
{
ipv4_enabled = "true"
private_network = "${google_compute_network.private_network.self_link}"
}
]
# https://cloud.google.com/sql/docs/mysql/flags
flags = [
]
}
output "mysql_conn" {
value = "${var.project}:${var.region}:${module.mysql-db.instance_name}"
}