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