{"id":28202149,"url":"https://github.com/opszero/terraform-aws-vpc","last_synced_at":"2026-01-23T06:45:54.622Z","repository":{"id":291688650,"uuid":"974737954","full_name":"opszero/terraform-aws-vpc","owner":"opszero","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-13T04:48:08.000Z","size":81,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-13T05:29:16.143Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opszero.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"SUPPORT","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["abhiyerra"],"custom":["https://www.opszero.com"]}},"created_at":"2025-04-29T08:27:13.000Z","updated_at":"2025-05-13T04:48:06.000Z","dependencies_parsed_at":"2025-05-06T03:35:55.338Z","dependency_job_id":null,"html_url":"https://github.com/opszero/terraform-aws-vpc","commit_stats":null,"previous_names":["opszero/terraform-aws-vpc"],"tags_count":0,"template":false,"template_full_name":"opszero/terraform-template","purl":"pkg:github/opszero/terraform-aws-vpc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-vpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-vpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-vpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-vpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opszero","download_url":"https://codeload.github.com/opszero/terraform-aws-vpc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opszero%2Fterraform-aws-vpc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259561582,"owners_count":22876838,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-05-16T23:14:21.276Z","updated_at":"2026-01-23T06:45:54.615Z","avatar_url":"https://github.com/opszero.png","language":"HCL","funding_links":["https://github.com/sponsors/abhiyerra","https://www.opszero.com"],"categories":[],"sub_categories":[],"readme":"# Terraform-aws-vpc\n# Terraform AWS Cloud VPC Module\n\n## Table of Contents\n- [Overview](#overview)\n- [Introduction](#Introduction)\n- [Usage](#usage)\n- [Examples](#examples)\n- [Authors](#authors)\n- [License](#license)\n- [Inputs](#inputs)\n- [Outputs](#outputs)\n\n## Overview\nThis Terraform module creates an AWS Virtual Private Cloud (VPC) along with additional configuration options.\n\n## Introduction\nThis Terraform module creates an AWS subnet (subnet) along with additional configuration options.\n\n## Usage\n\nTo get started, make sure you have configured your AWS provider. You can use the following code as a starting point:\n\n\n```hcl\nmodule \"vpc\" {\n  source                = \"git::https://github.com/opszero/terraform-aws-vpc.git?ref=v1.0.1\"\n  name                  = \"test\"\n  cidr_block            = \"10.0.0.0/16\"\n  additional_cidr_block = [\"172.3.0.0/16\", \"172.2.0.0/16\"]\n}\n```\n\n## Examples\nFor detailed examples on how to use this module, please refer to the [Examples](https://github.com/opszero/terraform-aws-vpc/tree/master/example) directory within this repository.\n\n## Authors\nYour Name Replace **MIT** and **opszero** with the appropriate license and your information. Feel free to expand this README with additional details or usage instructions as needed for your specific use case.\n\n## License\nThis project is licensed under the **MIT** License - see the [LICENSE](https://github.com/opszero/terraform-aws-vpc/blob/master/LICENSE) file for details.\n\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 6.14.0 |\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_additional_cidr_block\"\u003e\u003c/a\u003e [additional\\_cidr\\_block](#input\\_additional\\_cidr\\_block) | List of secondary CIDR blocks of the VPC. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_assign_generated_ipv6_cidr_block\"\u003e\u003c/a\u003e [assign\\_generated\\_ipv6\\_cidr\\_block](#input\\_assign\\_generated\\_ipv6\\_cidr\\_block) | Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for the VPC. You cannot specify the range of IP addresses, or the size of the CIDR block. Conflicts with ipv6\\_ipam\\_pool\\_id | `bool` | `true` | no |\n| \u003ca name=\"input_aws_default_network_acl\"\u003e\u003c/a\u003e [aws\\_default\\_network\\_acl](#input\\_aws\\_default\\_network\\_acl) | A boolean flag to enable/disable Default Network acl in the VPC. | `bool` | `true` | no |\n| \u003ca name=\"input_aws_default_route_table\"\u003e\u003c/a\u003e [aws\\_default\\_route\\_table](#input\\_aws\\_default\\_route\\_table) | A boolean flag to enable/disable Default Route Table in the VPC. | `bool` | `true` | no |\n| \u003ca name=\"input_block_http_traffic\"\u003e\u003c/a\u003e [block\\_http\\_traffic](#input\\_block\\_http\\_traffic) | True when http traffic has to be blocked for S3. | `bool` | `true` | no |\n| \u003ca name=\"input_cidr_block\"\u003e\u003c/a\u003e [cidr\\_block](#input\\_cidr\\_block) | CIDR for the VPC. | `string` | `\"\"` | no |\n| \u003ca name=\"input_create_flow_log_cloudwatch_iam_role\"\u003e\u003c/a\u003e [create\\_flow\\_log\\_cloudwatch\\_iam\\_role](#input\\_create\\_flow\\_log\\_cloudwatch\\_iam\\_role) | Flag to be set true when cloudwatch iam role is to be created when flow log destination type is set to cloudwatch logs. | `bool` | `true` | no |\n| \u003ca name=\"input_default_network_acl_egress\"\u003e\u003c/a\u003e [default\\_network\\_acl\\_egress](#input\\_default\\_network\\_acl\\_egress) | List of maps of egress rules to set on the Default Network ACL | `list(map(string))` | \u003cpre\u003e[\u003cbr/\u003e  {\u003cbr/\u003e    \"action\": \"allow\",\u003cbr/\u003e    \"cidr_block\": \"0.0.0.0/0\",\u003cbr/\u003e    \"from_port\": 0,\u003cbr/\u003e    \"protocol\": \"-1\",\u003cbr/\u003e    \"rule_no\": 100,\u003cbr/\u003e    \"to_port\": 0\u003cbr/\u003e  },\u003cbr/\u003e  {\u003cbr/\u003e    \"action\": \"allow\",\u003cbr/\u003e    \"from_port\": 0,\u003cbr/\u003e    \"ipv6_cidr_block\": \"::/0\",\u003cbr/\u003e    \"protocol\": \"-1\",\u003cbr/\u003e    \"rule_no\": 101,\u003cbr/\u003e    \"to_port\": 0\u003cbr/\u003e  }\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_default_network_acl_ingress\"\u003e\u003c/a\u003e [default\\_network\\_acl\\_ingress](#input\\_default\\_network\\_acl\\_ingress) | List of maps of ingress rules to set on the Default Network ACL | `list(map(string))` | \u003cpre\u003e[\u003cbr/\u003e  {\u003cbr/\u003e    \"action\": \"allow\",\u003cbr/\u003e    \"cidr_block\": \"0.0.0.0/0\",\u003cbr/\u003e    \"from_port\": 0,\u003cbr/\u003e    \"protocol\": \"-1\",\u003cbr/\u003e    \"rule_no\": 100,\u003cbr/\u003e    \"to_port\": 0\u003cbr/\u003e  },\u003cbr/\u003e  {\u003cbr/\u003e    \"action\": \"allow\",\u003cbr/\u003e    \"from_port\": 0,\u003cbr/\u003e    \"ipv6_cidr_block\": \"::/0\",\u003cbr/\u003e    \"protocol\": \"-1\",\u003cbr/\u003e    \"rule_no\": 101,\u003cbr/\u003e    \"to_port\": 0\u003cbr/\u003e  }\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_default_route_table_routes\"\u003e\u003c/a\u003e [default\\_route\\_table\\_routes](#input\\_default\\_route\\_table\\_routes) | Configuration block of routes. | `list(map(string))` | `[]` | no |\n| \u003ca name=\"input_default_security_group_egress\"\u003e\u003c/a\u003e [default\\_security\\_group\\_egress](#input\\_default\\_security\\_group\\_egress) | List of maps of egress rules to set on the default security group | `list(map(string))` | `[]` | no |\n| \u003ca name=\"input_default_security_group_ingress\"\u003e\u003c/a\u003e [default\\_security\\_group\\_ingress](#input\\_default\\_security\\_group\\_ingress) | List of maps of ingress rules to set on the default security group | `list(map(string))` | `[]` | no |\n| \u003ca name=\"input_dhcp_options_domain_name\"\u003e\u003c/a\u003e [dhcp\\_options\\_domain\\_name](#input\\_dhcp\\_options\\_domain\\_name) | Specifies DNS name for DHCP options set (requires enable\\_dhcp\\_options set to true) | `string` | `\"service.consul\"` | no |\n| \u003ca name=\"input_dhcp_options_domain_name_servers\"\u003e\u003c/a\u003e [dhcp\\_options\\_domain\\_name\\_servers](#input\\_dhcp\\_options\\_domain\\_name\\_servers) | Specify a list of DNS server addresses for DHCP options set, default to AWS provided (requires enable\\_dhcp\\_options set to true) | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"AmazonProvidedDNS\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_dhcp_options_netbios_name_servers\"\u003e\u003c/a\u003e [dhcp\\_options\\_netbios\\_name\\_servers](#input\\_dhcp\\_options\\_netbios\\_name\\_servers) | Specify a list of netbios servers for DHCP options set (requires enable\\_dhcp\\_options set to true) | `list(string)` | `[]` | no |\n| \u003ca name=\"input_dhcp_options_netbios_node_type\"\u003e\u003c/a\u003e [dhcp\\_options\\_netbios\\_node\\_type](#input\\_dhcp\\_options\\_netbios\\_node\\_type) | Specify netbios node\\_type for DHCP options set (requires enable\\_dhcp\\_options set to true) | `string` | `\"\"` | no |\n| \u003ca name=\"input_dhcp_options_ntp_servers\"\u003e\u003c/a\u003e [dhcp\\_options\\_ntp\\_servers](#input\\_dhcp\\_options\\_ntp\\_servers) | Specify a list of NTP servers for DHCP options set (requires enable\\_dhcp\\_options set to true) | `list(string)` | `[]` | no |\n| \u003ca name=\"input_dns_hostnames_enabled\"\u003e\u003c/a\u003e [dns\\_hostnames\\_enabled](#input\\_dns\\_hostnames\\_enabled) | A boolean flag to enable/disable DNS hostnames in the VPC. | `bool` | `true` | no |\n| \u003ca name=\"input_dns_support_enabled\"\u003e\u003c/a\u003e [dns\\_support\\_enabled](#input\\_dns\\_support\\_enabled) | A boolean flag to enable/disable DNS support in the VPC. | `bool` | `true` | no |\n| \u003ca name=\"input_enable_dhcp_options\"\u003e\u003c/a\u003e [enable\\_dhcp\\_options](#input\\_enable\\_dhcp\\_options) | Should be true if you want to specify a DHCP options set with a custom domain name, DNS servers, NTP servers, netbios servers, and/or netbios server type | `bool` | `false` | no |\n| \u003ca name=\"input_enable_flow_log\"\u003e\u003c/a\u003e [enable\\_flow\\_log](#input\\_enable\\_flow\\_log) | Enable vpc\\_flow\\_log logs. | `bool` | `false` | no |\n| \u003ca name=\"input_enable_key_rotation\"\u003e\u003c/a\u003e [enable\\_key\\_rotation](#input\\_enable\\_key\\_rotation) | Specifies whether key rotation is enabled. Defaults to true(security best practice) | `bool` | `true` | no |\n| \u003ca name=\"input_enable_network_address_usage_metrics\"\u003e\u003c/a\u003e [enable\\_network\\_address\\_usage\\_metrics](#input\\_enable\\_network\\_address\\_usage\\_metrics) | Determines whether network address usage metrics are enabled for the VPC | `bool` | `null` | no |\n| \u003ca name=\"input_enabled\"\u003e\u003c/a\u003e [enabled](#input\\_enabled) | Flag to control the vpc creation. | `bool` | `true` | no |\n| \u003ca name=\"input_enabled_ipv6_egress_only_internet_gateway\"\u003e\u003c/a\u003e [enabled\\_ipv6\\_egress\\_only\\_internet\\_gateway](#input\\_enabled\\_ipv6\\_egress\\_only\\_internet\\_gateway) | A boolean flag to enable/disable IPv6 Egress-Only Internet Gateway creation | `bool` | `true` | no |\n| \u003ca name=\"input_flow_log_cloudwatch_log_group_retention_in_days\"\u003e\u003c/a\u003e [flow\\_log\\_cloudwatch\\_log\\_group\\_retention\\_in\\_days](#input\\_flow\\_log\\_cloudwatch\\_log\\_group\\_retention\\_in\\_days) | Specifies the number of days you want to retain log events in the specified log group for VPC flow logs | `number` | `null` | no |\n| \u003ca name=\"input_flow_log_destination_arn\"\u003e\u003c/a\u003e [flow\\_log\\_destination\\_arn](#input\\_flow\\_log\\_destination\\_arn) | ARN of destination where vpc flow logs are to stored. Can be of existing s3 or existing cloudwatch log group. | `string` | `null` | no |\n| \u003ca name=\"input_flow_log_destination_type\"\u003e\u003c/a\u003e [flow\\_log\\_destination\\_type](#input\\_flow\\_log\\_destination\\_type) | Type of flow log destination. Can be s3 or cloud-watch-logs | `string` | `\"cloud-watch-logs\"` | no |\n| \u003ca name=\"input_flow_log_file_format\"\u003e\u003c/a\u003e [flow\\_log\\_file\\_format](#input\\_flow\\_log\\_file\\_format) | (Optional) The format for the flow log. Valid values: `plain-text`, `parquet` | `string` | `null` | no |\n| \u003ca name=\"input_flow_log_hive_compatible_partitions\"\u003e\u003c/a\u003e [flow\\_log\\_hive\\_compatible\\_partitions](#input\\_flow\\_log\\_hive\\_compatible\\_partitions) | (Optional) Indicates whether to use Hive-compatible prefixes for flow logs stored in Amazon S3 | `bool` | `false` | no |\n| \u003ca name=\"input_flow_log_iam_role_arn\"\u003e\u003c/a\u003e [flow\\_log\\_iam\\_role\\_arn](#input\\_flow\\_log\\_iam\\_role\\_arn) | The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group. When flow\\_log\\_destination\\_arn is set to ARN of Cloudwatch Logs, this argument needs to be provided | `string` | `null` | no |\n| \u003ca name=\"input_flow_log_log_format\"\u003e\u003c/a\u003e [flow\\_log\\_log\\_format](#input\\_flow\\_log\\_log\\_format) | The fields to include in the flow log record, in the order in which they should appear | `string` | `null` | no |\n| \u003ca name=\"input_flow_log_max_aggregation_interval\"\u003e\u003c/a\u003e [flow\\_log\\_max\\_aggregation\\_interval](#input\\_flow\\_log\\_max\\_aggregation\\_interval) | The maximum interval of time during which a flow of packets is captured and aggregated into a flow log record. Valid Values: `60` seconds or `600` seconds | `number` | `600` | no |\n| \u003ca name=\"input_flow_log_per_hour_partition\"\u003e\u003c/a\u003e [flow\\_log\\_per\\_hour\\_partition](#input\\_flow\\_log\\_per\\_hour\\_partition) | (Optional) Indicates whether to partition the flow log per hour. This reduces the cost and response time for queries | `bool` | `false` | no |\n| \u003ca name=\"input_flow_log_traffic_type\"\u003e\u003c/a\u003e [flow\\_log\\_traffic\\_type](#input\\_flow\\_log\\_traffic\\_type) | The type of traffic to capture. Valid values: ACCEPT, REJECT, ALL | `string` | `\"ALL\"` | no |\n| \u003ca name=\"input_flow_logs_bucket_name\"\u003e\u003c/a\u003e [flow\\_logs\\_bucket\\_name](#input\\_flow\\_logs\\_bucket\\_name) | Name  (e.g. `mybucket` or `bucket101`). | `string` | `null` | no |\n| \u003ca name=\"input_instance_tenancy\"\u003e\u003c/a\u003e [instance\\_tenancy](#input\\_instance\\_tenancy) | A tenancy option for instances launched into the VPC. | `string` | `\"default\"` | no |\n| \u003ca name=\"input_ipam_pool_enable\"\u003e\u003c/a\u003e [ipam\\_pool\\_enable](#input\\_ipam\\_pool\\_enable) | Flag to be set true when using ipam for cidr. | `bool` | `false` | no |\n| \u003ca name=\"input_ipv4_ipam_pool_id\"\u003e\u003c/a\u003e [ipv4\\_ipam\\_pool\\_id](#input\\_ipv4\\_ipam\\_pool\\_id) | The ID of an IPv4 IPAM pool you want to use for allocating this VPC's CIDR. | `string` | `\"\"` | no |\n| \u003ca name=\"input_ipv4_netmask_length\"\u003e\u003c/a\u003e [ipv4\\_netmask\\_length](#input\\_ipv4\\_netmask\\_length) | The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a ipv4\\_ipam\\_pool\\_id | `string` | `null` | no |\n| \u003ca name=\"input_ipv6_cidr_block\"\u003e\u003c/a\u003e [ipv6\\_cidr\\_block](#input\\_ipv6\\_cidr\\_block) | IPv6 CIDR for the VPC. | `string` | `null` | no |\n| \u003ca name=\"input_ipv6_cidr_block_network_border_group\"\u003e\u003c/a\u003e [ipv6\\_cidr\\_block\\_network\\_border\\_group](#input\\_ipv6\\_cidr\\_block\\_network\\_border\\_group) | Set this to restrict advertisement of public addresses to a specific Network Border Group such as a LocalZone. | `string` | `null` | no |\n| \u003ca name=\"input_ipv6_ipam_pool_id\"\u003e\u003c/a\u003e [ipv6\\_ipam\\_pool\\_id](#input\\_ipv6\\_ipam\\_pool\\_id) | The ID of an IPv6 IPAM pool you want to use for allocating this VPC's CIDR. | `string` | `null` | no |\n| \u003ca name=\"input_ipv6_netmask_length\"\u003e\u003c/a\u003e [ipv6\\_netmask\\_length](#input\\_ipv6\\_netmask\\_length) | The netmask length of the IPv4 CIDR you want to allocate to this VPC. Requires specifying a ipv6\\_ipam\\_pool\\_id | `string` | `null` | no |\n| \u003ca name=\"input_kms_key_deletion_window\"\u003e\u003c/a\u003e [kms\\_key\\_deletion\\_window](#input\\_kms\\_key\\_deletion\\_window) | KMS Key deletion window in days. | `number` | `10` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Default name tag | `string` | n/a | yes |\n| \u003ca name=\"input_restrict_default_sg\"\u003e\u003c/a\u003e [restrict\\_default\\_sg](#input\\_restrict\\_default\\_sg) | Flag to control the restrict default sg creation. | `bool` | `true` | no |\n| \u003ca name=\"input_s3_sse_algorithm\"\u003e\u003c/a\u003e [s3\\_sse\\_algorithm](#input\\_s3\\_sse\\_algorithm) | Server-side encryption algorithm to use. Valid values are AES256 and aws:kms | `string` | `\"aws:kms\"` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Custom tags (optional) | `map(string)` | \u003cpre\u003e{\u003cbr/\u003e  \"Environment\": \"dev\"\u003cbr/\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_vpc_flow_log_permissions_boundary\"\u003e\u003c/a\u003e [vpc\\_flow\\_log\\_permissions\\_boundary](#input\\_vpc\\_flow\\_log\\_permissions\\_boundary) | The ARN of the Permissions Boundary for the VPC Flow Log IAM Role | `string` | `null` | no |\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cloudwatch_log_group.flow_log](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |\n| [aws_default_network_acl.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/default_network_acl) | resource |\n| [aws_default_route_table.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/default_route_table) | resource |\n| [aws_default_security_group.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/default_security_group) | resource |\n| [aws_egress_only_internet_gateway.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/egress_only_internet_gateway) | resource |\n| [aws_flow_log.vpc_flow_log](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/flow_log) | resource |\n| [aws_iam_policy.vpc_flow_log_cloudwatch](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |\n| [aws_iam_role.vpc_flow_log_cloudwatch](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy_attachment.vpc_flow_log_cloudwatch](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_internet_gateway.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/internet_gateway) | resource |\n| [aws_kms_alias.kms-alias](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_alias) | resource |\n| [aws_kms_key.kms](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key) | resource |\n| [aws_kms_key_policy.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key_policy) | resource |\n| [aws_s3_bucket.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |\n| [aws_s3_bucket_acl.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_acl) | resource |\n| [aws_s3_bucket_ownership_controls.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_ownership_controls) | resource |\n| [aws_s3_bucket_policy.block-http](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource |\n| [aws_s3_bucket_public_access_block.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |\n| [aws_s3_bucket_server_side_encryption_configuration.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_server_side_encryption_configuration) | resource |\n| [aws_vpc.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc) | resource |\n| [aws_vpc_dhcp_options.vpc_dhcp](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_dhcp_options) | resource |\n| [aws_vpc_dhcp_options_association.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_dhcp_options_association) | resource |\n| [aws_vpc_ipv4_cidr_block_association.default](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_ipv4_cidr_block_association) | resource |\n| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |\n| [aws_iam_policy_document.flow_log_cloudwatch_assume_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.vpc_flow_log_cloudwatch](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_arn\"\u003e\u003c/a\u003e [arn](#output\\_arn) | Amazon Resource Name (ARN) of VPC |\n| \u003ca name=\"output_dhcp_options_id\"\u003e\u003c/a\u003e [dhcp\\_options\\_id](#output\\_dhcp\\_options\\_id) | The ID of the DHCP options set associated with the VPC. |\n| \u003ca name=\"output_enable_dns_hostnames\"\u003e\u003c/a\u003e [enable\\_dns\\_hostnames](#output\\_enable\\_dns\\_hostnames) | Indicates whether DNS hostnames are enabled. |\n| \u003ca name=\"output_enable_dns_support\"\u003e\u003c/a\u003e [enable\\_dns\\_support](#output\\_enable\\_dns\\_support) | Indicates whether DNS support is enabled. |\n| \u003ca name=\"output_igw_id\"\u003e\u003c/a\u003e [igw\\_id](#output\\_igw\\_id) | The ID of the Internet Gateway. |\n| \u003ca name=\"output_igw_owner_id\"\u003e\u003c/a\u003e [igw\\_owner\\_id](#output\\_igw\\_owner\\_id) | The ID of the AWS account that owns the Internet Gateway. |\n| \u003ca name=\"output_instance_tenancy\"\u003e\u003c/a\u003e [instance\\_tenancy](#output\\_instance\\_tenancy) | The tenancy of instances launched into the VPC. |\n| \u003ca name=\"output_ipv6_cidr_block\"\u003e\u003c/a\u003e [ipv6\\_cidr\\_block](#output\\_ipv6\\_cidr\\_block) | The IPv6 CIDR block. |\n| \u003ca name=\"output_ipv6_cidr_block_network_border_group\"\u003e\u003c/a\u003e [ipv6\\_cidr\\_block\\_network\\_border\\_group](#output\\_ipv6\\_cidr\\_block\\_network\\_border\\_group) | The IPv6 Network Border Group Zone name |\n| \u003ca name=\"output_ipv6_egress_only_igw_id\"\u003e\u003c/a\u003e [ipv6\\_egress\\_only\\_igw\\_id](#output\\_ipv6\\_egress\\_only\\_igw\\_id) | The ID of the egress-only Internet Gateway |\n| \u003ca name=\"output_log_destination\"\u003e\u003c/a\u003e [log\\_destination](#output\\_log\\_destination) | The ARN of the destination for VPC flow logs. |\n| \u003ca name=\"output_log_format\"\u003e\u003c/a\u003e [log\\_format](#output\\_log\\_format) | The log format for VPC flow logs. |\n| \u003ca name=\"output_log_group_name\"\u003e\u003c/a\u003e [log\\_group\\_name](#output\\_log\\_group\\_name) | The name of the CloudWatch log group for VPC flow logs. |\n| \u003ca name=\"output_tags\"\u003e\u003c/a\u003e [tags](#output\\_tags) | A mapping of tags to assign to the resource. |\n| \u003ca name=\"output_traffic_type\"\u003e\u003c/a\u003e [traffic\\_type](#output\\_traffic\\_type) | The type of traffic captured (accept, reject, all). |\n| \u003ca name=\"output_vpc_arn\"\u003e\u003c/a\u003e [vpc\\_arn](#output\\_vpc\\_arn) | The ARN of the VPC |\n| \u003ca name=\"output_vpc_cidr_block\"\u003e\u003c/a\u003e [vpc\\_cidr\\_block](#output\\_vpc\\_cidr\\_block) | The CIDR block of the VPC. |\n| \u003ca name=\"output_vpc_default_network_acl_id\"\u003e\u003c/a\u003e [vpc\\_default\\_network\\_acl\\_id](#output\\_vpc\\_default\\_network\\_acl\\_id) | The ID of the network ACL created by default on VPC creation. |\n| \u003ca name=\"output_vpc_default_route_table_id\"\u003e\u003c/a\u003e [vpc\\_default\\_route\\_table\\_id](#output\\_vpc\\_default\\_route\\_table\\_id) | The ID of the route table created by default on VPC creation. |\n| \u003ca name=\"output_vpc_default_security_group_id\"\u003e\u003c/a\u003e [vpc\\_default\\_security\\_group\\_id](#output\\_vpc\\_default\\_security\\_group\\_id) | The ID of the security group created by default on VPC creation. |\n| \u003ca name=\"output_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#output\\_vpc\\_id) | The ID of the VPC. |\n| \u003ca name=\"output_vpc_ipv6_association_id\"\u003e\u003c/a\u003e [vpc\\_ipv6\\_association\\_id](#output\\_vpc\\_ipv6\\_association\\_id) | The association ID for the IPv6 CIDR block. |\n| \u003ca name=\"output_vpc_main_route_table_id\"\u003e\u003c/a\u003e [vpc\\_main\\_route\\_table\\_id](#output\\_vpc\\_main\\_route\\_table\\_id) | The ID of the main route table associated with this VPC. |\n# 🚀 Built by opsZero!\n\n\u003ca href=\"https://opszero.com\"\u003e\u003cimg src=\"https://opszero.com/img/common/opsZero-Logo-Large.webp\" width=\"300px\"/\u003e\u003c/a\u003e\n\n[opsZero](https://opszero.com) provides software and consulting for Cloud + AI. With our decade plus of experience scaling some of the world’s most innovative companies we have developed deep expertise in Kubernetes, DevOps, FinOps, and Compliance.\n\nOur software and consulting solutions enable organizations to:\n\n- migrate workloads to the Cloud\n- setup compliance frameworks including SOC2, HIPAA, PCI-DSS, ITAR, FedRamp, CMMC, and more.\n- FinOps solutions to reduce the cost of running Cloud workloads\n- Kubernetes optimized for web scale and AI workloads\n- finding underutilized Cloud resources\n- setting up custom AI training and delivery\n- building data integrations and scrapers\n- modernizing onto modern ARM based processors\n\nWe do this with a high-touch support model where you:\n\n- Get access to us on Slack, Microsoft Teams or Email\n- Get 24/7 coverage of your infrastructure\n- Get an accelerated migration to Kubernetes\n\nPlease [schedule a call](https://calendly.com/opszero-llc/discovery) if you need support.\n\n\u003cbr/\u003e\u003cbr/\u003e\n\n\u003cdiv style=\"display: block\"\u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-advanced.png\" alt=\"AWS Advanced Tier\" width=\"150px\" \u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-devops-competency.png\" alt=\"AWS DevOps Competency\" width=\"150px\" \u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-eks.png\" alt=\"AWS EKS Delivery\" width=\"150px\" \u003e\n  \u003cimg src=\"https://opszero.com/img/common/aws-public-sector.png\" alt=\"AWS Public Sector\" width=\"150px\" \u003e\n\u003c/div\u003e\n\u003c!-- END_TF_DOCS --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopszero%2Fterraform-aws-vpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopszero%2Fterraform-aws-vpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopszero%2Fterraform-aws-vpc/lists"}