# Terraform: network-core/modules/gcp-to-aws-ha-vpn ## Requirements | Name | Version | |------|---------| | [terraform](#requirement\_terraform) | ~> 1.6 | | [aws](#requirement\_aws) | >= 5.31 | | [google](#requirement\_google) | ~> 5.10 | ## Providers | Name | Version | |------|---------| | [aws](#provider\_aws) | >= 5.31 | | [google](#provider\_google) | ~> 5.10 | ## Modules No modules. ## Resources | Name | Type | |------|------| | [aws_customer_gateway.gwy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/customer_gateway) | resource | | [aws_networkmanager_site_to_site_vpn_attachment.core_network_vpn](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/networkmanager_site_to_site_vpn_attachment) | resource | | [aws_vpn_connection.vpn_conn](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpn_connection) | resource | | [google_compute_external_vpn_gateway.ext_gwy](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_external_vpn_gateway) | resource | | [google_compute_firewall.block_cross_segment](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_firewall) | resource | | [google_compute_firewall.block_cross_segment_reverse](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_firewall) | resource | | [google_compute_firewall.block_untagged](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_firewall) | resource | | [google_compute_firewall.employee_access_to_gcp](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_firewall) | resource | | [google_compute_ha_vpn_gateway.gwy](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_ha_vpn_gateway) | resource | | [google_compute_router.router](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_router) | resource | | [google_compute_router_interface.interface](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_router_interface) | resource | | [google_compute_router_peer.peer](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_router_peer) | resource | | [google_compute_vpn_tunnel.tunnel](https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/compute_vpn_tunnel) | resource | ## Inputs | Name | Description | Type | Default | Required | |------|-------------|------|---------|:--------:| | [aws\_core\_network\_id](#input\_aws\_core\_network\_id) | AWS Core Network ID to attach VPN to | `string` | n/a | yes | | [aws\_router\_asn](#input\_aws\_router\_asn) | n/a | `string` | n/a | yes | | [gcp\_network](#input\_gcp\_network) | Name of the GCP network. | `string` | n/a | yes | | [gcp\_router\_asn](#input\_gcp\_router\_asn) | n/a | `string` | n/a | yes | | [num\_tunnels](#input\_num\_tunnels) | Total number of VPN tunnels. This needs to be in multiples of 2. | `number` | n/a | yes | | [prefix](#input\_prefix) | Prefix used for all the resources. | `string` | n/a | yes | | [project\_id](#input\_project\_id) | n/a | `string` | n/a | yes | | [segments](#input\_segments) | Map of segments with AWS segment names and GCP CIDR blocks to advertise |
map(object({
aws_segment = string
gcp_cidrs = list(string)
})) | {
"gcpvpn": {
"aws_segment": "gcpvpn",
"gcp_cidrs": [
"10.128.0.0/10"
]
}
} | no |
| [shared\_secret](#input\_shared\_secret) | n/a | `string` | n/a | yes |
| [vpn\_gwy\_region](#input\_vpn\_gwy\_region) | n/a | `string` | n/a | yes |
## Outputs
| Name | Description |
|------|-------------|
| [aws\_core\_network\_attachment\_ids](#output\_aws\_core\_network\_attachment\_ids) | AWS Core Network VPN Attachment IDs |
| [aws\_vpn\_connection\_ids](#output\_aws\_vpn\_connection\_ids) | AWS VPN Connection IDs |