2023-03-28 22:48:58 +00:00
|
|
|
# Copyright (c) HashiCorp, Inc.
|
|
|
|
# SPDX-License-Identifier: MPL-2.0
|
|
|
|
|
2020-10-06 01:16:09 +00:00
|
|
|
terraform {
|
|
|
|
required_version = ">= 0.13"
|
|
|
|
}
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
# Create variables and ssh keys
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
resource "random_pet" "test" {
|
|
|
|
}
|
|
|
|
|
|
|
|
locals {
|
|
|
|
random_name = "${var.cluster_name}-${random_pet.test.id}"
|
|
|
|
}
|
|
|
|
|
|
|
|
module "keys" {
|
|
|
|
name = local.random_name
|
|
|
|
path = "${path.root}/keys"
|
|
|
|
source = "mitchellh/dynamic-keys/aws"
|
|
|
|
version = "v2.0.0"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
# Create VPC with public and also private subnets
|
|
|
|
# ---------------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
module "vpc" {
|
|
|
|
source = "terraform-aws-modules/vpc/aws"
|
|
|
|
version = "2.21.0"
|
|
|
|
|
|
|
|
name = "${local.random_name}-${var.vpc_name}"
|
|
|
|
cidr = var.vpc_cidr
|
|
|
|
azs = var.vpc_az
|
|
|
|
public_subnets = var.public_subnet_cidrs
|
|
|
|
private_subnets = var.private_subnet_cidrs
|
|
|
|
enable_nat_gateway = true
|
|
|
|
}
|