Skip to content

Commit def6f3e

Browse files
committed
first commit
0 parents  commit def6f3e

File tree

4 files changed

+73
-0
lines changed

4 files changed

+73
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# AWS Aurora Postgresql - No-Code Provisioning Module

main.tf

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
provider "aws" {
2+
region = var.region
3+
}
4+
5+
resource "random_password" "master" {
6+
length = 16
7+
special = true
8+
}
9+
10+
resource "aws_rds_cluster" "aurora_pg" {
11+
cluster_identifier = "aurora-${var.db_name}"
12+
engine = "aurora-postgresql"
13+
master_username = "admin"
14+
master_password = random_password.master.result
15+
database_name = var.db_name
16+
skip_final_snapshot = true
17+
}
18+
19+
resource "aws_rds_cluster_instance" "aurora_pg_instance" {
20+
count = 1
21+
identifier = "aurora-${var.db_name}-instance"
22+
cluster_identifier = aws_rds_cluster.aurora_pg.id
23+
instance_class = var.instance_class
24+
engine = aws_rds_cluster.aurora_pg.engine
25+
}

outputs.tf

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
output "admin_username" {
2+
description = "The admin username"
3+
value = aws_rds_cluster.aurora_pg.master_username
4+
sensitive = true
5+
}
6+
7+
output "admin_password" {
8+
description = "The admin password"
9+
value = random_password.master.result
10+
sensitive = true
11+
}
12+
13+
output "db_name" {
14+
description = "Database instance name"
15+
value = var.db_name
16+
sensitive = true
17+
}
18+
19+
output "db_connection_string" {
20+
description = "Database connection string"
21+
value = "postgresql://${aws_rds_cluster.aurora_pg.master_username}:${random_password.master.result}@${aws_rds_cluster.aurora_pg.endpoint}:${aws_rds_cluster.aurora_pg.port}/${var.db_name}"
22+
sensitive = true
23+
}

variables.tf

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
variable "db_name" {
2+
description = "Database Name"
3+
type = string
4+
}
5+
6+
variable "region" {
7+
description = "AWS Region"
8+
type = string
9+
default = "us-east-2"
10+
validation {
11+
condition = contains(["us-east-1", "us-east-2", "us-west-2", "eu-west-1"], var.region)
12+
error_message = "Supported regions: us-east-1, us-east-2, us-west-2, eu-west-1"
13+
}
14+
}
15+
16+
variable "instance_class" {
17+
description = "Instance Size"
18+
type = string
19+
default = "db.r6g.large"
20+
validation {
21+
condition = contains(["db.r6g.large", "db.r6g.xlarge", "db.r6g.2xlarge"], var.instance_class)
22+
error_message = "Supported sizes: db.r6g.large, db.r6g.xlarge, db.r6g.2xlarge"
23+
}
24+
}

0 commit comments

Comments
 (0)