3 "Name" = "${var.tags_name}"
4 "Environment" = "${var.tags_environment}"
9 resource "aws_vpc" "vpc" {
10 assign_generated_ipv6_cidr_block = var.vpc_assign_generated_ipv6_cidr_block
11 cidr_block = var.vpc_cidr_block
12 enable_dns_hostnames = var.vpc_enable_dns_hostnames
13 enable_dns_support = var.vpc_enable_dns_support
14 instance_tenancy = var.vpc_instance_tenancy
18 # Create Security Groups
19 resource "aws_security_group" "security_group" {
23 description = var.security_group_description
24 name = var.security_group_name
25 revoke_rules_on_delete = var.security_group_revoke_rules_on_delete
27 vpc_id = aws_vpc.vpc.id
30 for_each = var.security_group_ingress
32 from_port = ingress.value["from_port"]
33 to_port = ingress.value["to_port"]
34 protocol = ingress.value["protocol"]
35 cidr_blocks = ingress.value["cidr_blocks"]
36 ipv6_cidr_blocks = ingress.value["ipv6_cidr_blocks"]
40 for_each = var.security_group_egress
42 from_port = ingress.value["from_port"]
43 to_port = ingress.value["to_port"]
44 protocol = ingress.value["protocol"]
45 cidr_blocks = ingress.value["cidr_blocks"]
46 ipv6_cidr_blocks = ingress.value["ipv6_cidr_blocks"]
52 resource "aws_internet_gateway" "internet_gateway" {
57 vpc_id = aws_vpc.vpc.id
61 resource "aws_route" "route" {
64 aws_internet_gateway.internet_gateway
66 destination_cidr_block = "0.0.0.0/0"
67 gateway_id = aws_internet_gateway.internet_gateway.id
68 route_table_id = aws_vpc.vpc.main_route_table_id
72 resource "aws_subnet" "subnet" {
76 assign_ipv6_address_on_creation = var.subnet_assign_ipv6_address_on_creation
77 availability_zone = var.subnet_availability_zone
78 cidr_block = aws_vpc.vpc.cidr_block
79 ipv6_cidr_block = cidrsubnet(aws_vpc.vpc.ipv6_cidr_block, 8, 1)
80 map_public_ip_on_launch = var.subnet_map_public_ip_on_launch
82 vpc_id = aws_vpc.vpc.id