Skip to content

Terraform modules from DasMeta to manage AWS VPC and related resources

License

Notifications You must be signed in to change notification settings

dasmeta/terraform-aws-vpc

Repository files navigation

terraform-aws-vpc

Allows to create vpc setup for using in modules/projects

example vpc for eks

module "vpc" {
  source  = "dasmeta/eks/aws"
  version = "1.0.0"

  name = "dev"
  availability_zones = ["eu-central-1a", "eu-central-1b", "eu-central-1c"]
  private_subnets    = ["10.16.1.0/24", "10.16.2.0/24", "10.16.3.0/24"]
  public_subnets     = ["10.16.4.0/24", "10.16.5.0/24", "10.16.6.0/24"]
  cidr               = "10.16.0.0/16"
  public_subnet_tags = {
    "kubernetes.io/cluster/dev" = "shared"
    "kubernetes.io/role/elb"    = "1"
  }
  private_subnet_tags = {
    "kubernetes.io/cluster/dev"       = "shared"
    "kubernetes.io/role/internal-elb" = "1"
  }
}

Requirements

Name Version
terraform >= 0.13.1
aws >= 4.35

Providers

Name Version
aws >= 4.35

Modules

Name Source Version
vpc terraform-aws-modules/vpc/aws 4.0.2

Resources

Name Type
aws_availability_zones.available data source

Inputs

Name Description Type Default Required
availability_zones List of VPC availability zones, e.g. ['eu-west-1a', 'eu-west-1b', 'eu-west-1c']. Will get all availability zones in current region if not passed list(string) null no
cidr CIDR ip range. string n/a yes
enable_dns_hostnames Whether or not to enable dns hostnames. bool true no
enable_dns_support Whether or not to enable dns support. bool true no
enable_nat_gateway Whether or not to enable NAT Gateway. bool true no
name VPC name. string n/a yes
private_subnet_tags n/a map(any) {} no
private_subnets Private subnets of VPC. list(string) n/a yes
public_subnet_tags n/a map(any) {} no
public_subnets Public subnets of VPC. list(string) n/a yes
single_nat_gateway Whether or not to enable single NAT Gateway. bool true no

Outputs

Name Description
availability_zones Availability zone names used for vpc creation
cidr_block The cidr block of the vpc
default_security_group_id The ID of default security group created
id The newly created vpc id
nat_public_ips The list of elastic public IPs
private_subnets The newly created vpc private subnets IDs list
public_subnets The newly created vpc public subnets IDs list