An open API service indexing awesome lists of open source software.

https://github.com/gucasassi/terraform-aws-vpc

This repository contains a terraform module for creating and configuring a VPC in AWS.
https://github.com/gucasassi/terraform-aws-vpc

aws-vpc terraform terraform-module

Last synced: 6 months ago
JSON representation

This repository contains a terraform module for creating and configuring a VPC in AWS.

Awesome Lists containing this project

README

          

# terraform-aws-vpc
This repository contains a Terraform module for creating and configuring a VPC in AWS with native IPv6 support. It is designed to simplify cloud infrastructure deployment.

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | ~> 1.5.4 |
| [aws](#requirement\_aws) | >= 5.27 |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | 5.86.1 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [aws_default_route_table.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/default_route_table) | resource |
| [aws_eip.ngw](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/eip) | resource |
| [aws_internet_gateway.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/internet_gateway) | resource |
| [aws_nat_gateway.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/nat_gateway) | resource |
| [aws_route_table.private](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table) | resource |
| [aws_route_table_association.private](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table_association) | resource |
| [aws_route_table_association.public](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table_association) | resource |
| [aws_subnet.private](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet) | resource |
| [aws_subnet.public](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet) | resource |
| [aws_vpc.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc) | resource |
| [aws_availability_zones.available](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [cidr\_block](#input\_cidr\_block) | The IPv4 CIDR block for the VPC. If not provided, a default CIDR block will be used. | `string` | `"10.0.0.0/16"` | no |
| [enable\_dns\_hostnames](#input\_enable\_dns\_hostnames) | Set to true to enable DNS hostnames for the instances launched in the VPC. | `bool` | `true` | no |
| [enable\_dns\_support](#input\_enable\_dns\_support) | Set to true to enable DNS support within the VPC. | `bool` | `true` | no |
| [extra\_tags](#input\_extra\_tags) | A map of extra tags to add to all resources created by the module. | `map(string)` | `{}` | no |
| [map\_public\_ip\_on\_launch](#input\_map\_public\_ip\_on\_launch) | Set to true to assign public IP addresses to instances launched within the subnet. Defaults to `false`. | `bool` | `false` | no |
| [name](#input\_name) | The name of the VPC. | `string` | n/a | yes |
| [private\_subnet\_suffix](#input\_private\_subnet\_suffix) | A suffix to append to the names of the private subnets. | `string` | `"private"` | no |
| [private\_subnets](#input\_private\_subnets) | A list of CIDR blocks for the private subnets to be created inside the VPC. | `list(string)` | `[]` | no |
| [public\_subnet\_suffix](#input\_public\_subnet\_suffix) | A suffix to append to the names of the public subnets. | `string` | `"public"` | no |
| [public\_subnets](#input\_public\_subnets) | A list of CIDR blocks for the public subnets to be created inside the VPC. | `list(string)` |

[
"10.0.0.0/22",
"10.0.4.0/22"
]
| no |
| [single\_nat](#input\_single\_nat) | Provision a single NAT Gateway for all private subnets. Defaults to `true`. | `bool` | `true` | no |

## Outputs

| Name | Description |
|------|-------------|
| [cidr\_block](#output\_cidr\_block) | The CIDR block of the created VPC. |
| [default\_route\_table\_id](#output\_default\_route\_table\_id) | The ID of the default route table. |
| [id](#output\_id) | The unique identifier of the created VPC. Use this ID as a reference in other modules or resources requiring VPC identification. |
| [private\_route\_table\_ids](#output\_private\_route\_table\_ids) | The IDs of the private route tables. |
| [private\_subnet\_ids](#output\_private\_subnet\_ids) | The list of private subnet IDs associated with the created VPC. |
| [public\_subnet\_ids](#output\_public\_subnet\_ids) | The list of public subnet IDs associated with the created VPC. |
| [route\_table\_ids](#output\_route\_table\_ids) | The list of route tables IDs associated with the created VPC. |
| [subnet\_ids](#output\_subnet\_ids) | The list of subnet IDs associated with the created VPC. |