HA VPN over Interconnect modules and blueprint (#1390)

Two new modules, net-ipsec-over-interconnect to establish HA VPN over existing VLAN attachments, and net-dedicated-vlan-attachment to create (optionally encrypted) vlan attachments, as well as the ha-vpn-over-interconnect blueprint that shows how to compose such modules to create a 99.9% encrypted interconnect.
This commit is contained in:
Simone Ruffilli
2023-05-31 12:53:38 +02:00
committed by GitHub
parent 3ac6ceac1e
commit 7f561565e7
17 changed files with 1566 additions and 2 deletions

View File

@@ -0,0 +1,70 @@
/**
* Copyright 2022 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
output "bgp_peers" {
description = "BGP peer resources."
value = {
for k, v in google_compute_router_peer.default : k => v
}
}
output "external_gateway" {
description = "External VPN gateway resource."
value = local.peer_gateway
}
output "gateway_id" {
description = "VPN gateway ID."
value = google_compute_ha_vpn_gateway.default.id
}
output "gateway_self_link" {
description = "VPN gateway self_link."
value = google_compute_ha_vpn_gateway.default.self_link
}
output "random_secret" {
description = "Generated secret."
value = local.secret
}
output "router" {
description = "Router resource (only if auto-created)."
value = one(google_compute_router.default[*])
}
output "router_name" {
description = "Router name."
value = local.router
}
output "self_link" {
description = "HA VPN gateway self link."
value = google_compute_ha_vpn_gateway.default.self_link
}
output "tunnels" {
description = "VPN tunnel resources."
value = {
for name in keys(var.tunnels) :
name => {
self_link = google_compute_vpn_tunnel.default[name].self_link
name = google_compute_vpn_tunnel.default[name].name
peer_ip = google_compute_vpn_tunnel.default[name].peer_ip
}
}
}