Skip to content

jgalais/terraform-scaleway-rdb

 
 

Repository files navigation

Terraform / Scaleway

Purpose

This repository is used to manage a Relationnal Database on scaleway using terraform.

Usage

module "my_cluster" {
  source  = "scaleway-terraform-modules/rdb/scaleway"
  version = "0.0.1"

}

Requirements

Name Version
terraform >= 0.13
random >= 3.4.3
scaleway >= 2.3.0

Resources

Name Type
random_password.this resource
scaleway_rdb_instance.this resource
scaleway_rdb_read_replica.this resource

Inputs

Name Description Type Default Required
engine Database Instance's engine version (e.g. PostgreSQL-11). string n/a yes
name Name of the Database Instance string n/a yes
node_type Type of database instance you want to create (e.g. db-dev-s). string n/a yes
user_name Identifier for the first user of the database instance. Warning Changing the user_name will recreate the Database Instance. string n/a yes
backup_disabled Disable automated backup for the database instance. bool false no
backup_same_region Whether logical backups are stored in the same region as the database instance. bool false no
backup_schedule_frequency Backup schedule frequency in hours. number 24 no
backup_schedule_retention Backup schedule retention in days. number 7 no
ha_enabled Enable or disable high availability for the database instance. bool false no
private_network Describes the private network you want to connect to your cluster. If not set, a public network will be provided. object({ pn_id = string ip_net = optional(string) enable_ipam = optional(bool) }) null no
project_id ID of the project the instance is associated with. Ressource will be created in the project set at the provider level if null. string null no
region Region in which the instance should be created. Ressource will be created in the region set at the provider level if null. string null no
replica_enabled Whether to create a read replica or not. bool true no
replica_private_network Describes the private network you want to connect to your read replica. object({ pn_id = string ip_net = string }) null no
replica_region Region in which the replica should be created. Ressource will be created in the same region than the master if null. string null no
settings Database settings configuration map(string) null no
tags Tags associated with the server and dedicated ip address. list(string) [] no
user_password Password for the first user of the database instance. A random password will be generated if null. string null no
volume_size_in_gb Volume size (in GB) when volume_type is set to bssd. Must be a multiple of 5000000000. number null no
volume_type Type of volume where data are stored (bssd or lssd). string "lssd" no

Outputs

Name Description
cluster_certificate PEM Certificate of the database instance.
instance_id ID of the Database Instance.
instance_ip Database instance IP
load_balancer List of load balancer endpoints of the database instance.
replicate_pn Private network attributes of the read replica.
user_password Password generated if non were given.

Authors

Module is maintained with help from the community.

License

Mozilla Public License 2.0 Licensed. See LICENSE for full details.

About

Manage Relational Databases on Scaleway with Terraform.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HCL 100.0%