terraform-google-modules / terraform-google-sql-db

Creates a Cloud SQL database instance

Home Page:https://registry.terraform.io/modules/terraform-google-modules/sql-db/google

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

terraform-google-sql

terraform-google-sql makes it easy to create Google CloudSQL instance and implement high availability settings. This module consists of the following submodules:

See more details in each module's README.

Compatibility

This module is meant for use with Terraform 1.3+ and tested using Terraform 1.6+. If you find incompatibilities using Terraform >=1.13, please open an issue.

Upgrading

The current version is 20.X. The following guides are available to assist with upgrades:

Root module

The root module has been deprecated. Please switch to using one of the submodules.

Requirements

Installation Dependencies

Configure a Service Account

In order to execute this module you must have a Service Account with the following:

Roles

  • Cloud SQL Admin: roles/cloudsql.admin
  • Compute Network Admin: roles/compute.networkAdmin

Enable APIs

In order to operate with the Service Account you must activate the following APIs on the project where the Service Account was created:

  • Cloud SQL Admin API: sqladmin.googleapis.com

In order to use Private Service Access, required for using Private IPs, you must activate the following APIs on the project where your VPC resides:

  • Cloud SQL Admin API: sqladmin.googleapis.com
  • Compute Engine API: compute.googleapis.com
  • Service Networking API: servicenetworking.googleapis.com
  • Cloud Resource Manager API: cloudresourcemanager.googleapis.com

Service Account Credentials

You can pass the service account credentials into this module by setting the following environment variables:

  • GOOGLE_CREDENTIALS
  • GOOGLE_CLOUD_KEYFILE_JSON
  • GCLOUD_KEYFILE_JSON

See more details.

Provision Instructions

This module has no root configuration. A module with no root configuration cannot be used directly.

Copy and paste into your Terraform configuration, insert the variables, and run terraform init :

For MySQL :

module "sql-db" {
  source  = "GoogleCloudPlatform/sql-db/google//modules/mysql"
  version = "~> 20.0"
}

or for PostgreSQL :

module "sql-db" {
  source  = "GoogleCloudPlatform/sql-db/google//modules/postgresql"
  version = "~> 20.0"
}

or for MSSQL Server :

module "sql-db" {
  source  = "GoogleCloudPlatform/sql-db/google//modules/mssql"
  version = "~> 20.0"
}

Contributing

Refer to the contribution guidelines for information on contributing to this module.

About

Creates a Cloud SQL database instance

https://registry.terraform.io/modules/terraform-google-modules/sql-db/google

License:Apache License 2.0


Languages

Language:HCL 65.9%Language:Go 27.9%Language:Python 5.0%Language:Makefile 1.2%