从现有资源中提取子网ID

时间:2019-01-02 22:07:26

标签: azure terraform

在Terraform中,我想构建一个Azure路由表并将其分配给现有子网。为此,我需要subnet_id。有没有简单的方法可以将这些信息提取到Terraform中?

下面是我正在使用的路由表关联资源。

resource "azurerm_subnet_route_table_association" "test" {
  subnet_id      = "${data.azurerm_subnet.spoke.subnet_id}"
  route_table_id = "${module.routetable.routetable_id}"
}

1 个答案:

答案 0 :(得分:1)

假设您已经设置了data.azurerm_subnet.spoke,则您的错误似乎是在使用subnet_id而不是id

resource "azurerm_subnet_route_table_association" "test" {
  subnet_id      = "${data.azurerm_subnet.spoke.id}"
  route_table_id = "${module.routetable.routetable_id}"
}

documentation显示在Attributes Reference下可用的值。

如果您尚未设置数据源,它应该看起来像这样:

data "azurerm_subnet" "spoke" {
  name                 = "<NAME>"
  virtual_network_name = "<VIRTUAL_NETWORK_NAME>"
  resource_group_name  = "<RESOURCE_GROUP_NAME>"
}