27 lines
1001 B
Terraform
27 lines
1001 B
Terraform
locals {
|
|
remote_cidr_list = [for c in split(",", var.remote_cidrs) : trimspace(c) if trimspace(c) != ""]
|
|
local_cidr_list = [for c in split(",", var.local_cidrs) : trimspace(c) if trimspace(c) != ""]
|
|
}
|
|
|
|
resource "azurerm_route_table" "router" {
|
|
name = "rt-${var.name}"
|
|
resource_group_name = azurerm_resource_group.this.name
|
|
location = azurerm_resource_group.this.location
|
|
}
|
|
|
|
resource "azurerm_route" "to_remote" {
|
|
for_each = toset(local.remote_cidr_list)
|
|
|
|
name = "to-${replace(each.value, "/", "-")}"
|
|
resource_group_name = azurerm_resource_group.this.name
|
|
route_table_name = azurerm_route_table.router.name
|
|
address_prefix = each.value
|
|
next_hop_type = "VirtualAppliance"
|
|
next_hop_in_ip_address = azurerm_network_interface.int.private_ip_address
|
|
}
|
|
|
|
resource "azurerm_subnet_route_table_association" "workload" {
|
|
subnet_id = azurerm_subnet.workload.id
|
|
route_table_id = azurerm_route_table.router.id
|
|
}
|