在Terraform中,我想为现有子网创建一个路由表。为了获得理想的最终结果,我需要为VNET拉CIDR / Prefix。 VNET CIDR值是事先未知的,在启动之前,我唯一知道的值是VNET的名称和资源组。
我想使用VNET CIDR /前缀并将其作为目的地插入路由表中。
data "azurerm_virtual_network" "vnet" {
name = "${var.vnet_name}"
resource_group_name = "${var.vnet_rg}"
}
module "routetable" {
source = "modules/routetable"
route_table_name = "${var.route_table_name}"
resource_group_name =
"${data.azurerm_resource_group.vnet.name}"
location = "eastus"
route_prefixes = ["0.0.0.0/0", "${EXISTING_VNET_CIDR_HERE}"]
route_nexthop_types = ["VirtualAppliance", "VirtualAppliance"]
route_names = ["route1", "route2"]
}
答案 0 :(得分:2)
只使用您从vnet获得的数据:
${data.azurerm_virtual_network.vnet.address_spaces}
唯一的问题-assress_spaces是一个数组(我认为它的被叫列表以terraforms术语表示)。