Azure Terraform从现有VNET/子网检索CIDR/前缀
在Terraform中,我想为现有子网创建一个路由表。为了获得期望的最终结果,我需要为VNET提取CIDR/前缀。VNET CIDR值事先不知道,在启动之前我只知道VNET的名称和资源组 我希望使用VNET CIDR/前缀,并将其作为目的地插入路由表中Azure Terraform从现有VNET/子网检索CIDR/前缀,azure,terraform,Azure,Terraform,在Terraform中,我想为现有子网创建一个路由表。为了获得期望的最终结果,我需要为VNET提取CIDR/前缀。VNET CIDR值事先不知道,在启动之前我只知道VNET的名称和资源组 我希望使用VNET CIDR/前缀,并将其作为目的地插入路由表中 data "azurerm_virtual_network" "vnet" { name = "${var.vnet_name}" resource_group_name = "${var.vnet_rg
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"]
}
只需使用您从vnet获取的数据:
${data.azurerm_virtual_network.vnet.address_spaces}
唯一的问题-ASRESS_spaces是一个数组(我认为它在terraforms术语中被称为list)。只需使用从vnet获得的数据即可:
${data.azurerm_virtual_network.vnet.address_spaces}
唯一的问题是数组(我认为它在terraforms中被称为列表)。工作起来很有魅力。我使用的是.vnet.address_空间,而不是.vnet.address_空间。Terraform关于属性ID的文档使用地址空间。。。很有趣,很有魅力。我使用的是.vnet.address_空间,而不是.vnet.address_空间。Terraform关于属性ID的文档使用地址空间。。。有趣。