From 81b23d048b14639a07fd73a1eb66212a6aaed452 Mon Sep 17 00:00:00 2001
From: Kenneth <kenneth.tanfa@polytech-lille.net>
Date: Thu, 30 Jan 2025 16:14:33 +0100
Subject: [PATCH] Update terraform to accept ssh communication

---
 README.md                                     |   12 +
 terraform_VPC/Kenneth_Hugo.tfplan             |  Bin 6836 -> 19683 bytes
 terraform_VPC/main.tf                         |  111 +-
 .../terraform.tfstate.d/DEV/terraform.tfstate |  580 ++++++++-
 .../DEV/terraform.tfstate.backup              | 1109 ++++++++++++++++-
 5 files changed, 1747 insertions(+), 65 deletions(-)

diff --git a/README.md b/README.md
index e3551d2..ad81d23 100644
--- a/README.md
+++ b/README.md
@@ -86,6 +86,18 @@ Dans le terminal, se placer au niveau de app.py
 flask app.py 
 ```
 
+## DUMP d'une base locale 
+
+```
+pg_dump -h localhost -U postgres -d mydb -v -f ~/Cours_Architecture_logiciel/web_app/mydb.dump
+```
+
+Aller sur le fichier .dump et faite 
+
+il est nécessaire de retrouver le endpoint sur RDs
+```
+pg_restore -h kennethhugo-dev-rds-instance.cx4q20s8stp5.eu-west-3.rds.amazonaws.com -U postgres -f mydb.dump
+```
 
 ## Sitographie 
 https://medium.com/@samanthasalustri/why-pipenv-is-the-preferred-virtual-environment-tool-for-python-316bc54a5f13
diff --git a/terraform_VPC/Kenneth_Hugo.tfplan b/terraform_VPC/Kenneth_Hugo.tfplan
index 31cd4ad9e69005992844b64bb367dd701303dc70..1f8daf206e001cee7d8cbdf2f8e61d9acc184579 100644
GIT binary patch
delta 18657
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
M^B5Tz^u0km0B$$w4FCWD

delta 5660
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

diff --git a/terraform_VPC/main.tf b/terraform_VPC/main.tf
index 2a354af..e3912a0 100644
--- a/terraform_VPC/main.tf
+++ b/terraform_VPC/main.tf
@@ -43,6 +43,67 @@ data "aws_vpc" "this" {
   }
 }
 
+
+data "aws_subnet" "public" {
+  filter {
+    name   = "tag:Name"
+    values = ["PUBLIC_SUBNET"]
+  }
+}
+
+data "aws_subnet" "private-a" {
+  filter {
+    name   = "tag:Name"
+    values = ["PRIVATE_SUBNET_A"]
+  }
+}
+
+data "aws_subnet" "private-b" {
+  filter {
+    name   = "tag:Name"
+    values = ["PRIVATE_SUBNET_B"]
+  }
+}
+data "aws_vpc" "selected" {
+  filter {
+    name   = "tag:Name"
+    values = ["VPC"]
+  }
+}
+resource "aws_key_pair" "ec2" {
+   key_name   = lower("${var.identifiant}_key")
+   public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdgUoVRIPCQHlBoaz6UfrvQ4gw2sxeV3PIgCmCSXUW+I9beSfrBs4ELbiuUsV33Y8rKRNQBxa60+J0bEwNtIXRARN7bfdVmukoIJ/LBPcj1XzjmcVE4RJCxSRQbiMYnbUG6Ps5m1sMXsGf0WoPuXIsYoRKHa4QtcqSqqm/G/BW4a0Kvwdfww2dYCKhNoniSPAnDGPowQpGzTc3nvO/ED7polY9T1b6kqaw5WSCWic/qUfgJ2Lxn+bus72vgelhqZhFSqJgTL2e3xPmqtmrUO/4U2kjF3YH120syEfvQFIg/PozQqfkupbDPB1Cx7/1ThZLpJT5Dv1I/kCuZQuNNZj7"
+}
+resource "aws_security_group" "ec2" {
+  name        = "${var.identifiant}_SG_EC2"
+  description = "ec2 Security Group"
+  vpc_id      = data.aws_vpc.selected.id
+  tags        = { Name = "${var.identifiant}_SG_EC2" }
+
+  lifecycle {
+    create_before_destroy = true
+  }
+}
+
+resource "aws_security_group_rule" "allow_ec2_to_bastion" {
+  type                     = "ingress"
+  from_port                = 22
+  to_port                  = 22
+  protocol                 = "tcp"
+  source_security_group_id = data.aws_security_group.bastion.id
+  security_group_id        = aws_security_group.ec2.id
+}
+
+resource "aws_security_group_rule" "ssh_api_from_bastion" {
+  type                     = "ingress"
+  from_port                = 22
+  to_port                  = 22
+  protocol                 = "tcp"
+  source_security_group_id = data.aws_security_group.bastion.id
+  security_group_id        = aws_security_group.sg_api.id
+  description              = "SSH from Bastion to API"
+}
+
 ####################################
 # Subnets (A et B) - 2 AZ différentes
 ####################################
@@ -82,16 +143,16 @@ resource "aws_security_group" "sg_client" {
     from_port   = 80
     to_port     = 80
     protocol    = "tcp"
-    cidr_blocks = [var.my_ip] 
-    # var.my_ip = "0.0.0.0/0" par défaut, ou votre IP
+    security_groups  = [data.aws_security_group.bastion.id]
+    //cidr_blocks = [] 
+
   }
 
-  # Autorise tout en sortie
+  # Autorise l'API en sortie 
   egress {
-    from_port   = 0
-    to_port     = 0
-    protocol    = -1
-    cidr_blocks = ["0.0.0.0/0"]
+    from_port   = 80
+    to_port     = 80
+    protocol    = "tcp"
   }
 
   tags = {
@@ -109,14 +170,17 @@ resource "aws_security_group" "sg_api" {
     from_port              = 5000
     to_port                = 5000
     protocol               = "tcp"
-    security_groups        = [aws_security_group.sg_client.id]
+    security_groups        = [aws_security_group.sg_client.id,data.aws_security_group.bastion.id]
   }
-
+    # ON autorise la connexion vers le RDS 
   egress {
-    from_port   = 0
-    to_port     = 0
-    protocol    = -1
+    description = "Allow traffic to RDS (5432)"
+    from_port   = 5432
+    to_port     = 5432
+    protocol    = "tcp"
     cidr_blocks = ["0.0.0.0/0"]
+
+    /*data.aws.subnet.private_subnet_a.cidr_blocks*/
   }
 
   tags = {
@@ -134,7 +198,7 @@ resource "aws_security_group" "sg_rds" {
     from_port       = 5432
     to_port         = 5432
     protocol        = "tcp"
-    security_groups = [aws_security_group.sg_api.id]
+    security_groups = [aws_security_group.sg_api.id, data.aws_security_group.bastion.id]
   }
 
   egress {
@@ -149,6 +213,13 @@ resource "aws_security_group" "sg_rds" {
   }
 }
 
+data "aws_security_group" "bastion" {
+  filter {
+    name   = "tag:Name"
+    values = ["SG_BASTION_EC2"]
+  }
+}
+
 ####################################
 # Instances EC2 : Client et API
 ####################################
@@ -172,6 +243,7 @@ data "aws_ami" "amazon_linux_2" {
 resource "aws_instance" "client" {
   ami                    = data.aws_ami.amazon_linux_2.id
   instance_type          = "t2.micro"
+  key_name               = aws_key_pair.ec2.id
 
   # On la met, par exemple, dans le subnet A
   subnet_id              = aws_subnet.private_subnet_a.id
@@ -186,6 +258,7 @@ resource "aws_instance" "client" {
 resource "aws_instance" "api" {
   ami                    = data.aws_ami.amazon_linux_2.id
   instance_type          = "t2.micro"
+    key_name               = aws_key_pair.ec2.id
 
   # On peut la mettre aussi dans le subnet A (ou B, au choix)
   subnet_id              = aws_subnet.private_subnet_a.id
@@ -212,15 +285,22 @@ resource "aws_db_subnet_group" "this" {
     Name = upper("${var.identifiant}_${terraform.workspace}_RDS_SUBNET_GROUP")
   }
 }
+variable "db_name" {
+  type        = string
+  description = "Nom de la base de données RDS"
+  default     = "mydb_hk"
+}
 
-/*
 resource "aws_db_instance" "mydb" {
   allocated_storage    = 5
   engine               = "postgres"
   engine_version       = "14.15"
-  instance_class       = "db.t2.micro"
+  instance_class       = "db.t3.micro"
   username             = "postgres"
+  db_name                 =  "mydb_HK"
   password             = "mysecretpassword"
+  multi_az = false
+  identifier = lower("${var.identifiant}-${terraform.workspace}-RDS-INSTANCE")
   skip_final_snapshot  = true
   db_subnet_group_name = aws_db_subnet_group.this.name
 
@@ -231,4 +311,3 @@ resource "aws_db_instance" "mydb" {
     Name = upper("${var.identifiant}_${terraform.workspace}_RDS_INSTANCE")
   }
 }
-*/
\ No newline at end of file
diff --git a/terraform_VPC/terraform.tfstate.d/DEV/terraform.tfstate b/terraform_VPC/terraform.tfstate.d/DEV/terraform.tfstate
index 15b71c7..f137cc1 100644
--- a/terraform_VPC/terraform.tfstate.d/DEV/terraform.tfstate
+++ b/terraform_VPC/terraform.tfstate.d/DEV/terraform.tfstate
@@ -1,7 +1,7 @@
 {
   "version": 4,
   "terraform_version": "1.10.5",
-  "serial": 70,
+  "serial": 113,
   "lineage": "eded4345-a67f-9a4a-9ad8-c68c205f47c2",
   "outputs": {},
   "resources": [
@@ -125,6 +125,234 @@
         }
       ]
     },
+    {
+      "mode": "data",
+      "type": "aws_security_group",
+      "name": "bastion",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-0a7ccf14d1b6468fa",
+            "description": "ec2 Security Group",
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "SG_BASTION_EC2"
+                ]
+              }
+            ],
+            "id": "sg-0a7ccf14d1b6468fa",
+            "name": "SG_BASTION_EC2",
+            "tags": {
+              "Name": "SG_BASTION_EC2"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_subnet",
+      "name": "private-a",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-002aaa6589cef6028",
+            "assign_ipv6_address_on_creation": false,
+            "availability_zone": "eu-west-3a",
+            "availability_zone_id": "euw3-az1",
+            "available_ip_address_count": 240,
+            "cidr_block": "10.0.1.0/24",
+            "customer_owned_ipv4_pool": "",
+            "default_for_az": false,
+            "enable_dns64": false,
+            "enable_lni_at_device_index": 0,
+            "enable_resource_name_dns_a_record_on_launch": false,
+            "enable_resource_name_dns_aaaa_record_on_launch": false,
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "PRIVATE_SUBNET_A"
+                ]
+              }
+            ],
+            "id": "subnet-002aaa6589cef6028",
+            "ipv6_cidr_block": "",
+            "ipv6_cidr_block_association_id": "",
+            "ipv6_native": false,
+            "map_customer_owned_ip_on_launch": false,
+            "map_public_ip_on_launch": false,
+            "outpost_arn": "",
+            "owner_id": "920373009484",
+            "private_dns_hostname_type_on_launch": "ip-name",
+            "state": "available",
+            "tags": {
+              "Name": "PRIVATE_SUBNET_A",
+              "Private": "yes"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_subnet",
+      "name": "private-b",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-0fc06a60f4305264c",
+            "assign_ipv6_address_on_creation": false,
+            "availability_zone": "eu-west-3b",
+            "availability_zone_id": "euw3-az2",
+            "available_ip_address_count": 245,
+            "cidr_block": "10.0.2.0/24",
+            "customer_owned_ipv4_pool": "",
+            "default_for_az": false,
+            "enable_dns64": false,
+            "enable_lni_at_device_index": 0,
+            "enable_resource_name_dns_a_record_on_launch": false,
+            "enable_resource_name_dns_aaaa_record_on_launch": false,
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "PRIVATE_SUBNET_B"
+                ]
+              }
+            ],
+            "id": "subnet-0fc06a60f4305264c",
+            "ipv6_cidr_block": "",
+            "ipv6_cidr_block_association_id": "",
+            "ipv6_native": false,
+            "map_customer_owned_ip_on_launch": false,
+            "map_public_ip_on_launch": false,
+            "outpost_arn": "",
+            "owner_id": "920373009484",
+            "private_dns_hostname_type_on_launch": "ip-name",
+            "state": "available",
+            "tags": {
+              "Name": "PRIVATE_SUBNET_B",
+              "Private": "yes"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_subnet",
+      "name": "public",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-0d9d21b769bca92d7",
+            "assign_ipv6_address_on_creation": false,
+            "availability_zone": "eu-west-3a",
+            "availability_zone_id": "euw3-az1",
+            "available_ip_address_count": 248,
+            "cidr_block": "10.0.0.0/24",
+            "customer_owned_ipv4_pool": "",
+            "default_for_az": false,
+            "enable_dns64": false,
+            "enable_lni_at_device_index": 0,
+            "enable_resource_name_dns_a_record_on_launch": false,
+            "enable_resource_name_dns_aaaa_record_on_launch": false,
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "PUBLIC_SUBNET"
+                ]
+              }
+            ],
+            "id": "subnet-0d9d21b769bca92d7",
+            "ipv6_cidr_block": "",
+            "ipv6_cidr_block_association_id": "",
+            "ipv6_native": false,
+            "map_customer_owned_ip_on_launch": false,
+            "map_public_ip_on_launch": false,
+            "outpost_arn": "",
+            "owner_id": "920373009484",
+            "private_dns_hostname_type_on_launch": "ip-name",
+            "state": "available",
+            "tags": {
+              "Name": "PUBLIC_SUBNET",
+              "Private": "no"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_vpc",
+      "name": "selected",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:vpc/vpc-08da87242304c9723",
+            "cidr_block": "10.0.0.0/16",
+            "cidr_block_associations": [
+              {
+                "association_id": "vpc-cidr-assoc-0fd519069ef9f4ba9",
+                "cidr_block": "10.0.0.0/16",
+                "state": "associated"
+              }
+            ],
+            "default": false,
+            "dhcp_options_id": "dopt-06fac3b0fae017c99",
+            "enable_dns_hostnames": false,
+            "enable_dns_support": true,
+            "enable_network_address_usage_metrics": false,
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "VPC"
+                ]
+              }
+            ],
+            "id": "vpc-08da87242304c9723",
+            "instance_tenancy": "default",
+            "ipv6_association_id": "",
+            "ipv6_cidr_block": "",
+            "main_route_table_id": "rtb-06b8cc99d46258d59",
+            "owner_id": "920373009484",
+            "state": null,
+            "tags": {
+              "Name": "VPC"
+            },
+            "timeouts": null
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
     {
       "mode": "data",
       "type": "aws_vpc",
@@ -172,6 +400,127 @@
         }
       ]
     },
+    {
+      "mode": "managed",
+      "type": "aws_db_instance",
+      "name": "mydb",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 2,
+          "attributes": {
+            "address": "kennethhugo-dev-rds-instance.cx4q20s8stp5.eu-west-3.rds.amazonaws.com",
+            "allocated_storage": 5,
+            "allow_major_version_upgrade": null,
+            "apply_immediately": false,
+            "arn": "arn:aws:rds:eu-west-3:920373009484:db:kennethhugo-dev-rds-instance",
+            "auto_minor_version_upgrade": true,
+            "availability_zone": "eu-west-3a",
+            "backup_retention_period": 0,
+            "backup_target": "region",
+            "backup_window": "08:12-08:42",
+            "blue_green_update": [],
+            "ca_cert_identifier": "rds-ca-rsa2048-g1",
+            "character_set_name": "",
+            "copy_tags_to_snapshot": false,
+            "custom_iam_instance_profile": "",
+            "customer_owned_ip_enabled": false,
+            "db_name": "mydb_HK",
+            "db_subnet_group_name": "kennethhugo_dev_rds_subnet_group",
+            "dedicated_log_volume": false,
+            "delete_automated_backups": true,
+            "deletion_protection": false,
+            "domain": "",
+            "domain_auth_secret_arn": "",
+            "domain_dns_ips": [],
+            "domain_fqdn": "",
+            "domain_iam_role_name": "",
+            "domain_ou": "",
+            "enabled_cloudwatch_logs_exports": [],
+            "endpoint": "kennethhugo-dev-rds-instance.cx4q20s8stp5.eu-west-3.rds.amazonaws.com:5432",
+            "engine": "postgres",
+            "engine_lifecycle_support": "open-source-rds-extended-support",
+            "engine_version": "14.15",
+            "engine_version_actual": "14.15",
+            "final_snapshot_identifier": null,
+            "hosted_zone_id": "ZMESEXB7ZGGQ3",
+            "iam_database_authentication_enabled": false,
+            "id": "db-OVJD44ND4UJCBJPN7LPVEZT6CE",
+            "identifier": "kennethhugo-dev-rds-instance",
+            "identifier_prefix": "",
+            "instance_class": "db.t3.micro",
+            "iops": 0,
+            "kms_key_id": "",
+            "latest_restorable_time": "",
+            "license_model": "postgresql-license",
+            "listener_endpoint": [],
+            "maintenance_window": "sun:05:13-sun:05:43",
+            "manage_master_user_password": null,
+            "master_user_secret": [],
+            "master_user_secret_kms_key_id": null,
+            "max_allocated_storage": 0,
+            "monitoring_interval": 0,
+            "monitoring_role_arn": "",
+            "multi_az": false,
+            "nchar_character_set_name": "",
+            "network_type": "IPV4",
+            "option_group_name": "default:postgres-14",
+            "parameter_group_name": "default.postgres14",
+            "password": "mysecretpassword",
+            "performance_insights_enabled": false,
+            "performance_insights_kms_key_id": "",
+            "performance_insights_retention_period": 0,
+            "port": 5432,
+            "publicly_accessible": false,
+            "replica_mode": "",
+            "replicas": [],
+            "replicate_source_db": "",
+            "resource_id": "db-OVJD44ND4UJCBJPN7LPVEZT6CE",
+            "restore_to_point_in_time": [],
+            "s3_import": [],
+            "skip_final_snapshot": true,
+            "snapshot_identifier": null,
+            "status": "available",
+            "storage_encrypted": false,
+            "storage_throughput": 0,
+            "storage_type": "gp2",
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_RDS_INSTANCE"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_RDS_INSTANCE"
+            },
+            "timeouts": null,
+            "timezone": "",
+            "upgrade_storage_config": null,
+            "username": "postgres",
+            "vpc_security_group_ids": [
+              "sg-0501c21c134e1b1e5"
+            ]
+          },
+          "sensitive_attributes": [
+            [
+              {
+                "type": "get_attr",
+                "value": "password"
+              }
+            ]
+          ],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAwLCJkZWxldGUiOjM2MDAwMDAwMDAwMDAsInVwZGF0ZSI6NDgwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMiJ9",
+          "dependencies": [
+            "aws_db_subnet_group.this",
+            "aws_security_group.sg_api",
+            "aws_security_group.sg_client",
+            "aws_security_group.sg_rds",
+            "aws_subnet.private_subnet_a",
+            "aws_subnet.private_subnet_b",
+            "data.aws_availability_zones.available",
+            "data.aws_security_group.bastion",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
     {
       "mode": "managed",
       "type": "aws_db_subnet_group",
@@ -187,8 +536,8 @@
             "name": "kennethhugo_dev_rds_subnet_group",
             "name_prefix": "",
             "subnet_ids": [
-              "subnet-05a7ea15f5fbd3e4b",
-              "subnet-098844236bb248009"
+              "subnet-0052f34d50c7c6db5",
+              "subnet-063715ef5e9c6cb64"
             ],
             "supported_network_types": [
               "IPV4"
@@ -222,7 +571,7 @@
           "schema_version": 1,
           "attributes": {
             "ami": "ami-03f3bb80e24b71cd8",
-            "arn": "arn:aws:ec2:eu-west-3:920373009484:instance/i-0f8f755ae35c0dba8",
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:instance/i-04e9a490e913eb4aa",
             "associate_public_ip_address": false,
             "availability_zone": "eu-west-3a",
             "capacity_reservation_specification": [
@@ -261,7 +610,7 @@
             "host_id": "",
             "host_resource_group_arn": null,
             "iam_instance_profile": "",
-            "id": "i-0f8f755ae35c0dba8",
+            "id": "i-04e9a490e913eb4aa",
             "instance_initiated_shutdown_behavior": "stop",
             "instance_lifecycle": "",
             "instance_market_options": [],
@@ -269,7 +618,7 @@
             "instance_type": "t2.micro",
             "ipv6_address_count": 0,
             "ipv6_addresses": [],
-            "key_name": "",
+            "key_name": "kennethhugo_key",
             "launch_template": [],
             "maintenance_options": [
               {
@@ -291,8 +640,8 @@
             "password_data": "",
             "placement_group": "",
             "placement_partition_number": 0,
-            "primary_network_interface_id": "eni-047b370670f880b31",
-            "private_dns": "ip-10-0-35-86.eu-west-3.compute.internal",
+            "primary_network_interface_id": "eni-043877caa26c09fd3",
+            "private_dns": "ip-10-0-35-75.eu-west-3.compute.internal",
             "private_dns_name_options": [
               {
                 "enable_resource_name_dns_a_record": false,
@@ -300,7 +649,7 @@
                 "hostname_type": "ip-name"
               }
             ],
-            "private_ip": "10.0.35.86",
+            "private_ip": "10.0.35.75",
             "public_dns": "",
             "public_ip": "",
             "root_block_device": [
@@ -313,7 +662,7 @@
                 "tags": {},
                 "tags_all": {},
                 "throughput": 0,
-                "volume_id": "vol-0d1da72e9c08a0cfd",
+                "volume_id": "vol-0018f0ca34c3fd476",
                 "volume_size": 8,
                 "volume_type": "gp2"
               }
@@ -322,7 +671,7 @@
             "security_groups": [],
             "source_dest_check": true,
             "spot_instance_request_id": "",
-            "subnet_id": "subnet-098844236bb248009",
+            "subnet_id": "subnet-063715ef5e9c6cb64",
             "tags": {
               "Name": "KENNETHHUGO_DEV_API_VM"
             },
@@ -336,17 +685,19 @@
             "user_data_replace_on_change": false,
             "volume_tags": null,
             "vpc_security_group_ids": [
-              "sg-05f936ba39fe9b5df"
+              "sg-08abb0531ca48d02b"
             ]
           },
           "sensitive_attributes": [],
           "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwicmVhZCI6OTAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
           "dependencies": [
+            "aws_key_pair.ec2",
             "aws_security_group.sg_api",
             "aws_security_group.sg_client",
             "aws_subnet.private_subnet_a",
             "data.aws_ami.amazon_linux_2",
             "data.aws_availability_zones.available",
+            "data.aws_security_group.bastion",
             "data.aws_vpc.this"
           ]
         }
@@ -362,7 +713,7 @@
           "schema_version": 1,
           "attributes": {
             "ami": "ami-03f3bb80e24b71cd8",
-            "arn": "arn:aws:ec2:eu-west-3:920373009484:instance/i-00ce58fcfd7cbeebb",
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:instance/i-02e813c204183c9ab",
             "associate_public_ip_address": false,
             "availability_zone": "eu-west-3a",
             "capacity_reservation_specification": [
@@ -401,7 +752,7 @@
             "host_id": "",
             "host_resource_group_arn": null,
             "iam_instance_profile": "",
-            "id": "i-00ce58fcfd7cbeebb",
+            "id": "i-02e813c204183c9ab",
             "instance_initiated_shutdown_behavior": "stop",
             "instance_lifecycle": "",
             "instance_market_options": [],
@@ -409,7 +760,7 @@
             "instance_type": "t2.micro",
             "ipv6_address_count": 0,
             "ipv6_addresses": [],
-            "key_name": "",
+            "key_name": "kennethhugo_key",
             "launch_template": [],
             "maintenance_options": [
               {
@@ -431,8 +782,8 @@
             "password_data": "",
             "placement_group": "",
             "placement_partition_number": 0,
-            "primary_network_interface_id": "eni-0951f25c7b057616e",
-            "private_dns": "ip-10-0-35-191.eu-west-3.compute.internal",
+            "primary_network_interface_id": "eni-0ac8c529a1deb3ebb",
+            "private_dns": "ip-10-0-35-59.eu-west-3.compute.internal",
             "private_dns_name_options": [
               {
                 "enable_resource_name_dns_a_record": false,
@@ -440,7 +791,7 @@
                 "hostname_type": "ip-name"
               }
             ],
-            "private_ip": "10.0.35.191",
+            "private_ip": "10.0.35.59",
             "public_dns": "",
             "public_ip": "",
             "root_block_device": [
@@ -453,7 +804,7 @@
                 "tags": {},
                 "tags_all": {},
                 "throughput": 0,
-                "volume_id": "vol-01f8994af25befaff",
+                "volume_id": "vol-0ef9ef21efc35bacc",
                 "volume_size": 8,
                 "volume_type": "gp2"
               }
@@ -462,7 +813,7 @@
             "security_groups": [],
             "source_dest_check": true,
             "spot_instance_request_id": "",
-            "subnet_id": "subnet-098844236bb248009",
+            "subnet_id": "subnet-063715ef5e9c6cb64",
             "tags": {
               "Name": "KENNETHHUGO_DEV_CLIENT_VM"
             },
@@ -476,21 +827,84 @@
             "user_data_replace_on_change": false,
             "volume_tags": null,
             "vpc_security_group_ids": [
-              "sg-043047f953fdfcc59"
+              "sg-046489925f564ec8c"
             ]
           },
           "sensitive_attributes": [],
           "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwicmVhZCI6OTAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
           "dependencies": [
+            "aws_key_pair.ec2",
             "aws_security_group.sg_client",
             "aws_subnet.private_subnet_a",
             "data.aws_ami.amazon_linux_2",
             "data.aws_availability_zones.available",
+            "data.aws_security_group.bastion",
             "data.aws_vpc.this"
           ]
         }
       ]
     },
+    {
+      "mode": "managed",
+      "type": "aws_key_pair",
+      "name": "ec2",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:key-pair/kennethhugo_key",
+            "fingerprint": "a0:93:64:56:10:f9:c5:24:e8:83:68:f5:4f:db:83:fd",
+            "id": "kennethhugo_key",
+            "key_name": "kennethhugo_key",
+            "key_name_prefix": "",
+            "key_pair_id": "key-04e026cd6bf95d78f",
+            "key_type": "rsa",
+            "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdgUoVRIPCQHlBoaz6UfrvQ4gw2sxeV3PIgCmCSXUW+I9beSfrBs4ELbiuUsV33Y8rKRNQBxa60+J0bEwNtIXRARN7bfdVmukoIJ/LBPcj1XzjmcVE4RJCxSRQbiMYnbUG6Ps5m1sMXsGf0WoPuXIsYoRKHa4QtcqSqqm/G/BW4a0Kvwdfww2dYCKhNoniSPAnDGPowQpGzTc3nvO/ED7polY9T1b6kqaw5WSCWic/qUfgJ2Lxn+bus72vgelhqZhFSqJgTL2e3xPmqtmrUO/4U2kjF3YH120syEfvQFIg/PozQqfkupbDPB1Cx7/1ThZLpJT5Dv1I/kCuZQuNNZj7",
+            "tags": {},
+            "tags_all": {}
+          },
+          "sensitive_attributes": [],
+          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_security_group",
+      "name": "ec2",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-021210d8e4366b0bd",
+            "description": "ec2 Security Group",
+            "egress": [],
+            "id": "sg-021210d8e4366b0bd",
+            "ingress": [],
+            "name": "KENNETHHUGO_SG_EC2",
+            "name_prefix": "",
+            "owner_id": "920373009484",
+            "revoke_rules_on_delete": false,
+            "tags": {
+              "Name": "KENNETHHUGO_SG_EC2"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_SG_EC2"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=",
+          "dependencies": [
+            "data.aws_vpc.selected"
+          ],
+          "create_before_destroy": true
+        }
+      ]
+    },
     {
       "mode": "managed",
       "type": "aws_security_group",
@@ -500,24 +914,24 @@
         {
           "schema_version": 1,
           "attributes": {
-            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-05f936ba39fe9b5df",
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-08abb0531ca48d02b",
             "description": "Managed by Terraform",
             "egress": [
               {
                 "cidr_blocks": [
                   "0.0.0.0/0"
                 ],
-                "description": "",
-                "from_port": 0,
+                "description": "Allow traffic to RDS (5432)",
+                "from_port": 5432,
                 "ipv6_cidr_blocks": [],
                 "prefix_list_ids": [],
-                "protocol": "-1",
+                "protocol": "tcp",
                 "security_groups": [],
                 "self": false,
-                "to_port": 0
+                "to_port": 5432
               }
             ],
-            "id": "sg-05f936ba39fe9b5df",
+            "id": "sg-08abb0531ca48d02b",
             "ingress": [
               {
                 "cidr_blocks": [],
@@ -527,7 +941,8 @@
                 "prefix_list_ids": [],
                 "protocol": "tcp",
                 "security_groups": [
-                  "sg-043047f953fdfcc59"
+                  "sg-046489925f564ec8c",
+                  "sg-0a7ccf14d1b6468fa"
                 ],
                 "self": false,
                 "to_port": 5000
@@ -550,6 +965,7 @@
           "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=",
           "dependencies": [
             "aws_security_group.sg_client",
+            "data.aws_security_group.bastion",
             "data.aws_vpc.this"
           ]
         }
@@ -564,35 +980,33 @@
         {
           "schema_version": 1,
           "attributes": {
-            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-043047f953fdfcc59",
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-046489925f564ec8c",
             "description": "Managed by Terraform",
             "egress": [
               {
-                "cidr_blocks": [
-                  "0.0.0.0/0"
-                ],
+                "cidr_blocks": [],
                 "description": "",
-                "from_port": 0,
+                "from_port": 80,
                 "ipv6_cidr_blocks": [],
                 "prefix_list_ids": [],
-                "protocol": "-1",
+                "protocol": "tcp",
                 "security_groups": [],
                 "self": false,
-                "to_port": 0
+                "to_port": 80
               }
             ],
-            "id": "sg-043047f953fdfcc59",
+            "id": "sg-046489925f564ec8c",
             "ingress": [
               {
-                "cidr_blocks": [
-                  "0.0.0.0/0"
-                ],
+                "cidr_blocks": [],
                 "description": "Allow HTTP from anywhere",
                 "from_port": 80,
                 "ipv6_cidr_blocks": [],
                 "prefix_list_ids": [],
                 "protocol": "tcp",
-                "security_groups": [],
+                "security_groups": [
+                  "sg-0a7ccf14d1b6468fa"
+                ],
                 "self": false,
                 "to_port": 80
               }
@@ -613,6 +1027,7 @@
           "sensitive_attributes": [],
           "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=",
           "dependencies": [
+            "data.aws_security_group.bastion",
             "data.aws_vpc.this"
           ]
         }
@@ -627,7 +1042,7 @@
         {
           "schema_version": 1,
           "attributes": {
-            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-0201132761d5986da",
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-0501c21c134e1b1e5",
             "description": "Managed by Terraform",
             "egress": [
               {
@@ -644,7 +1059,7 @@
                 "to_port": 0
               }
             ],
-            "id": "sg-0201132761d5986da",
+            "id": "sg-0501c21c134e1b1e5",
             "ingress": [
               {
                 "cidr_blocks": [],
@@ -654,7 +1069,8 @@
                 "prefix_list_ids": [],
                 "protocol": "tcp",
                 "security_groups": [
-                  "sg-05f936ba39fe9b5df"
+                  "sg-08abb0531ca48d02b",
+                  "sg-0a7ccf14d1b6468fa"
                 ],
                 "self": false,
                 "to_port": 5432
@@ -678,6 +1094,76 @@
           "dependencies": [
             "aws_security_group.sg_api",
             "aws_security_group.sg_client",
+            "data.aws_security_group.bastion",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_security_group_rule",
+      "name": "allow_ec2_to_bastion",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 2,
+          "attributes": {
+            "cidr_blocks": null,
+            "description": null,
+            "from_port": 22,
+            "id": "sgrule-2888270446",
+            "ipv6_cidr_blocks": null,
+            "prefix_list_ids": null,
+            "protocol": "tcp",
+            "security_group_id": "sg-021210d8e4366b0bd",
+            "security_group_rule_id": "sgr-0bd2166515e8bdb08",
+            "self": false,
+            "source_security_group_id": "sg-0a7ccf14d1b6468fa",
+            "timeouts": null,
+            "to_port": 22,
+            "type": "ingress"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDB9LCJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+          "dependencies": [
+            "aws_security_group.ec2",
+            "data.aws_security_group.bastion",
+            "data.aws_vpc.selected"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_security_group_rule",
+      "name": "ssh_api_from_bastion",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 2,
+          "attributes": {
+            "cidr_blocks": null,
+            "description": "SSH from Bastion to API",
+            "from_port": 22,
+            "id": "sgrule-922087700",
+            "ipv6_cidr_blocks": null,
+            "prefix_list_ids": null,
+            "protocol": "tcp",
+            "security_group_id": "sg-08abb0531ca48d02b",
+            "security_group_rule_id": "sgr-021ea52c24d07985f",
+            "self": false,
+            "source_security_group_id": "sg-0a7ccf14d1b6468fa",
+            "timeouts": null,
+            "to_port": 22,
+            "type": "ingress"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDB9LCJzY2hlbWFfdmVyc2lvbiI6IjIifQ==",
+          "dependencies": [
+            "aws_security_group.sg_api",
+            "aws_security_group.sg_client",
+            "data.aws_security_group.bastion",
             "data.aws_vpc.this"
           ]
         }
@@ -692,7 +1178,7 @@
         {
           "schema_version": 1,
           "attributes": {
-            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-098844236bb248009",
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-063715ef5e9c6cb64",
             "assign_ipv6_address_on_creation": false,
             "availability_zone": "eu-west-3a",
             "availability_zone_id": "euw3-az1",
@@ -702,7 +1188,7 @@
             "enable_lni_at_device_index": 0,
             "enable_resource_name_dns_a_record_on_launch": false,
             "enable_resource_name_dns_aaaa_record_on_launch": false,
-            "id": "subnet-098844236bb248009",
+            "id": "subnet-063715ef5e9c6cb64",
             "ipv6_cidr_block": "",
             "ipv6_cidr_block_association_id": "",
             "ipv6_native": false,
@@ -738,7 +1224,7 @@
         {
           "schema_version": 1,
           "attributes": {
-            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-05a7ea15f5fbd3e4b",
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-0052f34d50c7c6db5",
             "assign_ipv6_address_on_creation": false,
             "availability_zone": "eu-west-3b",
             "availability_zone_id": "euw3-az2",
@@ -748,7 +1234,7 @@
             "enable_lni_at_device_index": 0,
             "enable_resource_name_dns_a_record_on_launch": false,
             "enable_resource_name_dns_aaaa_record_on_launch": false,
-            "id": "subnet-05a7ea15f5fbd3e4b",
+            "id": "subnet-0052f34d50c7c6db5",
             "ipv6_cidr_block": "",
             "ipv6_cidr_block_association_id": "",
             "ipv6_native": false,
diff --git a/terraform_VPC/terraform.tfstate.d/DEV/terraform.tfstate.backup b/terraform_VPC/terraform.tfstate.d/DEV/terraform.tfstate.backup
index e31167c..efea968 100644
--- a/terraform_VPC/terraform.tfstate.d/DEV/terraform.tfstate.backup
+++ b/terraform_VPC/terraform.tfstate.d/DEV/terraform.tfstate.backup
@@ -1,9 +1,1114 @@
 {
   "version": 4,
   "terraform_version": "1.10.5",
-  "serial": 61,
+  "serial": 108,
   "lineage": "eded4345-a67f-9a4a-9ad8-c68c205f47c2",
   "outputs": {},
-  "resources": [],
+  "resources": [
+    {
+      "mode": "data",
+      "type": "aws_ami",
+      "name": "amazon_linux_2",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "architecture": "x86_64",
+            "arn": "arn:aws:ec2:eu-west-3::image/ami-03f3bb80e24b71cd8",
+            "block_device_mappings": [
+              {
+                "device_name": "/dev/xvda",
+                "ebs": {
+                  "delete_on_termination": "true",
+                  "encrypted": "false",
+                  "iops": "0",
+                  "snapshot_id": "snap-07655f7a65903bcc5",
+                  "throughput": "0",
+                  "volume_size": "8",
+                  "volume_type": "gp2"
+                },
+                "no_device": "",
+                "virtual_name": ""
+              }
+            ],
+            "boot_mode": "",
+            "creation_date": "2025-01-23T03:26:36.000Z",
+            "deprecation_time": "2025-07-01T00:00:00.000Z",
+            "description": "Amazon Linux 2 AMI 2.0.20250123.4 x86_64 HVM gp2",
+            "ena_support": true,
+            "executable_users": null,
+            "filter": [
+              {
+                "name": "name",
+                "values": [
+                  "amzn2-ami-hvm*"
+                ]
+              },
+              {
+                "name": "owner-alias",
+                "values": [
+                  "amazon"
+                ]
+              }
+            ],
+            "hypervisor": "xen",
+            "id": "ami-03f3bb80e24b71cd8",
+            "image_id": "ami-03f3bb80e24b71cd8",
+            "image_location": "amazon/amzn2-ami-hvm-2.0.20250123.4-x86_64-gp2",
+            "image_owner_alias": "amazon",
+            "image_type": "machine",
+            "imds_support": "",
+            "include_deprecated": false,
+            "kernel_id": "",
+            "most_recent": true,
+            "name": "amzn2-ami-hvm-2.0.20250123.4-x86_64-gp2",
+            "name_regex": null,
+            "owner_id": "137112412989",
+            "owners": null,
+            "platform": "",
+            "platform_details": "Linux/UNIX",
+            "product_codes": [],
+            "public": true,
+            "ramdisk_id": "",
+            "root_device_name": "/dev/xvda",
+            "root_device_type": "ebs",
+            "root_snapshot_id": "snap-07655f7a65903bcc5",
+            "sriov_net_support": "simple",
+            "state": "available",
+            "state_reason": {
+              "code": "UNSET",
+              "message": "UNSET"
+            },
+            "tags": {},
+            "timeouts": null,
+            "tpm_support": "",
+            "uefi_data": null,
+            "usage_operation": "RunInstances",
+            "virtualization_type": "hvm"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_availability_zones",
+      "name": "available",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "all_availability_zones": null,
+            "exclude_names": null,
+            "exclude_zone_ids": null,
+            "filter": null,
+            "group_names": [
+              "eu-west-3-zg-1"
+            ],
+            "id": "eu-west-3",
+            "names": [
+              "eu-west-3a",
+              "eu-west-3b",
+              "eu-west-3c"
+            ],
+            "state": "available",
+            "timeouts": null,
+            "zone_ids": [
+              "euw3-az1",
+              "euw3-az2",
+              "euw3-az3"
+            ]
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_security_group",
+      "name": "bastion",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-0a7ccf14d1b6468fa",
+            "description": "ec2 Security Group",
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "SG_BASTION_EC2"
+                ]
+              }
+            ],
+            "id": "sg-0a7ccf14d1b6468fa",
+            "name": "SG_BASTION_EC2",
+            "tags": {
+              "Name": "SG_BASTION_EC2"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_subnet",
+      "name": "private-a",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-002aaa6589cef6028",
+            "assign_ipv6_address_on_creation": false,
+            "availability_zone": "eu-west-3a",
+            "availability_zone_id": "euw3-az1",
+            "available_ip_address_count": 241,
+            "cidr_block": "10.0.1.0/24",
+            "customer_owned_ipv4_pool": "",
+            "default_for_az": false,
+            "enable_dns64": false,
+            "enable_lni_at_device_index": 0,
+            "enable_resource_name_dns_a_record_on_launch": false,
+            "enable_resource_name_dns_aaaa_record_on_launch": false,
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "PRIVATE_SUBNET_A"
+                ]
+              }
+            ],
+            "id": "subnet-002aaa6589cef6028",
+            "ipv6_cidr_block": "",
+            "ipv6_cidr_block_association_id": "",
+            "ipv6_native": false,
+            "map_customer_owned_ip_on_launch": false,
+            "map_public_ip_on_launch": false,
+            "outpost_arn": "",
+            "owner_id": "920373009484",
+            "private_dns_hostname_type_on_launch": "ip-name",
+            "state": "available",
+            "tags": {
+              "Name": "PRIVATE_SUBNET_A",
+              "Private": "yes"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_subnet",
+      "name": "private-b",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-0fc06a60f4305264c",
+            "assign_ipv6_address_on_creation": false,
+            "availability_zone": "eu-west-3b",
+            "availability_zone_id": "euw3-az2",
+            "available_ip_address_count": 246,
+            "cidr_block": "10.0.2.0/24",
+            "customer_owned_ipv4_pool": "",
+            "default_for_az": false,
+            "enable_dns64": false,
+            "enable_lni_at_device_index": 0,
+            "enable_resource_name_dns_a_record_on_launch": false,
+            "enable_resource_name_dns_aaaa_record_on_launch": false,
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "PRIVATE_SUBNET_B"
+                ]
+              }
+            ],
+            "id": "subnet-0fc06a60f4305264c",
+            "ipv6_cidr_block": "",
+            "ipv6_cidr_block_association_id": "",
+            "ipv6_native": false,
+            "map_customer_owned_ip_on_launch": false,
+            "map_public_ip_on_launch": false,
+            "outpost_arn": "",
+            "owner_id": "920373009484",
+            "private_dns_hostname_type_on_launch": "ip-name",
+            "state": "available",
+            "tags": {
+              "Name": "PRIVATE_SUBNET_B",
+              "Private": "yes"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_subnet",
+      "name": "public",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-0d9d21b769bca92d7",
+            "assign_ipv6_address_on_creation": false,
+            "availability_zone": "eu-west-3a",
+            "availability_zone_id": "euw3-az1",
+            "available_ip_address_count": 248,
+            "cidr_block": "10.0.0.0/24",
+            "customer_owned_ipv4_pool": "",
+            "default_for_az": false,
+            "enable_dns64": false,
+            "enable_lni_at_device_index": 0,
+            "enable_resource_name_dns_a_record_on_launch": false,
+            "enable_resource_name_dns_aaaa_record_on_launch": false,
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "PUBLIC_SUBNET"
+                ]
+              }
+            ],
+            "id": "subnet-0d9d21b769bca92d7",
+            "ipv6_cidr_block": "",
+            "ipv6_cidr_block_association_id": "",
+            "ipv6_native": false,
+            "map_customer_owned_ip_on_launch": false,
+            "map_public_ip_on_launch": false,
+            "outpost_arn": "",
+            "owner_id": "920373009484",
+            "private_dns_hostname_type_on_launch": "ip-name",
+            "state": "available",
+            "tags": {
+              "Name": "PUBLIC_SUBNET",
+              "Private": "no"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "data",
+      "type": "aws_vpc",
+      "name": "this",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:vpc/vpc-08da87242304c9723",
+            "cidr_block": "10.0.0.0/16",
+            "cidr_block_associations": [
+              {
+                "association_id": "vpc-cidr-assoc-0fd519069ef9f4ba9",
+                "cidr_block": "10.0.0.0/16",
+                "state": "associated"
+              }
+            ],
+            "default": false,
+            "dhcp_options_id": "dopt-06fac3b0fae017c99",
+            "enable_dns_hostnames": false,
+            "enable_dns_support": true,
+            "enable_network_address_usage_metrics": false,
+            "filter": [
+              {
+                "name": "tag:Name",
+                "values": [
+                  "VPC"
+                ]
+              }
+            ],
+            "id": "vpc-08da87242304c9723",
+            "instance_tenancy": "default",
+            "ipv6_association_id": "",
+            "ipv6_cidr_block": "",
+            "main_route_table_id": "rtb-06b8cc99d46258d59",
+            "owner_id": "920373009484",
+            "state": null,
+            "tags": {
+              "Name": "VPC"
+            },
+            "timeouts": null
+          },
+          "sensitive_attributes": []
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_db_instance",
+      "name": "mydb",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 2,
+          "attributes": {
+            "address": "kennethhugo-dev-rds-instance.cx4q20s8stp5.eu-west-3.rds.amazonaws.com",
+            "allocated_storage": 5,
+            "allow_major_version_upgrade": null,
+            "apply_immediately": false,
+            "arn": "arn:aws:rds:eu-west-3:920373009484:db:kennethhugo-dev-rds-instance",
+            "auto_minor_version_upgrade": true,
+            "availability_zone": "eu-west-3a",
+            "backup_retention_period": 0,
+            "backup_target": "region",
+            "backup_window": "08:12-08:42",
+            "blue_green_update": [],
+            "ca_cert_identifier": "rds-ca-rsa2048-g1",
+            "character_set_name": "",
+            "copy_tags_to_snapshot": false,
+            "custom_iam_instance_profile": "",
+            "customer_owned_ip_enabled": false,
+            "db_name": "mydb_HK",
+            "db_subnet_group_name": "kennethhugo_dev_rds_subnet_group",
+            "dedicated_log_volume": false,
+            "delete_automated_backups": true,
+            "deletion_protection": false,
+            "domain": "",
+            "domain_auth_secret_arn": "",
+            "domain_dns_ips": [],
+            "domain_fqdn": "",
+            "domain_iam_role_name": "",
+            "domain_ou": "",
+            "enabled_cloudwatch_logs_exports": [],
+            "endpoint": "kennethhugo-dev-rds-instance.cx4q20s8stp5.eu-west-3.rds.amazonaws.com:5432",
+            "engine": "postgres",
+            "engine_lifecycle_support": "open-source-rds-extended-support",
+            "engine_version": "14.15",
+            "engine_version_actual": "14.15",
+            "final_snapshot_identifier": null,
+            "hosted_zone_id": "ZMESEXB7ZGGQ3",
+            "iam_database_authentication_enabled": false,
+            "id": "db-OVJD44ND4UJCBJPN7LPVEZT6CE",
+            "identifier": "kennethhugo-dev-rds-instance",
+            "identifier_prefix": "",
+            "instance_class": "db.t3.micro",
+            "iops": 0,
+            "kms_key_id": "",
+            "latest_restorable_time": "",
+            "license_model": "postgresql-license",
+            "listener_endpoint": [],
+            "maintenance_window": "sun:05:13-sun:05:43",
+            "manage_master_user_password": null,
+            "master_user_secret": [],
+            "master_user_secret_kms_key_id": null,
+            "max_allocated_storage": 0,
+            "monitoring_interval": 0,
+            "monitoring_role_arn": "",
+            "multi_az": false,
+            "nchar_character_set_name": "",
+            "network_type": "IPV4",
+            "option_group_name": "default:postgres-14",
+            "parameter_group_name": "default.postgres14",
+            "password": "mysecretpassword",
+            "performance_insights_enabled": false,
+            "performance_insights_kms_key_id": "",
+            "performance_insights_retention_period": 0,
+            "port": 5432,
+            "publicly_accessible": false,
+            "replica_mode": "",
+            "replicas": [],
+            "replicate_source_db": "",
+            "resource_id": "db-OVJD44ND4UJCBJPN7LPVEZT6CE",
+            "restore_to_point_in_time": [],
+            "s3_import": [],
+            "skip_final_snapshot": true,
+            "snapshot_identifier": null,
+            "status": "available",
+            "storage_encrypted": false,
+            "storage_throughput": 0,
+            "storage_type": "gp2",
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_RDS_INSTANCE"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_RDS_INSTANCE"
+            },
+            "timeouts": null,
+            "timezone": "",
+            "upgrade_storage_config": null,
+            "username": "postgres",
+            "vpc_security_group_ids": [
+              "sg-0501c21c134e1b1e5"
+            ]
+          },
+          "sensitive_attributes": [
+            [
+              {
+                "type": "get_attr",
+                "value": "password"
+              }
+            ]
+          ],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjozMDAwMDAwMDAwMDAwLCJkZWxldGUiOjM2MDAwMDAwMDAwMDAsInVwZGF0ZSI6NDgwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMiJ9",
+          "dependencies": [
+            "aws_db_subnet_group.this",
+            "aws_security_group.sg_api",
+            "aws_security_group.sg_client",
+            "aws_security_group.sg_rds",
+            "aws_subnet.private_subnet_a",
+            "aws_subnet.private_subnet_b",
+            "data.aws_availability_zones.available",
+            "data.aws_security_group.bastion",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_db_subnet_group",
+      "name": "this",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 0,
+          "attributes": {
+            "arn": "arn:aws:rds:eu-west-3:920373009484:subgrp:kennethhugo_dev_rds_subnet_group",
+            "description": "Managed by Terraform",
+            "id": "kennethhugo_dev_rds_subnet_group",
+            "name": "kennethhugo_dev_rds_subnet_group",
+            "name_prefix": "",
+            "subnet_ids": [
+              "subnet-0052f34d50c7c6db5",
+              "subnet-063715ef5e9c6cb64"
+            ],
+            "supported_network_types": [
+              "IPV4"
+            ],
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_RDS_SUBNET_GROUP"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_RDS_SUBNET_GROUP"
+            },
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": [],
+          "private": "bnVsbA==",
+          "dependencies": [
+            "aws_subnet.private_subnet_a",
+            "aws_subnet.private_subnet_b",
+            "data.aws_availability_zones.available",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_instance",
+      "name": "api",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "ami": "ami-03f3bb80e24b71cd8",
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:instance/i-04e9a490e913eb4aa",
+            "associate_public_ip_address": false,
+            "availability_zone": "eu-west-3a",
+            "capacity_reservation_specification": [
+              {
+                "capacity_reservation_preference": "open",
+                "capacity_reservation_target": []
+              }
+            ],
+            "cpu_core_count": 1,
+            "cpu_options": [
+              {
+                "amd_sev_snp": "",
+                "core_count": 1,
+                "threads_per_core": 1
+              }
+            ],
+            "cpu_threads_per_core": 1,
+            "credit_specification": [
+              {
+                "cpu_credits": "standard"
+              }
+            ],
+            "disable_api_stop": false,
+            "disable_api_termination": false,
+            "ebs_block_device": [],
+            "ebs_optimized": false,
+            "enable_primary_ipv6": null,
+            "enclave_options": [
+              {
+                "enabled": false
+              }
+            ],
+            "ephemeral_block_device": [],
+            "get_password_data": false,
+            "hibernation": false,
+            "host_id": "",
+            "host_resource_group_arn": null,
+            "iam_instance_profile": "",
+            "id": "i-04e9a490e913eb4aa",
+            "instance_initiated_shutdown_behavior": "stop",
+            "instance_lifecycle": "",
+            "instance_market_options": [],
+            "instance_state": "running",
+            "instance_type": "t2.micro",
+            "ipv6_address_count": 0,
+            "ipv6_addresses": [],
+            "key_name": "kennethhugo_key",
+            "launch_template": [],
+            "maintenance_options": [
+              {
+                "auto_recovery": "default"
+              }
+            ],
+            "metadata_options": [
+              {
+                "http_endpoint": "enabled",
+                "http_protocol_ipv6": "disabled",
+                "http_put_response_hop_limit": 1,
+                "http_tokens": "optional",
+                "instance_metadata_tags": "disabled"
+              }
+            ],
+            "monitoring": false,
+            "network_interface": [],
+            "outpost_arn": "",
+            "password_data": "",
+            "placement_group": "",
+            "placement_partition_number": 0,
+            "primary_network_interface_id": "eni-043877caa26c09fd3",
+            "private_dns": "ip-10-0-35-75.eu-west-3.compute.internal",
+            "private_dns_name_options": [
+              {
+                "enable_resource_name_dns_a_record": false,
+                "enable_resource_name_dns_aaaa_record": false,
+                "hostname_type": "ip-name"
+              }
+            ],
+            "private_ip": "10.0.35.75",
+            "public_dns": "",
+            "public_ip": "",
+            "root_block_device": [
+              {
+                "delete_on_termination": true,
+                "device_name": "/dev/xvda",
+                "encrypted": false,
+                "iops": 100,
+                "kms_key_id": "",
+                "tags": {},
+                "tags_all": {},
+                "throughput": 0,
+                "volume_id": "vol-0018f0ca34c3fd476",
+                "volume_size": 8,
+                "volume_type": "gp2"
+              }
+            ],
+            "secondary_private_ips": [],
+            "security_groups": [],
+            "source_dest_check": true,
+            "spot_instance_request_id": "",
+            "subnet_id": "subnet-063715ef5e9c6cb64",
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_API_VM"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_API_VM"
+            },
+            "tenancy": "default",
+            "timeouts": null,
+            "user_data": null,
+            "user_data_base64": null,
+            "user_data_replace_on_change": false,
+            "volume_tags": null,
+            "vpc_security_group_ids": [
+              "sg-08abb0531ca48d02b"
+            ]
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwicmVhZCI6OTAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
+          "dependencies": [
+            "aws_key_pair.ec2",
+            "aws_security_group.sg_api",
+            "aws_security_group.sg_client",
+            "aws_subnet.private_subnet_a",
+            "data.aws_ami.amazon_linux_2",
+            "data.aws_availability_zones.available",
+            "data.aws_security_group.bastion",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_instance",
+      "name": "client",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "ami": "ami-03f3bb80e24b71cd8",
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:instance/i-02e813c204183c9ab",
+            "associate_public_ip_address": false,
+            "availability_zone": "eu-west-3a",
+            "capacity_reservation_specification": [
+              {
+                "capacity_reservation_preference": "open",
+                "capacity_reservation_target": []
+              }
+            ],
+            "cpu_core_count": 1,
+            "cpu_options": [
+              {
+                "amd_sev_snp": "",
+                "core_count": 1,
+                "threads_per_core": 1
+              }
+            ],
+            "cpu_threads_per_core": 1,
+            "credit_specification": [
+              {
+                "cpu_credits": "standard"
+              }
+            ],
+            "disable_api_stop": false,
+            "disable_api_termination": false,
+            "ebs_block_device": [],
+            "ebs_optimized": false,
+            "enable_primary_ipv6": null,
+            "enclave_options": [
+              {
+                "enabled": false
+              }
+            ],
+            "ephemeral_block_device": [],
+            "get_password_data": false,
+            "hibernation": false,
+            "host_id": "",
+            "host_resource_group_arn": null,
+            "iam_instance_profile": "",
+            "id": "i-02e813c204183c9ab",
+            "instance_initiated_shutdown_behavior": "stop",
+            "instance_lifecycle": "",
+            "instance_market_options": [],
+            "instance_state": "running",
+            "instance_type": "t2.micro",
+            "ipv6_address_count": 0,
+            "ipv6_addresses": [],
+            "key_name": "kennethhugo_key",
+            "launch_template": [],
+            "maintenance_options": [
+              {
+                "auto_recovery": "default"
+              }
+            ],
+            "metadata_options": [
+              {
+                "http_endpoint": "enabled",
+                "http_protocol_ipv6": "disabled",
+                "http_put_response_hop_limit": 1,
+                "http_tokens": "optional",
+                "instance_metadata_tags": "disabled"
+              }
+            ],
+            "monitoring": false,
+            "network_interface": [],
+            "outpost_arn": "",
+            "password_data": "",
+            "placement_group": "",
+            "placement_partition_number": 0,
+            "primary_network_interface_id": "eni-0ac8c529a1deb3ebb",
+            "private_dns": "ip-10-0-35-59.eu-west-3.compute.internal",
+            "private_dns_name_options": [
+              {
+                "enable_resource_name_dns_a_record": false,
+                "enable_resource_name_dns_aaaa_record": false,
+                "hostname_type": "ip-name"
+              }
+            ],
+            "private_ip": "10.0.35.59",
+            "public_dns": "",
+            "public_ip": "",
+            "root_block_device": [
+              {
+                "delete_on_termination": true,
+                "device_name": "/dev/xvda",
+                "encrypted": false,
+                "iops": 100,
+                "kms_key_id": "",
+                "tags": {},
+                "tags_all": {},
+                "throughput": 0,
+                "volume_id": "vol-0ef9ef21efc35bacc",
+                "volume_size": 8,
+                "volume_type": "gp2"
+              }
+            ],
+            "secondary_private_ips": [],
+            "security_groups": [],
+            "source_dest_check": true,
+            "spot_instance_request_id": "",
+            "subnet_id": "subnet-063715ef5e9c6cb64",
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_CLIENT_VM"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_CLIENT_VM"
+            },
+            "tenancy": "default",
+            "timeouts": null,
+            "user_data": null,
+            "user_data_base64": null,
+            "user_data_replace_on_change": false,
+            "volume_tags": null,
+            "vpc_security_group_ids": [
+              "sg-046489925f564ec8c"
+            ]
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwicmVhZCI6OTAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
+          "dependencies": [
+            "aws_key_pair.ec2",
+            "aws_security_group.sg_client",
+            "aws_subnet.private_subnet_a",
+            "data.aws_ami.amazon_linux_2",
+            "data.aws_availability_zones.available",
+            "data.aws_security_group.bastion",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_key_pair",
+      "name": "ec2",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:key-pair/kennethhugo_key",
+            "fingerprint": "a0:93:64:56:10:f9:c5:24:e8:83:68:f5:4f:db:83:fd",
+            "id": "kennethhugo_key",
+            "key_name": "kennethhugo_key",
+            "key_name_prefix": "",
+            "key_pair_id": "key-04e026cd6bf95d78f",
+            "key_type": "rsa",
+            "public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdgUoVRIPCQHlBoaz6UfrvQ4gw2sxeV3PIgCmCSXUW+I9beSfrBs4ELbiuUsV33Y8rKRNQBxa60+J0bEwNtIXRARN7bfdVmukoIJ/LBPcj1XzjmcVE4RJCxSRQbiMYnbUG6Ps5m1sMXsGf0WoPuXIsYoRKHa4QtcqSqqm/G/BW4a0Kvwdfww2dYCKhNoniSPAnDGPowQpGzTc3nvO/ED7polY9T1b6kqaw5WSCWic/qUfgJ2Lxn+bus72vgelhqZhFSqJgTL2e3xPmqtmrUO/4U2kjF3YH120syEfvQFIg/PozQqfkupbDPB1Cx7/1ThZLpJT5Dv1I/kCuZQuNNZj7",
+            "tags": null,
+            "tags_all": {}
+          },
+          "sensitive_attributes": [],
+          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_security_group",
+      "name": "sg_api",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-08abb0531ca48d02b",
+            "description": "Managed by Terraform",
+            "egress": [
+              {
+                "cidr_blocks": [
+                  "0.0.0.0/0"
+                ],
+                "description": "Allow traffic to RDS (5432)",
+                "from_port": 5432,
+                "ipv6_cidr_blocks": [],
+                "prefix_list_ids": [],
+                "protocol": "tcp",
+                "security_groups": [],
+                "self": false,
+                "to_port": 5432
+              }
+            ],
+            "id": "sg-08abb0531ca48d02b",
+            "ingress": [
+              {
+                "cidr_blocks": [],
+                "description": "Allow API requests from client",
+                "from_port": 5000,
+                "ipv6_cidr_blocks": [],
+                "prefix_list_ids": [],
+                "protocol": "tcp",
+                "security_groups": [
+                  "sg-046489925f564ec8c",
+                  "sg-0a7ccf14d1b6468fa"
+                ],
+                "self": false,
+                "to_port": 5000
+              }
+            ],
+            "name": "KENNETHHUGO_DEV_SG_API",
+            "name_prefix": "",
+            "owner_id": "920373009484",
+            "revoke_rules_on_delete": false,
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_SG_API"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_SG_API"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=",
+          "dependencies": [
+            "aws_security_group.sg_client",
+            "data.aws_security_group.bastion",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_security_group",
+      "name": "sg_client",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-046489925f564ec8c",
+            "description": "Managed by Terraform",
+            "egress": [
+              {
+                "cidr_blocks": [],
+                "description": "",
+                "from_port": 80,
+                "ipv6_cidr_blocks": [],
+                "prefix_list_ids": [],
+                "protocol": "tcp",
+                "security_groups": [],
+                "self": false,
+                "to_port": 80
+              }
+            ],
+            "id": "sg-046489925f564ec8c",
+            "ingress": [
+              {
+                "cidr_blocks": [],
+                "description": "Allow HTTP from anywhere",
+                "from_port": 80,
+                "ipv6_cidr_blocks": [],
+                "prefix_list_ids": [],
+                "protocol": "tcp",
+                "security_groups": [
+                  "sg-0a7ccf14d1b6468fa"
+                ],
+                "self": false,
+                "to_port": 80
+              }
+            ],
+            "name": "KENNETHHUGO_DEV_SG_CLIENT",
+            "name_prefix": "",
+            "owner_id": "920373009484",
+            "revoke_rules_on_delete": false,
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_SG_CLIENT"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_SG_CLIENT"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=",
+          "dependencies": [
+            "data.aws_security_group.bastion",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_security_group",
+      "name": "sg_rds",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:security-group/sg-0501c21c134e1b1e5",
+            "description": "Managed by Terraform",
+            "egress": [
+              {
+                "cidr_blocks": [
+                  "0.0.0.0/0"
+                ],
+                "description": "",
+                "from_port": 0,
+                "ipv6_cidr_blocks": [],
+                "prefix_list_ids": [],
+                "protocol": "-1",
+                "security_groups": [],
+                "self": false,
+                "to_port": 0
+              }
+            ],
+            "id": "sg-0501c21c134e1b1e5",
+            "ingress": [
+              {
+                "cidr_blocks": [],
+                "description": "Allow Postgres from API",
+                "from_port": 5432,
+                "ipv6_cidr_blocks": [],
+                "prefix_list_ids": [],
+                "protocol": "tcp",
+                "security_groups": [
+                  "sg-08abb0531ca48d02b",
+                  "sg-0a7ccf14d1b6468fa"
+                ],
+                "self": false,
+                "to_port": 5432
+              }
+            ],
+            "name": "KENNETHHUGO_DEV_SG_RDS",
+            "name_prefix": "",
+            "owner_id": "920373009484",
+            "revoke_rules_on_delete": false,
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_SG_RDS"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_SG_RDS"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6OTAwMDAwMDAwMDAwfSwic2NoZW1hX3ZlcnNpb24iOiIxIn0=",
+          "dependencies": [
+            "aws_security_group.sg_api",
+            "aws_security_group.sg_client",
+            "data.aws_security_group.bastion",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_subnet",
+      "name": "private_subnet_a",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-063715ef5e9c6cb64",
+            "assign_ipv6_address_on_creation": false,
+            "availability_zone": "eu-west-3a",
+            "availability_zone_id": "euw3-az1",
+            "cidr_block": "10.0.35.0/24",
+            "customer_owned_ipv4_pool": "",
+            "enable_dns64": false,
+            "enable_lni_at_device_index": 0,
+            "enable_resource_name_dns_a_record_on_launch": false,
+            "enable_resource_name_dns_aaaa_record_on_launch": false,
+            "id": "subnet-063715ef5e9c6cb64",
+            "ipv6_cidr_block": "",
+            "ipv6_cidr_block_association_id": "",
+            "ipv6_native": false,
+            "map_customer_owned_ip_on_launch": false,
+            "map_public_ip_on_launch": false,
+            "outpost_arn": "",
+            "owner_id": "920373009484",
+            "private_dns_hostname_type_on_launch": "ip-name",
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_PRIVATE_SUBNET_A"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_PRIVATE_SUBNET_A"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
+          "dependencies": [
+            "data.aws_availability_zones.available",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    },
+    {
+      "mode": "managed",
+      "type": "aws_subnet",
+      "name": "private_subnet_b",
+      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
+      "instances": [
+        {
+          "schema_version": 1,
+          "attributes": {
+            "arn": "arn:aws:ec2:eu-west-3:920373009484:subnet/subnet-0052f34d50c7c6db5",
+            "assign_ipv6_address_on_creation": false,
+            "availability_zone": "eu-west-3b",
+            "availability_zone_id": "euw3-az2",
+            "cidr_block": "10.0.36.0/24",
+            "customer_owned_ipv4_pool": "",
+            "enable_dns64": false,
+            "enable_lni_at_device_index": 0,
+            "enable_resource_name_dns_a_record_on_launch": false,
+            "enable_resource_name_dns_aaaa_record_on_launch": false,
+            "id": "subnet-0052f34d50c7c6db5",
+            "ipv6_cidr_block": "",
+            "ipv6_cidr_block_association_id": "",
+            "ipv6_native": false,
+            "map_customer_owned_ip_on_launch": false,
+            "map_public_ip_on_launch": true,
+            "outpost_arn": "",
+            "owner_id": "920373009484",
+            "private_dns_hostname_type_on_launch": "ip-name",
+            "tags": {
+              "Name": "KENNETHHUGO_DEV_PRIVATE_SUBNET_B"
+            },
+            "tags_all": {
+              "Name": "KENNETHHUGO_DEV_PRIVATE_SUBNET_B"
+            },
+            "timeouts": null,
+            "vpc_id": "vpc-08da87242304c9723"
+          },
+          "sensitive_attributes": [],
+          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
+          "dependencies": [
+            "data.aws_availability_zones.available",
+            "data.aws_vpc.this"
+          ]
+        }
+      ]
+    }
+  ],
   "check_results": null
 }
-- 
GitLab