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 Group
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
34 ipv6_cidr_blocks = ["::/0"]
38 for_each = var.security_group_ingress
40 from_port = lookup(ingress.value, "from_port", null)
41 to_port = lookup(ingress.value, "to_port", null)
42 protocol = lookup(ingress.value, "protocol", null)
43 self = lookup(ingress.value, "self", null)
44 cidr_blocks = lookup(ingress.value, "cidr_blocks", null)
45 ipv6_cidr_blocks = lookup(ingress.value, "ipv6_cidr_blocks", null)
49 for_each = var.security_group_egress
51 from_port = lookup(egress.value, "from_port", null)
52 to_port = lookup(egress.value, "to_port", null)
53 protocol = lookup(egress.value, "protocol", null)
54 self = lookup(egress.value, "self", null)
55 cidr_blocks = lookup(egress.value, "cidr_blocks", null)
56 ipv6_cidr_blocks = lookup(egress.value, "ipv6_cidr_blocks", null)
61 # Create Internet Gateway
62 resource "aws_internet_gateway" "internet_gateway" {
67 vpc_id = aws_vpc.vpc.id
71 resource "aws_route" "route" {
74 aws_internet_gateway.internet_gateway
76 destination_cidr_block = "0.0.0.0/0"
77 gateway_id = aws_internet_gateway.internet_gateway.id
78 route_table_id = aws_vpc.vpc.main_route_table_id
82 resource "aws_subnet" "subnet" {
86 assign_ipv6_address_on_creation = var.subnet_assign_ipv6_address_on_creation
87 availability_zone = var.subnet_availability_zone
88 cidr_block = aws_vpc.vpc.cidr_block
89 ipv6_cidr_block = cidrsubnet(aws_vpc.vpc.ipv6_cidr_block, 8, 1)
90 map_public_ip_on_launch = var.subnet_map_public_ip_on_launch
92 vpc_id = aws_vpc.vpc.id