Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/appvia/terraform-aws-vpn
Terraform module used to provision AWS VPN
https://github.com/appvia/terraform-aws-vpn
aws landing-zone terraform vpn
Last synced: about 1 month ago
JSON representation
Terraform module used to provision AWS VPN
- Host: GitHub
- URL: https://github.com/appvia/terraform-aws-vpn
- Owner: appvia
- License: gpl-3.0
- Created: 2024-04-05T13:33:03.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-12-21T00:00:10.000Z (about 2 months ago)
- Last Synced: 2024-12-21T01:17:07.258Z (about 2 months ago)
- Topics: aws, landing-zone, terraform, vpn
- Language: HCL
- Homepage:
- Size: 1.17 MB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
![Github Actions](https://github.com/appvia/terraform-aws-vpn/actions/workflows/terraform.yml/badge.svg)
# Terraform AWS VPN Module
This module creates a VPN using the AWS Client VPN service.
## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | ~> 5.0 |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [authorization\_rules](#input\_authorization\_rules) | Authorization rules for the VPN |list(object({| n/a | yes |
access_group_id = string
description = string
name = string
target_network_cidr = string
}))
| [name](#input\_name) | Name of the VPN | `string` | n/a | yes |
| [saml\_provider\_document](#input\_saml\_provider\_document) | Document for the SAML provider | `string` | n/a | yes |
| [saml\_provider\_portal\_document](#input\_saml\_provider\_portal\_document) | Document for the SAML provider portal | `string` | n/a | yes |
| [tags](#input\_tags) | Tags to apply to all resources | `map(string)` | n/a | yes |
| [vpc\_id](#input\_vpc\_id) | ID of the VPC to use for the VPN | `string` | n/a | yes |
| [vpn\_log\_stream\_name](#input\_vpn\_log\_stream\_name) | Name of the CloudWatch log stream for the VPN | `string` | n/a | yes |
| [vpn\_org\_name](#input\_vpn\_org\_name) | Name of the organization for the VPN | `string` | n/a | yes |
| [client\_cidr](#input\_client\_cidr) | CIDR block for the VPN clients | `string` | `"172.16.0.0/16"` | no |
| [enable\_vpn](#input\_enable\_vpn) | Whether to enable and deploy the VPN (useful do to dependency of this module) | `bool` | `false` | no |
| [public\_subnet\_ids](#input\_public\_subnet\_ids) | IDs of the public subnets to use for the VPN | `list(string)` | `[]` | no |
| [saml\_provider\_name](#input\_saml\_provider\_name) | Name of the SAML provider | `string` | `"Client_VPN"` | no |
| [saml\_provider\_portal\_name](#input\_saml\_provider\_portal\_name) | Name of the SAML provider portal | `string` | `"Client_VPN_Portal"` | no |
| [vpn\_log\_retention](#input\_vpn\_log\_retention) | Number of days to retain VPN logs | `number` | `7` | no |## Outputs
| Name | Description |
|------|-------------|
| [client\_configuration](#output\_client\_configuration) | VPN Client Configuration data. |
| [vpn\_endpoint\_arn](#output\_vpn\_endpoint\_arn) | The ARN of the Client VPN Endpoint Connection. |
| [vpn\_endpoint\_dns\_name](#output\_vpn\_endpoint\_dns\_name) | The DNS Name of the Client VPN Endpoint Connection. |
| [vpn\_endpoint\_id](#output\_vpn\_endpoint\_id) | The ID of the Client VPN Endpoint Connection. |