Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

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

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 |