1terraform { 2 required_version = ">= 0.13" 3} 4# --------------------------------------------------------------------------------------------------------------------- 5# Create variables and ssh keys 6# --------------------------------------------------------------------------------------------------------------------- 7 8resource "random_pet" "test" { 9} 10 11locals { 12 random_name = "${var.cluster_name}-${random_pet.test.id}" 13} 14 15module "keys" { 16 name = local.random_name 17 path = "${path.root}/keys" 18 source = "mitchellh/dynamic-keys/aws" 19 version = "v2.0.0" 20} 21 22 23# --------------------------------------------------------------------------------------------------------------------- 24# Create VPC with public and also private subnets 25# --------------------------------------------------------------------------------------------------------------------- 26 27module "vpc" { 28 source = "terraform-aws-modules/vpc/aws" 29 version = "2.21.0" 30 31 name = "${local.random_name}-${var.vpc_name}" 32 cidr = var.vpc_cidr 33 azs = var.vpc_az 34 public_subnets = var.public_subnet_cidrs 35 private_subnets = var.private_subnet_cidrs 36 enable_nat_gateway = true 37} 38