modules/site-to-site-vpn-site/variables.tf (56 lines of code) (raw):
variable "vpn_sites" {
type = map(object({
location = string
name = string
resource_group_name = string
virtual_wan_id = string
address_cidrs = optional(list(string))
device_model = optional(string)
device_vendor = optional(string)
tags = optional(map(string))
links = list(object({
name = string
bgp = optional(object({
asn = number
peering_address = string
}))
fqdn = optional(string)
ip_address = optional(string)
provider_name = optional(string)
speed_in_mbps = optional(number)
}))
o365_policy = optional(object({
traffic_category = object({
allow_endpoint_enabled = optional(bool)
default_endpoint_enabled = optional(bool)
optimize_endpoint_enabled = optional(bool)
})
}))
}))
description = <<DESCRIPTION
Map of objects for VPN Sites to deploy into the Virtual WAN Virtual Hubs that have been defined in the variable `virtual_hubs`.
The key is deliberately arbitrary to avoid issues with known after apply values. The value is an object, of which there can be multiple in the map:
- `name`: Name for the VPN Site resource.
- `virtual_hub_id`: Virtual hub ID.
- `virtual_wan_id`: Virtual WAN ID.
- `links`: List of links for the VPN Site, which includes:
- `name`: Name for the link.
- `bgp`: Optional BGP object for the link, which includes:
- `asn`: ASN for the BGP.
- `peering_address`: Peering address for the BGP.
- `fqdn`: Optional FQDN for the link.
- `ip_address`: Optional IP address for the link.
- `provider_name`: Optional provider name for the link.
- `speed_in_mbps`: Optional speed in Mbps for the link.
- `address_cidrs`: Optional list of address CIDRs for the VPN Site. Must be set if `links.bgp` is not set.
- `device_model`: Optional device model for the VPN Site.
- `device_vendor`: Optional device vendor for the VPN Site.
- `o365_policy`: Optional O365 policy object for the VPN Site, which includes:
- `traffic_category`: Optional traffic category object for the O365 policy, which includes:
- `allow_endpoint_enabled`: Optional boolean. Is allow endpoint enabled? The `Allow` endpoint is required for connectivity to specific O365 services and features, but are not as sensitive to network performance and latency as other endpoint types.
- `default_endpoint_enabled`: Optional boolean. Is default endpoint enabled? The `Default` endpoint represents O365 services and dependencies that do not require any optimization, and can be treated by customer networks as normal Internet bound traffic.
- `optimize_endpoint_enabled`: Optional boolean. Is optimize endpoint enabled? The `Optimize` endpoint is required for connectivity to every O365 service and represents the O365 scenario that is the most sensitive to network performance, latency, and availability.
- `tags`: Optional tags to apply to the VPN Site resource.
> Note: There can be multiple objects in this map, one for each VPN Site you wish to deploy into the Virtual WAN Virtual Hubs that have been defined in the variable `virtual_hubs`.
DESCRIPTION
}