## Module functionality
Creates a VPC with CIDR 10.<cidr_second_octet variable>.0.0/16. By default DNS support in VPC is enabled. Also creates an Internet gateway.

## Requirements

| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0.10 |

## Providers

| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | n/a |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [aws_default_network_acl.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/default_network_acl) | resource |
| [aws_default_security_group.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/default_security_group) | resource |
| [aws_flow_log.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/flow_log) | resource |
| [aws_internet_gateway.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/internet_gateway) | resource |
| [aws_vpc.main](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_cidr_second_octet"></a> [cidr\_second\_octet](#input\_cidr\_second\_octet) | The second octet of CIDR block for the VPC. | `string` | n/a | yes |
| <a name="input_common_tags"></a> [common\_tags](#input\_common\_tags) | Common tags to add for the objects | `map(string)` | <pre>{<br>  "Environment": "Development",<br>  "Scope": "App"<br>}</pre> | no |
| <a name="input_dns"></a> [dns](#input\_dns) | Define DNS options<br>		enable\_support - A boolean flag to enable/disable DNS support in the VPC. Indicates whether the DNS resolution is supported for the VPC.<br>		enable\_hostname - A boolean flag to enable/disable DNS hostnames in the VPC. Indicates whether the instances launched in the VPC get public DNS hostnames. | `map(string)` | <pre>{<br>  "enable_hostnames": true,<br>  "enable_support": true<br>}</pre> | no |
| <a name="input_flow_logs"></a> [flow\_logs](#input\_flow\_logs) | VPC Flow logs configuration | <pre>list(<br>    object(<br>      {<br>        iam_role_arn    = string<br>        log_destination = string<br>        traffic_type    = string<br>      }<br>    )<br>  )</pre> | `null` | no |
| <a name="input_inbound_acl_rules"></a> [inbound\_acl\_rules](#input\_inbound\_acl\_rules) | List of inbound ACL rules | <pre>list(<br>    object(<br>      {<br>        rule_no    = number<br>        action     = string<br>        from_port  = number<br>        to_port    = number<br>        protocol   = string<br>        cidr_block = string<br>      }<br>    )<br>  )</pre> | `[]` | no |
| <a name="input_name_prefix"></a> [name\_prefix](#input\_name\_prefix) | The prefix name of the objects | `string` | n/a | yes |
| <a name="input_outbound_acl_rules"></a> [outbound\_acl\_rules](#input\_outbound\_acl\_rules) | List of outbound ACL rules | <pre>list(<br>    object(<br>      {<br>        rule_no    = number<br>        action     = string<br>        from_port  = number<br>        to_port    = number<br>        protocol   = string<br>        cidr_block = string<br>      }<br>    )<br>  )</pre> | `[]` | no |
| <a name="input_vpc_name"></a> [vpc\_name](#input\_vpc\_name) | The name of vpc after the prefix. vpc by default | `string` | `"vpc"` | no |

## Outputs

| Name | Description |
|------|-------------|
| <a name="output_default_sg"></a> [default\_sg](#output\_default\_sg) | Default security group of the VPC |
| <a name="output_vpc_cidr"></a> [vpc\_cidr](#output\_vpc\_cidr) | The CIDR block of the VPC |
| <a name="output_vpc_id"></a> [vpc\_id](#output\_vpc\_id) | The ID of the VPC |
| <a name="output_vpc_igw"></a> [vpc\_igw](#output\_vpc\_igw) | The IDs of the public subnets. |
