diff --git a/README.md b/README.md index aeafa92..5b62a73 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ An opinionated Terraform module that can be used to create and manage an VPC in | [terraform](#requirement\_terraform) | >= 1.2.0 | | [aws](#requirement\_aws) | >= 4.31.0 | | [null](#requirement\_null) | >= 3.1.1 | +| [tls](#requirement\_tls) | < 4.0.0 | ## Providers @@ -17,22 +18,26 @@ An opinionated Terraform module that can be used to create and manage an VPC in |------|---------| | [aws](#provider\_aws) | >= 4.31.0 | | [null](#provider\_null) | >= 3.1.1 | +| [tls](#provider\_tls) | < 4.0.0 | ## Modules | Name | Source | Version | |------|--------|---------| +| [bastion](#module\_bastion) | cloudposse/ec2-bastion-server/aws | 0.30.1 | | [vpc](#module\_vpc) | terraform-aws-modules/vpc/aws | 3.14.4 | ## Resources | Name | Type | |------|------| +| [aws_key_pair.bastion](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair) | resource | | [aws_route_table_association.additional_private_subnets](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table_association) | resource | | [aws_route_table_association.additional_public_subnets](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route_table_association) | resource | | [aws_subnet.additional_private_subnets](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet) | resource | | [aws_subnet.additional_public_subnets](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/subnet) | resource | | [null_resource.wait_for_secondary_cidrs](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource | +| [tls_private_key.bastion](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource | | [aws_availability_zones.available](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones) | data source | ## Inputs @@ -43,6 +48,10 @@ An opinionated Terraform module that can be used to create and manage an VPC in | [additional\_private\_subnets](#input\_additional\_private\_subnets) | Additional private subnets to create. |
list(object({
availability_zone = string
cidr = string
tags = map(string)
}))
| `[]` | no | | [additional\_public\_subnet\_tags](#input\_additional\_public\_subnet\_tags) | Additional tags for the public subnets | `map(string)` | `{}` | no | | [additional\_public\_subnets](#input\_additional\_public\_subnets) | Additional public subnets to create. |
list(object({
availability_zone = string
cidr = string
tags = map(string)
}))
| `[]` | no | +| [bastion\_host\_assign\_public\_ip](#input\_bastion\_host\_assign\_public\_ip) | Whether to assign a public IP address to the bastion host. | `bool` | `false` | no | +| [bastion\_host\_enabled](#input\_bastion\_host\_enabled) | Whether to create an EC2 instance in the VPC that can be used as a bastion host. | `bool` | `false` | no | +| [bastion\_host\_extra\_security\_groups](#input\_bastion\_host\_extra\_security\_groups) | A list of extra security groups to associate with the bastion host. | `list(string)` | `[]` | no | +| [bastion\_host\_ssh\_public\_key](#input\_bastion\_host\_ssh\_public\_key) | If specified, will be used as the public SSH key for the bastion host. | `string` | `""` | no | | [cidr](#input\_cidr) | The CIDR to be used for the VPC. | `string` | n/a | yes | | [name](#input\_name) | The name of the VPC. | `string` | n/a | yes | | [region](#input\_region) | The region in which to create the VPC. | `string` | n/a | yes | @@ -55,9 +64,15 @@ An opinionated Terraform module that can be used to create and manage an VPC in |------|-------------| | [additional\_private\_subnet\_ids](#output\_additional\_private\_subnet\_ids) | The IDs of the additional private subnets that have been created. | | [additional\_public\_subnet\_ids](#output\_additional\_public\_subnet\_ids) | The IDs of the additional public subnets that have been created. | +| [bastion\_host\_private\_ip](#output\_bastion\_host\_private\_ip) | n/a | +| [bastion\_host\_public\_ip](#output\_bastion\_host\_public\_ip) | n/a | +| [bastion\_host\_security\_group\_id](#output\_bastion\_host\_security\_group\_id) | n/a | +| [bastion\_host\_ssh\_user](#output\_bastion\_host\_ssh\_user) | n/a | | [id](#output\_id) | The ID of the VPC. | +| [main\_route\_table\_id](#output\_main\_route\_table\_id) | The ID of the main route table that has been created. | | [private\_subnet\_ids](#output\_private\_subnet\_ids) | The IDs of the main private subnets that have been created. | | [public\_subnet\_ids](#output\_public\_subnet\_ids) | The IDs of the main public subnets that have been created. | +| [vpn\_gw\_id](#output\_vpn\_gw\_id) | The ID of the VPN gateway that has been created. | ## License diff --git a/outputs.tf b/outputs.tf index be817c7..84ef6bb 100644 --- a/outputs.tf +++ b/outputs.tf @@ -56,3 +56,13 @@ output "public_subnet_ids" { description = "The IDs of the main public subnets that have been created." value = module.vpc.public_subnets } + +output "main_route_table_id" { + description = "The ID of the main route table that has been created." + value = module.vpc.vpc_main_route_table_id +} + +output "vpn_gw_id" { + description = "The ID of the VPN gateway that has been created." + value = module.vpc.vgw_id +}