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.
- Host: GitHub
- URL: https://github.com/gucasassi/terraform-aws-vpc
- Owner: gucasassi
- License: gpl-3.0
- Created: 2025-02-11T07:50:34.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-02-11T11:47:18.000Z (8 months ago)
- Last Synced: 2025-02-11T12:25:55.813Z (8 months ago)
- Topics: aws-vpc, terraform, terraform-module
- Language: HCL
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
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)` |[| no |
"10.0.0.0/22",
"10.0.4.0/22"
]
| [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. |