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
30 for_each = var.security_group_ingress
32 from_port = lookup(ingress.value, "from_port", null)
33 to_port = lookup(ingress.value, "to_port", null)
34 protocol = lookup(ingress.value, "protocol", null)
35 self = lookup(ingress.value, "self", null)
36 cidr_blocks = lookup(ingress.value, "cidr_blocks", null)
37 ipv6_cidr_blocks = lookup(ingress.value, "ipv6_cidr_blocks", null)
41 for_each = var.security_group_egress
43 from_port = lookup(egress.value, "from_port", null)
44 to_port = lookup(egress.value, "to_port", null)
45 protocol = lookup(egress.value, "protocol", null)
46 self = lookup(egress.value, "self", null)
47 cidr_blocks = lookup(egress.value, "cidr_blocks", null)
48 ipv6_cidr_blocks = lookup(egress.value, "ipv6_cidr_blocks", null)
53 # Create Internet Gateway
54 resource "aws_internet_gateway" "internet_gateway" {
59 vpc_id = aws_vpc.vpc.id
63 resource "aws_route" "route" {
66 aws_internet_gateway.internet_gateway
68 destination_cidr_block = "0.0.0.0/0"
69 gateway_id = aws_internet_gateway.internet_gateway.id
70 route_table_id = aws_vpc.vpc.main_route_table_id
74 resource "aws_subnet" "subnet" {
78 assign_ipv6_address_on_creation = var.subnet_assign_ipv6_address_on_creation
79 availability_zone = var.subnet_availability_zone
80 cidr_block = aws_vpc.vpc.cidr_block
81 ipv6_cidr_block = cidrsubnet(aws_vpc.vpc.ipv6_cidr_block, 8, 1)
82 map_public_ip_on_launch = var.subnet_map_public_ip_on_launch
84 vpc_id = aws_vpc.vpc.id