mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
45 lines
1.3 KiB
HCL
45 lines
1.3 KiB
HCL
terraform {
|
|
required_providers {
|
|
aws = {
|
|
source = "hashicorp/aws"
|
|
version = "~> 4.16"
|
|
}
|
|
}
|
|
backend "s3" {
|
|
bucket = "assessment-model-terraform-state"
|
|
region = "eu-west-2"
|
|
profile="DevAdmin"
|
|
key = "terraform.tfstate"
|
|
}
|
|
|
|
required_version = ">= 1.2.0"
|
|
}
|
|
|
|
provider "aws" {
|
|
profile = var.profile
|
|
region = var.region
|
|
}
|
|
|
|
# Assuming the secret is already created and the name is "<stage>/assessment_model/db_credentials"
|
|
data "aws_secretsmanager_secret" "db_credentials" {
|
|
name = "${var.stage}/assessment_model/db_credentials"
|
|
}
|
|
|
|
data "aws_secretsmanager_secret_version" "db_credentials" {
|
|
secret_id = data.aws_secretsmanager_secret.db_credentials.id
|
|
}
|
|
|
|
resource "aws_db_instance" "default" {
|
|
allocated_storage = var.allocated_storage
|
|
engine = "postgres"
|
|
engine_version = "14.7"
|
|
instance_class = var.instance_class
|
|
db_name = var.database_name
|
|
username = jsondecode(data.aws_secretsmanager_secret_version.db_credentials.secret_string)["db_assessment_model_username"]
|
|
password = jsondecode(data.aws_secretsmanager_secret_version.db_credentials.secret_string)["db_assessment_model_password"]
|
|
parameter_group_name = "default.postgres14"
|
|
skip_final_snapshot = true
|
|
lifecycle {
|
|
prevent_destroy = true
|
|
}
|
|
}
|