Skip to content

Commit b0ec099

Browse files
manikanta-sadurlaManikanta  Sadurla
andcommitted
Added DHCP Options Feature
* Added DHCP Options Feature * Update workflow --------- Co-authored-by: Manikanta Sadurla <[email protected]>
1 parent 1446789 commit b0ec099

File tree

1 file changed

+10
-5
lines changed
  • docs/arc-iac-docs/modules/terraform-aws-ref-arch-network

1 file changed

+10
-5
lines changed

docs/arc-iac-docs/modules/terraform-aws-ref-arch-network/README.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,8 @@ locals {
190190
| [aws_route_table_association.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table_association) | resource |
191191
| [aws_subnet.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet) | resource |
192192
| [aws_vpc.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc) | resource |
193+
| [aws_vpc_dhcp_options.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_dhcp_options) | resource |
194+
| [aws_vpc_dhcp_options_association.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_dhcp_options_association) | resource |
193195
| [aws_vpc_endpoint.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_endpoint) | resource |
194196
| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |
195197
| [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 {
207209
| <a name="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 |
208210
| <a name="input_cidr_block"></a> [cidr\_block](#input\_cidr\_block) | The CIDR block for the VPC. | `string` | n/a | yes |
209211
| <a name="input_create_internet_gateway"></a> [create\_internet\_gateway](#input\_create\_internet\_gateway) | (optional) Whether to create internet gateway | `bool` | `true` | no |
212+
| <a name="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 |
210213
| <a name="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 |
211214
| <a name="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 |
212215
| <a name="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 {
219222
| <a name="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 |
220223
| <a name="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 |
221224
| <a name="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 |
222-
| <a name="input_kms_config"></a> [kms\_config](#input\_kms\_config) | n/a | <pre>object({<br> deletion_window_in_days = number<br> enable_key_rotation = bool<br> })</pre> | <pre>{<br> "deletion_window_in_days": 30,<br> "enable_key_rotation": true<br>}</pre> | no |
225+
| <a name="input_kms_config"></a> [kms\_config](#input\_kms\_config) | n/a | <pre>object({<br/> deletion_window_in_days = number<br/> enable_key_rotation = bool<br/> })</pre> | <pre>{<br/> "deletion_window_in_days": 30,<br/> "enable_key_rotation": true<br/>}</pre> | no |
223226
| <a name="input_name"></a> [name](#input\_name) | VPC name | `string` | n/a | yes |
224227
| <a name="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 |
226229
| <a name="input_tags"></a> [tags](#input\_tags) | (optional) Tags for VPC resources | `map(string)` | `{}` | no |
227-
| <a name="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-
| <a name="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+
| <a name="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+
| <a name="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 |
229232

230233
## Outputs
231234

232235
| Name | Description |
233236
|------|-------------|
234237
| <a name="output_default_route_table_id"></a> [default\_route\_table\_id](#output\_default\_route\_table\_id) | The Default Route Table ID for the VPC |
238+
| <a name="output_dhcp_options_arn"></a> [dhcp\_options\_arn](#output\_dhcp\_options\_arn) | The ARN of the DHCP Options Set |
239+
| <a name="output_dhcp_options_id"></a> [dhcp\_options\_id](#output\_dhcp\_options\_id) | The ID of the DHCP Options Set |
235240
| <a name="output_id"></a> [id](#output\_id) | The VPC ID |
236241
| <a name="output_igw_id"></a> [igw\_id](#output\_igw\_id) | Internet gateway ID for the VPC |
237242
| <a name="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
281286

282287
## Authors
283288
This project is authored by:
284-
- SourceFuse
289+
- SourceFuse

0 commit comments

Comments
 (0)