diff --git a/blueprints/networking/ha-vpn-over-interconnect/README.md b/blueprints/networking/ha-vpn-over-interconnect/README.md
index db89d87e..a4b29ca1 100644
--- a/blueprints/networking/ha-vpn-over-interconnect/README.md
+++ b/blueprints/networking/ha-vpn-over-interconnect/README.md
@@ -32,7 +32,7 @@ The two Dedicated Interconnect connections should already exist, either in the s
| [overlay_config](variables.tf#L24) | Configuration for the overlay resources. | object({…})
| ✓ | |
| [project_id](variables.tf#L66) | The project id. | string
| ✓ | |
| [region](variables.tf#L71) | GCP Region. | string
| ✓ | |
-| [underlay_config](variables.tf#L76) | Configuration for the underlay resources. | object({…})
| ✓ | |
+| [underlay_config](variables.tf#L76) | Configuration for the underlay resources. | object({…})
| ✓ | |
## Outputs
diff --git a/blueprints/networking/ha-vpn-over-interconnect/underlay.tf b/blueprints/networking/ha-vpn-over-interconnect/underlay.tf
index 6ad9c450..bb8709cc 100644
--- a/blueprints/networking/ha-vpn-over-interconnect/underlay.tf
+++ b/blueprints/networking/ha-vpn-over-interconnect/underlay.tf
@@ -38,13 +38,16 @@ module "va-a" {
create = false
name = google_compute_router.encrypted-interconnect-underlay-router.name
}
- dedicated_interconnect_config = {
+ vpn_gateways_ip_range = var.underlay_config.attachments.a.vpn_gateways_ip_range
+ dedicated_interconnect_config = var.underlay_config.interconnect_type != "DEDICATED" ? null : {
bandwidth = var.underlay_config.attachments.a.bandwidth
bgp_range = var.underlay_config.attachments.a.bgp_range
interconnect = var.underlay_config.attachments.a.interconnect_self_link
vlan_tag = var.underlay_config.attachments.a.vlan_tag
}
- vpn_gateways_ip_range = var.underlay_config.attachments.a.vpn_gateways_ip_range
+ partner_interconnect_config = var.underlay_config.interconnect_type != "PARTNER" ? null : {
+ edge_availability_domain = "zone1"
+ }
}
module "va-b" {
@@ -59,11 +62,14 @@ module "va-b" {
create = false
name = google_compute_router.encrypted-interconnect-underlay-router.name
}
- dedicated_interconnect_config = {
+ vpn_gateways_ip_range = var.underlay_config.attachments.b.vpn_gateways_ip_range
+ dedicated_interconnect_config = var.underlay_config.interconnect_type != "DEDICATED" ? null : {
bandwidth = var.underlay_config.attachments.b.bandwidth
bgp_range = var.underlay_config.attachments.b.bgp_range
interconnect = var.underlay_config.attachments.b.interconnect_self_link
vlan_tag = var.underlay_config.attachments.b.vlan_tag
}
- vpn_gateways_ip_range = var.underlay_config.attachments.b.vpn_gateways_ip_range
+ partner_interconnect_config = var.underlay_config.interconnect_type != "PARTNER" ? null : {
+ edge_availability_domain = "zone2"
+ }
}
diff --git a/blueprints/networking/ha-vpn-over-interconnect/variables.tf b/blueprints/networking/ha-vpn-over-interconnect/variables.tf
index 163ea1ac..196ef269 100644
--- a/blueprints/networking/ha-vpn-over-interconnect/variables.tf
+++ b/blueprints/networking/ha-vpn-over-interconnect/variables.tf
@@ -88,5 +88,10 @@ variable "underlay_config" {
gcp_bgp = object({
asn = number
})
+ interconnect_type = optional(string, "DEDICATED")
})
+ validation {
+ condition = var.underlay_config.interconnect_type == "DEDICATED" || var.underlay_config.interconnect_type == "PARTNER"
+ error_message = "var.underlay_config.interconnect_type must by either \"DEDICATED\" or \"PARTNER\""
+ }
}