{"id":18746054,"url":"https://github.com/fscm/terraform-module-aws-vpc","last_synced_at":"2026-04-20T14:01:42.107Z","repository":{"id":202050344,"uuid":"83149204","full_name":"fscm/terraform-module-aws-vpc","owner":"fscm","description":"Terraform Module to create a VPC on AWS","archived":false,"fork":false,"pushed_at":"2022-01-03T16:15:17.000Z","size":22,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-30T05:55:41.725Z","etag":null,"topics":["aws","terraform","terraform-module","vpc"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fscm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-02-25T17:30:03.000Z","updated_at":"2022-01-03T16:15:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"75fd35aa-f29a-4238-9a47-cde23ea565f1","html_url":"https://github.com/fscm/terraform-module-aws-vpc","commit_stats":null,"previous_names":["fscm/terraform-module-aws-vpc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fscm/terraform-module-aws-vpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fterraform-module-aws-vpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fterraform-module-aws-vpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fterraform-module-aws-vpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fterraform-module-aws-vpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fscm","download_url":"https://codeload.github.com/fscm/terraform-module-aws-vpc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fscm%2Fterraform-module-aws-vpc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32050451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T11:35:06.609Z","status":"ssl_error","status_checked_at":"2026-04-20T11:34:48.899Z","response_time":94,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","terraform","terraform-module","vpc"],"created_at":"2024-11-07T16:20:40.993Z","updated_at":"2026-04-20T14:01:42.057Z","avatar_url":"https://github.com/fscm.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VPC Terraform Module\n\nA terraform module to create a VPC in AWS.\n\n## Prerequisites\n\nTerraform and AWS Command Line Interface tools need to be installed on your\nlocal computer.\n\n### Terraform\n\nTerraform version 0.10.3 or higher is required.\n\nTerraform installation instructions can be found\n[here](https://www.terraform.io/intro/getting-started/install.html).\n\n### AWS Command Line Interface\n\nAWS Command Line Interface installation instructions can be found [here](http://docs.aws.amazon.com/cli/latest/userguide/installing.html).\n\n## Module Input Variables\n\n- `cidr` - The CIDR block for the VPC. *[default value: '10.0.0.0/16']*\n- `domain_name` - The domain name to use by default when resolving non Fully Qualified Domain Name of the VPC instance(s). If set to anything other than an empty string it will create a private DNS zone for that domain. *[default value: '']*\n- `domain_name_servers` - List of name servers to be added to the '/etc/resolv.conf' file of the VPC instance(s). *[default value: '[\"AmazonProvidedDNS\"]']*\n- `enable_dns_hostnames` - Should be true if you want to have custom DNS hostnames within the VPC. *[default value: true]*\n- `enable_dns_support` - Should be true if you want to have DNS support within the VPC. *[default value: true]*\n- `enable_s3_endpoint` - Should be true if you want to provision an S3 endpoint within the VPC. *[default value: false]*\n- `instance_tenancy` - The tenancy option for instances launched into the VPC. *[default value: 'default']*\n- `name` - The name for the VPC. *[default value: 'default']*\n- `prefix` - A prefix to prepend to the VPC name. *[default value: '']*\n- `private_subnets` - List of private subnet CIDRs for the VPC (e.g.: ['10.0.0.128/25']). *[default value: []]*\n- `public_subnets` - List of public subnet CIDRs for this VPC (e.g.: ['10.0.0.0/25']). *[default value: []]*\n- `private_subnets_amount` - Number of private subnet to create (only if `private_subnets` and `public_subnets` are both empty). *[default value: '1']*\n- `public_subnets_amount` - Number of public subnet to create (only if `private_subnets` and `public_subnets` are both empty. *[default value: '1']*\n- `single_nat_gateway` - Should be true if you want to have only one NAT Gateway for all subnets, false if you want to have one NAT Gateway per subnet. *[default value: true]*\n\n## Usage\n\nExample with custom defined subnets:\n\n```hcl\nmodule \"my_vpc\" {\n  source          = \"github.com/fscm/terraform-module-aws-vpc\"\n  cidr            = \"10.0.0.0/16\"\n  domain          = \"mydomain.tld\"\n  name            = \"vpc\"\n  prefix          = \"mycompany-\"\n  private_subnets = [\"10.0.1.0/24\", \"10.0.2.0/24\", \"10.0.3.0/24\"]\n  public_subnets  = [\"10.0.101.0/24\", \"10.0.102.0/24\", \"10.0.103.0/24\"]\n}\n```\n\nExample with automatically generated subnets:\n\n```hcl\nmodule \"my_vpc\" {\n  source                 = \"github.com/fscm/terraform-module-aws-vpc\"\n  cidr                   = \"10.0.0.0/16\"\n  domain                 = \"mydomain.tld\"\n  name                   = \"vpc\"\n  prefix                 = \"mycompany-\"\n  private_subnets_amount = \"3\"\n  public_subnets_amount  = \"3\"\n}\n```\n\n## Outputs\n\n- `cidr` - **[type: string]** The CIDR block of the VPC.\n- `default_network_acl_id` - **[type: string]** The ID of the network ACL created by default on VPC creation.\n- `default_route_table_id` - **[type: string]** The ID of the route table created by default on VPC creation.\n- `default_security_group_id` - **[type: string]** The ID of the security group created by default on VPC creation.\n- `dns_zone_id` - **[type: string]** The ID of the private DNS zone of the VPC.\n- `dns_resolvers` - **[type: list]** List of the private resolvers of the VPC.\n- `domain_name` - **[type: string]** The suffix domain name to use by default when resolving non Fully Qualified Domain Names.\n- `id` - **[type: string]** The ID of the VPC.\n- `igw_id` - **[type: string]** The ID of the Internet Gateway.\n- `ipv6_association_id` - **[type: string]** The association ID for the IPv6 CIDR block.\n- `ipv6_cidr_block` - **[type: string]** The IPv6 CIDR block.\n- `main_route_table_id` - **[type: string]** The ID of the main route table associated with this VPC.\n- `name` - **[type: string]** The VPC name.\n- `nat_eip` - **[type: list]** List of the NATs public IP addresses.\n- `nat_gw_id`- **[type: list]** List of the NATs.\n- `prefix` - **[type: string]** The VPC prefix.\n- `private_route_table_id` - **[type: list]** List of the private routing table IDs.\n- `private_subnets` - **[type: list]** List of the private subnet IDs.\n- `public_route_table_id` - **[type: list]** List of the public routing table IDs.\n- `public_subnets` - **[type: list]** List of the public subnet IDs.\n- `s3_endpoint_id` - **[type: string]** The ID of the S3 endpoint.\n- `s3_endpoint_state` - **[type: string]** The state of the VPC endpoint.\n\n## VPC Access\n\nThis modules provides a security group that will allow access between the VPC\ninstances on all ports and protocols.\n\nTo obtain the ID of that group use the value of the output variable\n`default_security_group_id`.\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b my-new-feature`\n3. Commit your changes: `git commit -am 'Add some feature'`\n4. Push to the branch: `git push origin my-new-feature`\n5. Submit a pull request\n\nPlease read the [CONTRIBUTING.md](CONTRIBUTING.md) file for more details on how\nto contribute to this project.\n\n## Versioning\n\nThis project uses [SemVer](http://semver.org/) for versioning. For the versions\navailable, see the [tags on this repository](https://github.com/fscm/terraform-module-aws-vpc/tags).\n\n## Authors\n\n* **Frederico Martins** - [fscm](https://github.com/fscm)\n\nSee also the list of [contributors](https://github.com/fscm/terraform-module-aws-vpc/contributors)\nwho participated in this project.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE)\nfile for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffscm%2Fterraform-module-aws-vpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffscm%2Fterraform-module-aws-vpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffscm%2Fterraform-module-aws-vpc/lists"}