小编Jol*_*lly的帖子

Terraform:在模块中使用 for_each

我正在使用 terraform 版本 0.14.3。我有一个用于创建 Azure 网络接口卡的模块,如下所示:

resource "azurerm_network_interface" "nic" {

  name                = var.nic_name
  location            = var.location
  resource_group_name = var.rg_name

  ip_configuration {
    name                          = var.ipconfig_name
    subnet_id                     = var.subnet_id
    private_ip_address_allocation = "Dynamic"
  }
}
Run Code Online (Sandbox Code Playgroud)

其输出定义为:

output "nic_id" {
     value = azurerm_network_interface.nic.id 
}
Run Code Online (Sandbox Code Playgroud)

我在这个父模块中调用这个模块:

module "NIC" {
  source = "./NIC"
  for_each = var.nics

  nic_name      = each.value.nic_name
  location      = "eastus2"
  rg_name       = "abc-test-rg"
  ipconfig_name = each.value.ipconfig_name
  subnet_id     = <subnet_id>
}

output "nic_ids" {
  value = [for k in module.NIC.nic_id : k.id]
} 
Run Code Online (Sandbox Code Playgroud)

NIC 值定义如下: …

azure terraform terraform-provider-azure

2
推荐指数
1
解决办法
3329
查看次数