Terraform Azure:如何单独输出VNet ID以支持Remote State逐个调用?
解决Terraform Azure VNet输出单独调用问题
完全可行,你可以通过在output块中使用for_each来实现每个VNet ID作为独立输出项,具体代码如下:
output "vnet_id" { for_each = azurerm_virtual_network.vnet value = each.value.id }
说明:
- 该写法利用Terraform 0.13及以上版本对
output块支持的for_each特性,会为每个azurerm_virtual_network.vnet实例生成对应的独立输出条目。 - 在Terraform Remote State中调用时,你可以直接通过实例标识单独获取某个VNet的ID,示例如下:
data "terraform_remote_state" "vnets" { # 填写你的远程状态配置,比如backend类型、存储路径等 backend = "azurerm" config = { resource_group_name = "your-rg-name" storage_account_name = "your-storage-account" container_name = "tfstate" key = "vnets/terraform.tfstate" } } # 单独调用dev-c2c的VNet ID locals { dev_c2c_vnet_id = data.terraform_remote_state.vnets.outputs.vnet_id["dev-c2c"] }
内容的提问来源于stack exchange,提问作者Deependra Singh Gurjar
相关产品推荐
相关产品推荐

