# Terraform: network-core/modules/gcp-to-aws-ha-vpn

## Requirements

| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | ~> 1.6 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 5.31 |
| <a name="requirement_google"></a> [google](#requirement\_google) | ~> 5.10 |

## Providers

| Name | Version |
|------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 5.31 |
| <a name="provider_google"></a> [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 |
|------|-------------|------|---------|:--------:|
| <a name="input_aws_core_network_id"></a> [aws\_core\_network\_id](#input\_aws\_core\_network\_id) | AWS Core Network ID to attach VPN to | `string` | n/a | yes |
| <a name="input_aws_router_asn"></a> [aws\_router\_asn](#input\_aws\_router\_asn) | n/a | `string` | n/a | yes |
| <a name="input_gcp_network"></a> [gcp\_network](#input\_gcp\_network) | Name of the GCP network. | `string` | n/a | yes |
| <a name="input_gcp_router_asn"></a> [gcp\_router\_asn](#input\_gcp\_router\_asn) | n/a | `string` | n/a | yes |
| <a name="input_num_tunnels"></a> [num\_tunnels](#input\_num\_tunnels) | Total number of VPN tunnels. This needs to be in multiples of 2. | `number` | n/a | yes |
| <a name="input_prefix"></a> [prefix](#input\_prefix) | Prefix used for all the resources. | `string` | n/a | yes |
| <a name="input_project_id"></a> [project\_id](#input\_project\_id) | n/a | `string` | n/a | yes |
| <a name="input_segments"></a> [segments](#input\_segments) | Map of segments with AWS segment names and GCP CIDR blocks to advertise | <pre>map(object({<br/>    aws_segment = string<br/>    gcp_cidrs   = list(string)<br/>  }))</pre> | <pre>{<br/>  "gcpvpn": {<br/>    "aws_segment": "gcpvpn",<br/>    "gcp_cidrs": [<br/>      "10.128.0.0/10"<br/>    ]<br/>  }<br/>}</pre> | no |
| <a name="input_shared_secret"></a> [shared\_secret](#input\_shared\_secret) | n/a | `string` | n/a | yes |
| <a name="input_vpn_gwy_region"></a> [vpn\_gwy\_region](#input\_vpn\_gwy\_region) | n/a | `string` | n/a | yes |

## Outputs

| Name | Description |
|------|-------------|
| <a name="output_aws_core_network_attachment_ids"></a> [aws\_core\_network\_attachment\_ids](#output\_aws\_core\_network\_attachment\_ids) | AWS Core Network VPN Attachment IDs |
| <a name="output_aws_vpn_connection_ids"></a> [aws\_vpn\_connection\_ids](#output\_aws\_vpn\_connection\_ids) | AWS VPN Connection IDs |
