Terraform从现有VNET /子网中检索CIDR /前缀

时间:2019-01-03 16:02:47

标签: azure terraform

在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"]
}

1 个答案:

答案 0 :(得分:2)

只使用您从vnet获得的数据:

${data.azurerm_virtual_network.vnet.address_spaces}

唯一的问题-assress_spaces是一个数组(我认为它的被叫列表以terraforms术语表示)。