Skip to content

borgeslima/gcp-sql-database-instance

This branch is up to date with quarks-labs/gcp-sql-database-instance-module:main.

Repository files navigation

GCP SQL INSTANCE Terraform module

Terraform module which creates SQL INSTANCE resources on GCP.

Usage

locals {
  name    = "quarks-pocs"
  project = "quarks-pocs"
  region  = "us-east1"
}

provider "google" {
  project = local.project
  region  = local.region
}

module "database_instance" {
  source              = "git::https://github.com/quarks-labs/gcp-container-cluster-module.git"
  project             = local.project
  region              = local.region
  name                = local.name
  database_version    = "POSTGRES_14"
  deletion_protection = false

  private_network = {
    enabled      = false
  }

  databases = [{
    name = "zamp-pocs"
  }]

  users = [{
    name     = "zamp",
    password = "zamp@2057"
  }]

  settings = {
    disk_size = "20"
    tier      = "db-f1-micro"
    disk_type = "PD_SSD"
    ip_configuration = {
      ipv4_enabled = true
      authorized_networks = [{
        name  = "allow-all",
        range = "0.0.0.0/0"
      }]
    }
  }
}

Requirements

Name Version
terraform >= 0.14
google 5.24.0

Providers

Name Version
google 5.24.0
google-beta n/a

Modules

No modules.

Resources

Name Type
google-beta_google_compute_global_address.this resource
google-beta_google_service_networking_connection.this resource
google-beta_google_sql_database_instance.this resource
google_sql_database.this resource
google_sql_user.this resource

Inputs

Name Description Type Default Required
database_version n/a string n/a yes
databases n/a
list(object({
name = string
}))
n/a yes
deletion_protection n/a bool n/a yes
name n/a string n/a yes
private_network n/a
object({
enabled = bool
purpose = optional(string)
address_type = optional(string)
})
{
"address_type": "INTERNAL",
"enabled": false,
"purpose": "VPC_PEERING"
}
no
project n/a string n/a yes
region n/a string n/a yes
root_password n/a string "" no
settings n/a
object({
tier = string
data_cache_config = optional(object({
data_cache_enabled = bool
}))
edition = optional(string)
ip_configuration = object({
ipv4_enabled = bool
private_network = optional(string)
enable_private_path_for_google_cloud_services = optional(bool)
authorized_networks = list(object({
name = string
range = string
}))
})
disk_size = string
disk_type = string
})
n/a yes
users n/a
list(object({
name = string
password : string
}))
n/a yes

Outputs

Name Description
instance n/a

About

Why complicate things if we can simplify?

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HCL 100.0%