diff --git a/tf-modulised/.gitignore b/tf-modulised/.gitignore new file mode 100644 index 0000000..4c6b761 --- /dev/null +++ b/tf-modulised/.gitignore @@ -0,0 +1,4 @@ +*.tfstate +*.tfstate.backup +terraform.tfvars +.terraform diff --git a/tf-modulised/vpc-subnets/provider.tf b/tf-modulised/vpc-subnets/provider.tf new file mode 100644 index 0000000..843e184 --- /dev/null +++ b/tf-modulised/vpc-subnets/provider.tf @@ -0,0 +1,10 @@ +variable "aws_access_key" {} +variable "aws_secret_key" {} +variable "aws_region" {} + +provider "aws" { + access_key = var.aws_access_key + secret_key = var.aws_secret_key + region = var.aws_region + version = ">= 2.28.1" +} diff --git a/tf-modulised/vpc-subnets/vpc.tf b/tf-modulised/vpc-subnets/vpc.tf new file mode 100644 index 0000000..74f1a4b --- /dev/null +++ b/tf-modulised/vpc-subnets/vpc.tf @@ -0,0 +1,27 @@ +data "aws_availability_zones" "available" {} + +resource "random_string" "suffix" { + length = 4 + special = false +} + +module "vpc" { + source = "terraform-aws-modules/vpc/aws" + version = "2.6.0" + + name = "demo-vpc-${random_string.suffix.result}" + cidr = "172.16.0.0/16" + azs = data.aws_availability_zones.available.names + private_subnets = ["172.16.1.0/24", "172.16.2.0/24", "172.16.3.0/24"] + public_subnets = ["172.16.4.0/24", "172.16.5.0/24", "172.16.6.0/24"] + enable_nat_gateway = true + single_nat_gateway = true + enable_dns_hostnames = true + + tags = { + "owner" = "KF" + "terraform" = "initial-deployment-only" + } + +} +