scottslowe-learning-tools/terraform/aws/ic-module/modules/vpc/main.tf
Scott Lowe 5645144589
Update formatting
Update formatting of all Terraform configuration files per `terraform fmt`

Signed-off-by: Scott Lowe <scott.lowe@scottlowe.org>
2017-10-18 11:52:09 -06:00

52 lines
1.5 KiB
HCL

# Create a new VPC
resource "aws_vpc" "vpc" {
cidr_block = "${var.vpc_cidr_block}"
enable_dns_hostnames = "${var.vpc_dns_hostnames}"
enable_dns_support = "${var.vpc_dns_support}"
tags {
Name = "${var.name}_vpc"
tool = "terraform"
}
}
# Modify default VPC security group to allow inbound SSH
resource "aws_security_group_rule" "allow_ssh" {
type = "ingress"
from_port = 22
to_port = 22
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
security_group_id = "${aws_vpc.vpc.default_security_group_id}"
}
# Create a new Internet gateway
resource "aws_internet_gateway" "gateway" {
vpc_id = "${aws_vpc.vpc.id}"
tags {
Name = "${var.name}_igw"
tool = "terraform"
}
}
# Add default route to VPC's main route table
resource "aws_route" "default_route" {
route_table_id = "${aws_vpc.vpc.main_route_table_id}"
destination_cidr_block = "0.0.0.0/0"
gateway_id = "${aws_internet_gateway.gateway.id}"
}
# Create a public subnet in the new VPC
resource "aws_subnet" "subnet" {
count = "${length(data.aws_availability_zones.az_list.names)}"
vpc_id = "${aws_vpc.vpc.id}"
cidr_block = "${cidrsubnet(var.vpc_cidr_block, 4, count.index)}"
availability_zone = "${element(data.aws_availability_zones.az_list.names, count.index)}"
map_public_ip_on_launch = "${var.subnet_map_pub_ip}"
tags {
Name = "${var.name}_subnet_${count.index}"
tool = "terraform"
}
}