Получить идентификаторы подсети Azure VNET с помощью Terraform - PullRequest
0 голосов
/ 03 января 2019

Я хочу получить / извлечь идентификаторы подсети из существующей VNET в Azure, используя источник данных azurerm_virtual_network . Мой код ниже не работает, как ожидалось. Любая помощь приветствуется.

data "azurerm_virtual_network" "vnet" {
  name                 = "my-vnet"
  resource_group_name  = "my-resource-group"
}

output "my-subnets-ids" {
  value = "${data.azurerm_virtual_network.vnet.subnets.id}"
}

При выполнении я получаю следующую ошибку.

output.my-subnets: Resource 'data.azurerm_virtual_network.vnet' 
does not have attribute 'subnets.id' for variable
'data.azurerm_virtual_network.vnet.subnets.id'

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Я бы скомбинировал это с ресурсом данных подсеть и использовал бы его для получения всех ваших идентификаторов. Этот код близок, у меня нет времени его проверять и вырабатывать полный синтаксис.

data "azurerm_subnet" "test" {
    name                 = "${data.azurerm_virtual_network.vnet.subnets[count.index]}"
    virtual_network_name = "${data.azurerm_virtual_network.vnet.name}"
    resource_group_name  = "${data.azurerm_virtual_network.vnet.resource_group_name"
    count = "${count(data.azurerm_virtual_network.vnet.subnets)}"
}

 output "subnet_ids" {
     value = "${data.azurerm_subnet.test.*.id}"
 }
0 голосов
/ 03 января 2019

в соответствии с это содержит только список имен подсетей, а не их идентификаторы, поэтому вам придется создавать их вручную. Самый простой способ - взять vnet.id и добавить '/subnets/${each subnet name goes here}'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...