|  | --- | 
|  | # ---------------------------------------------------------------------------- | 
|  | # | 
|  | #     ***     AUTO GENERATED CODE    ***    Type: MMv1     *** | 
|  | # | 
|  | # ---------------------------------------------------------------------------- | 
|  | # | 
|  | #     This file is automatically generated by Magic Modules and manual | 
|  | #     changes will be clobbered when the file is regenerated. | 
|  | # | 
|  | #     Please read more about how to change this file in | 
|  | #     .github/CONTRIBUTING.md. | 
|  | # | 
|  | # ---------------------------------------------------------------------------- | 
|  | subcategory: "Compute Engine" | 
|  | description: |- | 
|  | Represents a VPN gateway running in GCP. | 
|  | --- | 
|  |  | 
|  | # google\_compute\_ha\_vpn\_gateway | 
|  |  | 
|  | Represents a VPN gateway running in GCP. This virtual device is managed | 
|  | by Google, but used only by you. This type of VPN Gateway allows for the creation | 
|  | of VPN solutions with higher availability than classic Target VPN Gateways. | 
|  |  | 
|  |  | 
|  | To get more information about HaVpnGateway, see: | 
|  |  | 
|  | * [API documentation](https://cloud.google.com/compute/docs/reference/rest/v1/vpnGateways) | 
|  | * How-to Guides | 
|  | * [Choosing a VPN](https://cloud.google.com/vpn/docs/how-to/choosing-a-vpn) | 
|  | * [Cloud VPN Overview](https://cloud.google.com/vpn/docs/concepts/overview) | 
|  |  | 
|  | <div class = "oics-button" style="float: right; margin: 0 0 -15px"> | 
|  | <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_working_dir=ha_vpn_gateway_basic&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" target="_blank"> | 
|  | <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> | 
|  | </a> | 
|  | </div> | 
|  | ## Example Usage - Ha Vpn Gateway Basic | 
|  |  | 
|  |  | 
|  | ```hcl | 
|  | resource "google_compute_ha_vpn_gateway" "ha_gateway1" { | 
|  | region   = "us-central1" | 
|  | name     = "ha-vpn-1" | 
|  | network  = google_compute_network.network1.id | 
|  | } | 
|  |  | 
|  | resource "google_compute_network" "network1" { | 
|  | name                    = "network1" | 
|  | auto_create_subnetworks = false | 
|  | } | 
|  | ``` | 
|  | <div class = "oics-button" style="float: right; margin: 0 0 -15px"> | 
|  | <a href="https://console.cloud.google.com/cloudshell/open?cloudshell_git_repo=https%3A%2F%2Fgithub.com%2Fterraform-google-modules%2Fdocs-examples.git&cloudshell_working_dir=ha_vpn_gateway_ipv6&cloudshell_image=gcr.io%2Fcloudshell-images%2Fcloudshell%3Alatest&open_in_editor=main.tf&cloudshell_print=.%2Fmotd&cloudshell_tutorial=.%2Ftutorial.md" target="_blank"> | 
|  | <img alt="Open in Cloud Shell" src="//gstatic.com/cloudssh/images/open-btn.svg" style="max-height: 44px; margin: 32px auto; max-width: 100%;"> | 
|  | </a> | 
|  | </div> | 
|  | ## Example Usage - Ha Vpn Gateway Ipv6 | 
|  |  | 
|  |  | 
|  | ```hcl | 
|  | resource "google_compute_ha_vpn_gateway" "ha_gateway1" { | 
|  | region   = "us-central1" | 
|  | name     = "ha-vpn-1" | 
|  | network  = google_compute_network.network1.id | 
|  | stack_type = "IPV4_IPV6" | 
|  | } | 
|  |  | 
|  | resource "google_compute_network" "network1" { | 
|  | name                    = "network1" | 
|  | auto_create_subnetworks = false | 
|  | } | 
|  | ``` | 
|  | ## Example Usage - Compute Ha Vpn Gateway Encrypted Interconnect | 
|  |  | 
|  |  | 
|  | ```hcl | 
|  | resource "google_compute_ha_vpn_gateway" "vpn-gateway" { | 
|  | name           = "test-ha-vpngw" | 
|  | network        = google_compute_network.network.id | 
|  | vpn_interfaces { | 
|  | id                      = 0 | 
|  | interconnect_attachment = google_compute_interconnect_attachment.attachment1.self_link | 
|  | } | 
|  | vpn_interfaces { | 
|  | id                      = 1 | 
|  | interconnect_attachment = google_compute_interconnect_attachment.attachment2.self_link | 
|  | } | 
|  | } | 
|  |  | 
|  | resource "google_compute_interconnect_attachment" "attachment1" { | 
|  | name                     = "test-interconnect-attachment1" | 
|  | edge_availability_domain = "AVAILABILITY_DOMAIN_1" | 
|  | type                     = "PARTNER" | 
|  | router                   = google_compute_router.router.id | 
|  | encryption               = "IPSEC" | 
|  | ipsec_internal_addresses = [ | 
|  | google_compute_address.address1.self_link, | 
|  | ] | 
|  | } | 
|  |  | 
|  | resource "google_compute_interconnect_attachment" "attachment2" { | 
|  | name                     = "test-interconnect-attachment2" | 
|  | edge_availability_domain = "AVAILABILITY_DOMAIN_2" | 
|  | type                     = "PARTNER" | 
|  | router                   = google_compute_router.router.id | 
|  | encryption               = "IPSEC" | 
|  | ipsec_internal_addresses = [ | 
|  | google_compute_address.address2.self_link, | 
|  | ] | 
|  | } | 
|  |  | 
|  | resource "google_compute_address" "address1" { | 
|  | name          = "test-address1" | 
|  | address_type  = "INTERNAL" | 
|  | purpose       = "IPSEC_INTERCONNECT" | 
|  | address       = "192.168.1.0" | 
|  | prefix_length = 29 | 
|  | network       = google_compute_network.network.self_link | 
|  | } | 
|  |  | 
|  | resource "google_compute_address" "address2" { | 
|  | name          = "test-address2" | 
|  | address_type  = "INTERNAL" | 
|  | purpose       = "IPSEC_INTERCONNECT" | 
|  | address       = "192.168.2.0" | 
|  | prefix_length = 29 | 
|  | network       = google_compute_network.network.self_link | 
|  | } | 
|  |  | 
|  | resource "google_compute_router" "router" { | 
|  | name                          = "test-router" | 
|  | network                       = google_compute_network.network.name | 
|  | encrypted_interconnect_router = true | 
|  | bgp { | 
|  | asn = 16550 | 
|  | } | 
|  | } | 
|  |  | 
|  | resource "google_compute_network" "network" { | 
|  | name                    = "test-network" | 
|  | auto_create_subnetworks = false | 
|  | } | 
|  | ``` | 
|  |  | 
|  | ## Argument Reference | 
|  |  | 
|  | The following arguments are supported: | 
|  |  | 
|  |  | 
|  | * `name` - | 
|  | (Required) | 
|  | Name of the resource. Provided by the client when the resource is | 
|  | created. The name must be 1-63 characters long, and comply with | 
|  | RFC1035.  Specifically, the name must be 1-63 characters long and | 
|  | match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means | 
|  | the first character must be a lowercase letter, and all following | 
|  | characters must be a dash, lowercase letter, or digit, except the last | 
|  | character, which cannot be a dash. | 
|  |  | 
|  | * `network` - | 
|  | (Required) | 
|  | The network this VPN gateway is accepting traffic for. | 
|  |  | 
|  |  | 
|  | - - - | 
|  |  | 
|  |  | 
|  | * `description` - | 
|  | (Optional) | 
|  | An optional description of this resource. | 
|  |  | 
|  | * `stack_type` - | 
|  | (Optional) | 
|  | The stack type for this VPN gateway to identify the IP protocols that are enabled. | 
|  | If not specified, IPV4_ONLY will be used. | 
|  | Default value is `IPV4_ONLY`. | 
|  | Possible values are: `IPV4_ONLY`, `IPV4_IPV6`. | 
|  |  | 
|  | * `vpn_interfaces` - | 
|  | (Optional) | 
|  | A list of interfaces on this VPN gateway. | 
|  | Structure is [documented below](#nested_vpn_interfaces). | 
|  |  | 
|  | * `region` - | 
|  | (Optional) | 
|  | The region this gateway should sit in. | 
|  |  | 
|  | * `project` - (Optional) The ID of the project in which the resource belongs. | 
|  | If it is not provided, the provider project is used. | 
|  |  | 
|  |  | 
|  | <a name="nested_vpn_interfaces"></a>The `vpn_interfaces` block supports: | 
|  |  | 
|  | * `id` - | 
|  | (Optional) | 
|  | The numeric ID of this VPN gateway interface. | 
|  |  | 
|  | * `ip_address` - | 
|  | (Output) | 
|  | The external IP address for this VPN gateway interface. | 
|  |  | 
|  | * `interconnect_attachment` - | 
|  | (Optional) | 
|  | URL of the interconnect attachment resource. When the value | 
|  | of this field is present, the VPN Gateway will be used for | 
|  | IPsec-encrypted Cloud Interconnect; all Egress or Ingress | 
|  | traffic for this VPN Gateway interface will go through the | 
|  | specified interconnect attachment resource. | 
|  | Not currently available publicly. | 
|  |  | 
|  | ## Attributes Reference | 
|  |  | 
|  | In addition to the arguments listed above, the following computed attributes are exported: | 
|  |  | 
|  | * `id` - an identifier for the resource with format `projects/{{project}}/regions/{{region}}/vpnGateways/{{name}}` | 
|  | * `self_link` - The URI of the created resource. | 
|  |  | 
|  |  | 
|  | ## Timeouts | 
|  |  | 
|  | This resource provides the following | 
|  | [Timeouts](https://developer.hashicorp.com/terraform/plugin/sdkv2/resources/retries-and-customizable-timeouts) configuration options: | 
|  |  | 
|  | - `create` - Default is 20 minutes. | 
|  | - `delete` - Default is 20 minutes. | 
|  |  | 
|  | ## Import | 
|  |  | 
|  |  | 
|  | HaVpnGateway can be imported using any of these accepted formats: | 
|  |  | 
|  | * `projects/{{project}}/regions/{{region}}/vpnGateways/{{name}}` | 
|  | * `{{project}}/{{region}}/{{name}}` | 
|  | * `{{region}}/{{name}}` | 
|  | * `{{name}}` | 
|  |  | 
|  |  | 
|  | In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import HaVpnGateway using one of the formats above. For example: | 
|  |  | 
|  | ```tf | 
|  | import { | 
|  | id = "projects/{{project}}/regions/{{region}}/vpnGateways/{{name}}" | 
|  | to = google_compute_ha_vpn_gateway.default | 
|  | } | 
|  | ``` | 
|  |  | 
|  | When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), HaVpnGateway can be imported using one of the formats above. For example: | 
|  |  | 
|  | ``` | 
|  | $ terraform import google_compute_ha_vpn_gateway.default projects/{{project}}/regions/{{region}}/vpnGateways/{{name}} | 
|  | $ terraform import google_compute_ha_vpn_gateway.default {{project}}/{{region}}/{{name}} | 
|  | $ terraform import google_compute_ha_vpn_gateway.default {{region}}/{{name}} | 
|  | $ terraform import google_compute_ha_vpn_gateway.default {{name}} | 
|  | ``` | 
|  |  | 
|  | ## User Project Overrides | 
|  |  | 
|  | This resource supports [User Project Overrides](https://registry.terraform.io/providers/hashicorp/google/latest/docs/guides/provider_reference#user_project_override). |