如何在Terraform输出中访问azurerm_vpn_gateway的tunnel_ips列表末尾元素
问题原因
你原有写法的错误在于多了一层不必要的索引,从state文件结构可以看出:instance_0_bgp_peering_address[0]下的tunnel_ips本身就是一维字符串数组,不是嵌套列表结构。你写的tunnel_ips[0][1]是把tunnel_ips当成了嵌套数组处理,tunnel_ips[0]实际取到的是第一个IP字符串10.255.176.4,再用[1]索引字符串自然无法得到正确结果。
正确取值方式
固定取第二个元素(索引从0开始,第二个元素索引为1)
azurerm_vpn_gateway.azure_vpngw.bgp_settings[0].instance_0_bgp_peering_address[0].tunnel_ips[1]
更稳妥的通用写法(无论列表长度多少都取最后一个元素)
可以直接用Terraform内置的last函数:
last(azurerm_vpn_gateway.azure_vpngw.bgp_settings[0].instance_0_bgp_peering_address[0].tunnel_ips)
内容的提问来源于stack exchange,提问作者Miroslav
相关产品推荐
相关产品推荐

