You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|[aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity)| data source |
195
197
|[aws_iam_policy_document.assume](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document)| data source |
@@ -207,6 +209,7 @@ locals {
207
209
| <aname="input_availability_zones"></a> [availability\_zones](#input\_availability\_zones)| (optional) List of availability zones , if subnet map is null , subnet map automatically derived |`list(string)`|`[]`| no |
208
210
| <aname="input_cidr_block"></a> [cidr\_block](#input\_cidr\_block)| The CIDR block for the VPC. |`string`| n/a | yes |
209
211
| <aname="input_create_internet_gateway"></a> [create\_internet\_gateway](#input\_create\_internet\_gateway)| (optional) Whether to create internet gateway |`bool`|`true`| no |
212
+
| <aname="input_dhcp_options_config"></a> [dhcp\_options\_config](#input\_dhcp\_options\_config)| Configuration for VPC DHCP options. Set to null to use default AWS DHCP options. | <pre>object({<br/> domain_name = optional(string)<br/> domain_name_servers = optional(list(string))<br/> ipv6_address_preferred_lease_time = optional(number)<br/> ntp_servers = optional(list(string))<br/> netbios_name_servers = optional(list(string))<br/> netbios_node_type = optional(number)<br/> tags = optional(map(string), {})<br/> })</pre> |`null`| no |
210
213
| <aname="input_enable_dns_hostnames"></a> [enable\_dns\_hostnames](#input\_enable\_dns\_hostnames)| A boolean flag to enable/disable DNS hostnames in the VPC. |`bool`|`true`| no |
211
214
| <aname="input_enable_dns_support"></a> [enable\_dns\_support](#input\_enable\_dns\_support)| A boolean flag to enable/disable DNS support in the VPC. |`bool`|`true`| no |
212
215
| <aname="input_enable_network_address_usage_metrics"></a> [enable\_network\_address\_usage\_metrics](#input\_enable\_network\_address\_usage\_metrics)| Enable or disable network address usage metrics. |`bool`|`false`| no |
@@ -219,19 +222,21 @@ locals {
219
222
| <aname="input_ipv6_cidr_block_network_border_group"></a> [ipv6\_cidr\_block\_network\_border\_group](#input\_ipv6\_cidr\_block\_network\_border\_group)| The network border group of the IPv6 CIDR block. |`string`|`null`| no |
220
223
| <aname="input_ipv6_ipam_pool_id"></a> [ipv6\_ipam\_pool\_id](#input\_ipv6\_ipam\_pool\_id)| The IPv6 IPAM pool ID from which to allocate the CIDR. |`string`|`null`| no |
221
224
| <aname="input_ipv6_netmask_length"></a> [ipv6\_netmask\_length](#input\_ipv6\_netmask\_length)| The netmask length of the IPv6 CIDR block to allocate to the VPC. |`number`|`null`| no |
| <aname="input_name"></a> [name](#input\_name)| VPC name |`string`| n/a | yes |
224
227
| <aname="input_namespace"></a> [namespace](#input\_namespace)| Namespace name |`string`| n/a | yes |
225
-
| <a name="input_subnet_map"></a> [subnet\_map](#input\_subnet\_map) | A map defining the configuration of subnets, their attributes, and associated resources.<br>Each subnet configuration can include the following details:<br><br>- **name**: Name of the subnet.<br>- **cidr\_block**: CIDR block for the subnet.<br>- **availability\_zone**: The availability zone where the subnet is located.<br>- **enable\_resource\_name\_dns\_a\_record\_on\_launch**: Enable or disable DNS A records for EC2 instances launched in this subnet (default: false).<br>- **enable\_resource\_name\_dns\_aaaa\_record\_on\_launch**: Enable or disable DNS AAAA records for EC2 instances launched in this subnet (default: false).<br>- **map\_public\_ip\_on\_launch**: Specify whether to auto-assign a public IP for instances in this subnet (default: false).<br>- **ipv6\_native**: Enable or disable native IPv6 support for the subnet (default: false).<br>- **assign\_ipv6\_address\_on\_creation**: Whether to automatically assign an IPv6 address to instances launched in the subnet (default: false).<br>- **ipv6\_cidr\_block**: The IPv6 CIDR block associated with the subnet (optional).<br>- **enable\_dns64**: Enable or disable DNS64 in the subnet (default: false).<br>- **nat\_gateway\_name**: Name of the NAT Gateway attached to the subnet (optional).<br>- **create\_nat\_gateway**: Specify whether to create a NAT Gateway for the subnet (default: true).<br>- **attach\_nat\_gateway**: Specify whether to attach an existing NAT Gateway to the subnet (default: false).<br>- **attach\_internet\_gateway**: Specify whether to attach an Internet Gateway to the subnet (default: false).<br>- **additional\_routes**: List of additional routes to be added to the subnet route table, typically to route traffic to other services like Transit Gateway. Each route includes:<br> - **type**: Type of resource (default: "transit-gateway").<br> - **id**: The ID of the route target (e.g., a Transit Gateway ID).<br> - **cidr\_block**: The destination CIDR block for the route.<br> - **destination\_ipv6\_cidr\_block**: The destination IPV6 CIDR block for the route. | <pre>map(object({<br> name = string<br> cidr_block = string<br> availability_zone = string<br> enable_resource_name_dns_a_record_on_launch = optional(bool, false)<br> enable_resource_name_dns_aaaa_record_on_launch = optional(bool, false)<br> map_public_ip_on_launch = optional(bool, false)<br> ipv6_native = optional(bool, false)<br> assign_ipv6_address_on_creation = optional(bool, false)<br> ipv6_cidr_block = optional(string, null)<br> enable_dns64 = optional(bool, false)<br> nat_gateway_name = optional(string, null)<br> create_nat_gateway = optional(bool, true)<br> attach_nat_gateway = optional(bool, false)<br> attach_internet_gateway = optional(bool, false)<br> additional_routes = optional(list(object({<br> type = optional(string, "transit-gateway") // possible values : network-interface ,transit-gateway, vpc-endpoint, vpc-peering-connection<br> id = string<br> destination_cidr_block = optional(string, null)<br> destination_ipv6_cidr_block = optional(string, null)<br> }<br> )), [])<br> }))</pre> | `null` | no |
228
+
| <a name="input_subnet_map"></a> [subnet\_map](#input\_subnet\_map) | A map defining the configuration of subnets, their attributes, and associated resources.<br/>Each subnet configuration can include the following details:<br/><br/>- **name**: Name of the subnet.<br/>- **cidr\_block**: CIDR block for the subnet.<br/>- **availability\_zone**: The availability zone where the subnet is located.<br/>- **enable\_resource\_name\_dns\_a\_record\_on\_launch**: Enable or disable DNS A records for EC2 instances launched in this subnet (default: false).<br/>- **enable\_resource\_name\_dns\_aaaa\_record\_on\_launch**: Enable or disable DNS AAAA records for EC2 instances launched in this subnet (default: false).<br/>- **map\_public\_ip\_on\_launch**: Specify whether to auto-assign a public IP for instances in this subnet (default: false).<br/>- **ipv6\_native**: Enable or disable native IPv6 support for the subnet (default: false).<br/>- **assign\_ipv6\_address\_on\_creation**: Whether to automatically assign an IPv6 address to instances launched in the subnet (default: false).<br/>- **ipv6\_cidr\_block**: The IPv6 CIDR block associated with the subnet (optional).<br/>- **enable\_dns64**: Enable or disable DNS64 in the subnet (default: false).<br/>- **nat\_gateway\_name**: Name of the NAT Gateway attached to the subnet (optional).<br/>- **create\_nat\_gateway**: Specify whether to create a NAT Gateway for the subnet (default: true).<br/>- **attach\_nat\_gateway**: Specify whether to attach an existing NAT Gateway to the subnet (default: false).<br/>- **attach\_internet\_gateway**: Specify whether to attach an Internet Gateway to the subnet (default: false).<br/>- **additional\_routes**: List of additional routes to be added to the subnet route table, typically to route traffic to other services like Transit Gateway. Each route includes:<br/> - **type**: Type of resource (default: "transit-gateway").<br/> - **id**: The ID of the route target (e.g., a Transit Gateway ID).<br/> - **cidr\_block**: The destination CIDR block for the route.<br/> - **destination\_ipv6\_cidr\_block**: The destination IPV6 CIDR block for the route. | <pre>map(object({<br/> name = string<br/> cidr_block = string<br/> availability_zone = string<br/> enable_resource_name_dns_a_record_on_launch = optional(bool, false)<br/> enable_resource_name_dns_aaaa_record_on_launch = optional(bool, false)<br/> map_public_ip_on_launch = optional(bool, false)<br/> ipv6_native = optional(bool, false)<br/> assign_ipv6_address_on_creation = optional(bool, false)<br/> ipv6_cidr_block = optional(string, null)<br/> enable_dns64 = optional(bool, false)<br/> nat_gateway_name = optional(string, null)<br/> create_nat_gateway = optional(bool, true)<br/> attach_nat_gateway = optional(bool, false)<br/> attach_internet_gateway = optional(bool, false)<br/> additional_routes = optional(list(object({<br/> type = optional(string, "transit-gateway") // possible values : network-interface ,transit-gateway, vpc-endpoint, vpc-peering-connection<br/> id = string<br/> destination_cidr_block = optional(string, null)<br/> destination_ipv6_cidr_block = optional(string, null)<br/> }<br/> )), [])<br/> }))</pre> | `null` | no |
226
229
| <aname="input_tags"></a> [tags](#input\_tags)| (optional) Tags for VPC resources |`map(string)`|`{}`| no |
227
-
| <aname="input_vpc_endpoint_data"></a> [vpc\_endpoint\_data](#input\_vpc\_endpoint\_data)| (optional) List of VPC endpoints to be created | <pre>list(object({<br> service = string<br> route_table_filter = optional(string, "private") // possible values 'private' and 'public'<br> policy_doc = optional(string, null)<br> private_dns_enabled = optional(bool, false)<br> security_group_ids = optional(list(string), [])<br> }))</pre> |`[]`| no |
228
-
| <aname="input_vpc_flow_log_config"></a> [vpc\_flow\_log\_config](#input\_vpc\_flow\_log\_config)| If `s3_bucket_arn` is null, only CloudWatch logging is enabled by default. If `s3_bucket_arn` is provided, S3 logging is enabled. | <pre>object({<br> enable = bool<br> retention_in_days = number<br> s3_bucket_arn = string<br> })</pre> | <pre>{<br> "enable": true,<br> "retention_in_days": 7,<br> "s3_bucket_arn": null<br>}</pre> | no |
230
+
| <aname="input_vpc_endpoint_data"></a> [vpc\_endpoint\_data](#input\_vpc\_endpoint\_data)| (optional) List of VPC endpoints to be created | <pre>list(object({<br/> service = string<br/> route_table_filter = optional(string, "private") // possible values 'private' and 'public'<br/> policy_doc = optional(string, null)<br/> private_dns_enabled = optional(bool, false)<br/> security_group_ids = optional(list(string), [])<br/> }))</pre> |`[]`| no |
231
+
| <aname="input_vpc_flow_log_config"></a> [vpc\_flow\_log\_config](#input\_vpc\_flow\_log\_config)| If `s3_bucket_arn` is null, only CloudWatch logging is enabled by default. If `s3_bucket_arn` is provided, S3 logging is enabled. | <pre>object({<br/> enable = bool<br/> retention_in_days = number<br/> s3_bucket_arn = string<br/> })</pre> | <pre>{<br/> "enable": true,<br/> "retention_in_days": 7,<br/> "s3_bucket_arn": null<br/>}</pre> | no |
229
232
230
233
## Outputs
231
234
232
235
| Name | Description |
233
236
|------|-------------|
234
237
| <aname="output_default_route_table_id"></a> [default\_route\_table\_id](#output\_default\_route\_table\_id)| The Default Route Table ID for the VPC |
238
+
| <aname="output_dhcp_options_arn"></a> [dhcp\_options\_arn](#output\_dhcp\_options\_arn)| The ARN of the DHCP Options Set |
239
+
| <aname="output_dhcp_options_id"></a> [dhcp\_options\_id](#output\_dhcp\_options\_id)| The ID of the DHCP Options Set |
235
240
| <aname="output_id"></a> [id](#output\_id)| The VPC ID |
236
241
| <aname="output_igw_id"></a> [igw\_id](#output\_igw\_id)| Internet gateway ID for the VPC |
237
242
| <aname="output_main_route_table_id"></a> [main\_route\_table\_id](#output\_main\_route\_table\_id)| The Main Route Table ID for the VPC |
@@ -281,4 +286,4 @@ By specifying this , it will bump the version and if you dont specify this in yo
0 commit comments