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
| <aname="input_auto_assign_public_ip"></a> [auto\_assign\_public\_ip](#input\_auto\_assign\_public\_ip)| Specify true to indicate that instances launched into the subnet should be assigned a public IP address. |`bool`|`false`| no |
216
221
| <aname="input_availability_zones"></a> [availability\_zones](#input\_availability\_zones)| Number of Availability Zone to be used by VPC Subnets |`list(any)`|`[]`| no |
222
+
| <aname="input_create_ipam_pool"></a> [create\_ipam\_pool](#input\_create\_ipam\_pool)| Whether create new IPAM pool |`bool`|`true`| no |
217
223
| <aname="input_database_subnet_assign_ipv6_address_on_creation"></a> [database\_subnet\_assign\_ipv6\_address\_on\_creation](#input\_database\_subnet\_assign\_ipv6\_address\_on\_creation)| Assign IPv6 address on database subnet, must be disabled to change IPv6 CIDRs. This is the IPv6 equivalent of map\_public\_ip\_on\_launch |`bool`|`null`| no |
218
224
| <aname="input_database_subnet_cidrs"></a> [database\_subnet\_cidrs](#input\_database\_subnet\_cidrs)| Database Tier subnet CIDRs to be created |`list(any)`|`[]`| no |
219
225
| <aname="input_database_subnet_enabled"></a> [database\_subnet\_enabled](#input\_database\_subnet\_enabled)| Set true to enable database subnets |`bool`|`false`| no |
220
226
| <aname="input_default_network_acl_ingress"></a> [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))`| <pre>[<br> {<br> "action": "deny",<br> "cidr_block": "0.0.0.0/0",<br> "from_port": 22,<br> "protocol": "tcp",<br> "rule_no": 98,<br> "to_port": 22<br> },<br> {<br> "action": "deny",<br> "cidr_block": "0.0.0.0/0",<br> "from_port": 3389,<br> "protocol": "tcp",<br> "rule_no": 99,<br> "to_port": 3389<br> },<br> {<br> "action": "allow",<br> "cidr_block": "0.0.0.0/0",<br> "from_port": 0,<br> "protocol": "-1",<br> "rule_no": 100,<br> "to_port": 0<br> },<br> {<br> "action": "allow",<br> "from_port": 0,<br> "ipv6_cidr_block": "::/0",<br> "protocol": "-1",<br> "rule_no": 101,<br> "to_port": 0<br> }<br>]</pre> | no |
227
+
| <aname="input_enable_database_subnet_group"></a> [enable\_database\_subnet\_group](#input\_enable\_database\_subnet\_group)| Whether create database subnet groups |`bool`|`false`| no |
221
228
| <aname="input_environment"></a> [environment](#input\_environment)| Specify the environment indentifier for the VPC |`string`|`""`| no |
229
+
| <aname="input_existing_ipam_managed_cidr"></a> [existing\_ipam\_managed\_cidr](#input\_existing\_ipam\_managed\_cidr)| The existing IPAM pool CIDR |`string`|`""`| no |
222
230
| <aname="input_flow_log_cloudwatch_log_group_kms_key_arn"></a> [flow\_log\_cloudwatch\_log\_group\_kms\_key\_arn](#input\_flow\_log\_cloudwatch\_log\_group\_kms\_key\_arn)| The ARN of the KMS Key to use when encrypting log data for VPC flow logs |`string`|`null`| no |
223
231
| <aname="input_flow_log_cloudwatch_log_group_retention_in_days"></a> [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 |
224
232
| <aname="input_flow_log_enabled"></a> [flow\_log\_enabled](#input\_flow\_log\_enabled)| Whether or not to enable VPC Flow Logs |`bool`|`false`| no |
225
233
| <aname="input_flow_log_max_aggregation_interval"></a> [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`|`60`| no |
226
234
| <aname="input_intra_subnet_assign_ipv6_address_on_creation"></a> [intra\_subnet\_assign\_ipv6\_address\_on\_creation](#input\_intra\_subnet\_assign\_ipv6\_address\_on\_creation)| Assign IPv6 address on intra subnet, must be disabled to change IPv6 CIDRs. This is the IPv6 equivalent of map\_public\_ip\_on\_launch |`bool`|`null`| no |
227
235
| <aname="input_intra_subnet_cidrs"></a> [intra\_subnet\_cidrs](#input\_intra\_subnet\_cidrs)| A list of intra subnets CIDR to be created |`list(any)`|`[]`| no |
228
236
| <aname="input_intra_subnet_enabled"></a> [intra\_subnet\_enabled](#input\_intra\_subnet\_enabled)| Set true to enable intra subnets |`bool`|`false`| no |
237
+
| <aname="input_ipam_enabled"></a> [ipam\_enabled](#input\_ipam\_enabled)| Whether enable IPAM managed VPC or not |`bool`|`false`| no |
238
+
| <aname="input_ipam_pool_id"></a> [ipam\_pool\_id](#input\_ipam\_pool\_id)| The existing IPAM pool id if any |`string`|`null`| no |
239
+
| <aname="input_ipv4_netmask_length"></a> [ipv4\_netmask\_length](#input\_ipv4\_netmask\_length)| The netmask length for IPAM managed VPC |`number`|`16`| no |
229
240
| <aname="input_ipv6_enabled"></a> [ipv6\_enabled](#input\_ipv6\_enabled)| 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. |`bool`|`false`| no |
241
+
| <aname="input_ipv6_only"></a> [ipv6\_only](#input\_ipv6\_only)| Enable it for deploying native IPv6 network |`bool`|`false`| no |
230
242
| <aname="input_name"></a> [name](#input\_name)| Specify the name of the VPC |`string`|`""`| no |
231
243
| <aname="input_one_nat_gateway_per_az"></a> [one\_nat\_gateway\_per\_az](#input\_one\_nat\_gateway\_per\_az)| Set to true if a NAT Gateway is required per availability zone for Private Subnet Tier |`bool`|`false`| no |
232
244
| <aname="input_private_subnet_assign_ipv6_address_on_creation"></a> [private\_subnet\_assign\_ipv6\_address\_on\_creation](#input\_private\_subnet\_assign\_ipv6\_address\_on\_creation)| Assign IPv6 address on private subnet, must be disabled to change IPv6 CIDRs. This is the IPv6 equivalent of map\_public\_ip\_on\_launch |`bool`|`null`| no |
@@ -235,6 +247,9 @@ In this module, we have implemented the following CIS Compliance checks for VPC:
235
247
| <aname="input_public_subnet_assign_ipv6_address_on_creation"></a> [public\_subnet\_assign\_ipv6\_address\_on\_creation](#input\_public\_subnet\_assign\_ipv6\_address\_on\_creation)| Assign IPv6 address on public subnet, must be disabled to change IPv6 CIDRs. This is the IPv6 equivalent of map\_public\_ip\_on\_launch |`bool`|`null`| no |
236
248
| <aname="input_public_subnet_cidrs"></a> [public\_subnet\_cidrs](#input\_public\_subnet\_cidrs)| A list of public subnets CIDR to be created inside the VPC |`list(any)`|`[]`| no |
237
249
| <aname="input_public_subnet_enabled"></a> [public\_subnet\_enabled](#input\_public\_subnet\_enabled)| Set true to enable public subnets |`bool`|`false`| no |
250
+
| <aname="input_region"></a> [region](#input\_region)| The AWS region name |`string`|`null`| no |
251
+
| <aname="input_secondary_cidr_blocks"></a> [secondary\_cidr\_blocks](#input\_secondary\_cidr\_blocks)| List of the secondary CIDR blocks which can be at most 5 |`list(string)`|`[]`| no |
252
+
| <aname="input_secondry_cidr_enabled"></a> [secondry\_cidr\_enabled](#input\_secondry\_cidr\_enabled)| Whether enable secondary CIDR with VPC |`bool`|`false`| no |
238
253
| <aname="input_vpc_cidr"></a> [vpc\_cidr](#input\_vpc\_cidr)| The CIDR block of the VPC |`string`|`"10.0.0.0/16"`| no |
239
254
| <aname="input_vpn_key_pair_name"></a> [vpn\_key\_pair\_name](#input\_vpn\_key\_pair\_name)| Specify the name of AWS Keypair to be used for VPN Server |`string`|`""`| no |
240
255
| <aname="input_vpn_server_enabled"></a> [vpn\_server\_enabled](#input\_vpn\_server\_enabled)| Set to true if you want to deploy VPN Gateway resource and attach it to the VPC |`bool`|`false`| no |
@@ -252,6 +267,7 @@ In this module, we have implemented the following CIS Compliance checks for VPC:
252
267
| <aname="output_vpc_cidr_block"></a> [vpc\_cidr\_block](#output\_vpc\_cidr\_block)| IPV4 CIDR Block for this VPC |
253
268
| <aname="output_vpc_id"></a> [vpc\_id](#output\_vpc\_id)| The ID of the VPC |
254
269
| <aname="output_vpc_ipv6_association_id"></a> [vpc\_ipv6\_association\_id](#output\_vpc\_ipv6\_association\_id)| The association ID for the IPv6 CIDR block |
270
+
| <aname="output_vpc_secondary_cidr_blocks"></a> [vpc\_secondary\_cidr\_blocks](#output\_vpc\_secondary\_cidr\_blocks)| List of secondary CIDR blocks of the VPC |
255
271
| <aname="output_vpn_host_public_ip"></a> [vpn\_host\_public\_ip](#output\_vpn\_host\_public\_ip)| IP Address of VPN Server |
256
272
| <aname="output_vpn_security_group"></a> [vpn\_security\_group](#output\_vpn\_security\_group)| Security Group ID of VPN Server |
Configuration in this directory creates set of VPC resources with IPAM managed CIDRs
4
+
5
+
IPAM pool with desired CIDR and its allocation which restricts the overlapping of CIDRs
6
+
7
+
[Read more about AWS regions, availability zones and local zones](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions-availability-zones).
8
+
9
+
## Usage
10
+
11
+
To run this example you need to execute:
12
+
13
+
```bash
14
+
$ terraform init
15
+
$ terraform plan
16
+
$ terraform apply
17
+
```
18
+
19
+
Note that this example may create resources which can cost money (AWS Elastic IP, for example). Run `terraform destroy` when you don't need these resources.
20
+
21
+
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
VPC with native IPv6 which includes public and private subnet will be created per availability zone in addition to single NAT Gateway shared between all availability zones.
5
+
6
+
## Usage
7
+
8
+
To run this example you need to execute:
9
+
10
+
```bash
11
+
$ terraform init
12
+
$ terraform plan
13
+
$ terraform apply
14
+
```
15
+
16
+
Note that this example may create resources which can cost money (AWS Elastic IP, for example). Run `terraform destroy` when you don't need these resources.
17
+
18
+
19
+
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
| <aname="output_database_subnets"></a> [database\_subnets](#output\_database\_subnets)| List of IDs of database subnets |
47
+
| <aname="output_intra_subnets"></a> [intra\_subnets](#output\_intra\_subnets)| List of IDs of Intra subnets |
48
+
| <aname="output_ipv6_vpc_cidr_block"></a> [ipv6\_vpc\_cidr\_block](#output\_ipv6\_vpc\_cidr\_block)| The IPv6 CIDR block |
49
+
| <aname="output_private_subnets"></a> [private\_subnets](#output\_private\_subnets)| List of IDs of private subnets |
50
+
| <aname="output_public_subnets"></a> [public\_subnets](#output\_public\_subnets)| List of IDs of public subnets |
51
+
| <aname="output_region"></a> [region](#output\_region)| AWS Region |
52
+
| <aname="output_vpc_cidr_block"></a> [vpc\_cidr\_block](#output\_vpc\_cidr\_block)| The CIDR of the VPC |
53
+
| <aname="output_vpc_id"></a> [vpc\_id](#output\_vpc\_id)| The ID of the VPC |
54
+
| <aname="output_vpc_ipv6_association_id"></a> [vpc\_ipv6\_association\_id](#output\_vpc\_ipv6\_association\_id)| The association ID for the IPv6 CIDR block |
MUltiple CIDRs can be attached with a VPC in addition of increasing numbers of IPs. A public and private subnet will be created per availability zone in addition to single NAT Gateway shared between all availability zones.
5
+
6
+
## Usage
7
+
8
+
To run this example you need to execute:
9
+
10
+
```bash
11
+
$ terraform init
12
+
$ terraform plan
13
+
$ terraform apply
14
+
```
15
+
16
+
Note that this example may create resources which can cost money (AWS Elastic IP, for example). Run `terraform destroy` when you don't need these resources.
17
+
18
+
19
+
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
| <aname="output_private_subnets"></a> [private\_subnets](#output\_private\_subnets)| List of IDs of private subnets |
47
+
| <aname="output_public_subnets"></a> [public\_subnets](#output\_public\_subnets)| List of IDs of public subnets |
48
+
| <aname="output_region"></a> [region](#output\_region)| AWS Region |
49
+
| <aname="output_vpc_cidr_block"></a> [vpc\_cidr\_block](#output\_vpc\_cidr\_block)| AWS Region |
50
+
| <aname="output_vpc_id"></a> [vpc\_id](#output\_vpc\_id)| The ID of the VPC |
51
+
| <aname="output_vpc_secondary_cidr_blocks"></a> [vpc\_secondary\_cidr\_blocks](#output\_vpc\_secondary\_cidr\_blocks)| List of secondary CIDR blocks of the VPC |
0 commit comments