Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dasmeta/terraform-aws-vpc
Terraform modules from DasMeta to manage AWS VPC and related resources
https://github.com/dasmeta/terraform-aws-vpc
aws module network terraform terraform-module vpc
Last synced: about 2 months ago
JSON representation
Terraform modules from DasMeta to manage AWS VPC and related resources
- Host: GitHub
- URL: https://github.com/dasmeta/terraform-aws-vpc
- Owner: dasmeta
- License: apache-2.0
- Created: 2022-10-21T12:20:17.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-03T09:59:11.000Z (about 1 year ago)
- Last Synced: 2023-11-03T10:36:16.327Z (about 1 year ago)
- Topics: aws, module, network, terraform, terraform-module, vpc
- Language: HCL
- Homepage: www.dasmeta.com
- Size: 30.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# terraform-aws-vpc
## Allows to create vpc setup for using in modules/projects
### example vpc for eks
```hcl
module "vpc" {
source = "dasmeta/eks/aws"
version = "1.0.0"name = "dev"
availability_zones = ["eu-central-1a", "eu-central-1b", "eu-central-1c"]
private_subnets = ["10.16.1.0/24", "10.16.2.0/24", "10.16.3.0/24"]
public_subnets = ["10.16.4.0/24", "10.16.5.0/24", "10.16.6.0/24"]
cidr = "10.16.0.0/16"
public_subnet_tags = {
"kubernetes.io/cluster/dev" = "shared"
"kubernetes.io/role/elb" = "1"
}
private_subnet_tags = {
"kubernetes.io/cluster/dev" = "shared"
"kubernetes.io/role/internal-elb" = "1"
}
}
```## Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13.1 |
| [aws](#requirement\_aws) | >= 4.35 |## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | >= 4.35 |## Modules
| Name | Source | Version |
|------|--------|---------|
| [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | 4.0.2 |## Resources
| Name | Type |
|------|------|
| [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 |
|------|-------------|------|---------|:--------:|
| [availability\_zones](#input\_availability\_zones) | List of VPC availability zones, e.g. ['eu-west-1a', 'eu-west-1b', 'eu-west-1c']. Will get all availability zones in current region if not passed | `list(string)` | `null` | no |
| [cidr](#input\_cidr) | CIDR ip range. | `string` | n/a | yes |
| [enable\_dns\_hostnames](#input\_enable\_dns\_hostnames) | Whether or not to enable dns hostnames. | `bool` | `true` | no |
| [enable\_dns\_support](#input\_enable\_dns\_support) | Whether or not to enable dns support. | `bool` | `true` | no |
| [enable\_nat\_gateway](#input\_enable\_nat\_gateway) | Whether or not to enable NAT Gateway. | `bool` | `true` | no |
| [name](#input\_name) | VPC name. | `string` | n/a | yes |
| [private\_subnet\_tags](#input\_private\_subnet\_tags) | n/a | `map(any)` | `{}` | no |
| [private\_subnets](#input\_private\_subnets) | Private subnets of VPC. | `list(string)` | n/a | yes |
| [public\_subnet\_tags](#input\_public\_subnet\_tags) | n/a | `map(any)` | `{}` | no |
| [public\_subnets](#input\_public\_subnets) | Public subnets of VPC. | `list(string)` | n/a | yes |
| [single\_nat\_gateway](#input\_single\_nat\_gateway) | Whether or not to enable single NAT Gateway. | `bool` | `true` | no |## Outputs
| Name | Description |
|------|-------------|
| [availability\_zones](#output\_availability\_zones) | Availability zone names used for vpc creation |
| [cidr\_block](#output\_cidr\_block) | The cidr block of the vpc |
| [default\_security\_group\_id](#output\_default\_security\_group\_id) | The ID of default security group created |
| [id](#output\_id) | The newly created vpc id |
| [nat\_public\_ips](#output\_nat\_public\_ips) | The list of elastic public IPs |
| [private\_subnets](#output\_private\_subnets) | The newly created vpc private subnets IDs list |
| [public\_subnets](#output\_public\_subnets) | The newly created vpc public subnets IDs list |