You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Terraform从JSON网络文件中提取IPv4地址列表?

提取Atlassian IPv4地址的Terraform解决方案

你当前的代码错误地使用keys()解析整个JSON对象,而Atlassian的IP范围数据实际嵌套在items数组中,每个条目通过type字段区分IPv4和IPv6地址。以下是修正后的实现:

data "http" "atlassian_ip_ranges" {
  url = "https://ip-ranges.atlassian.com"
}

locals {
  # 解析JSON响应,提取包含所有IP范围的items数组
  ip_range_items = jsondecode(data.http.atlassian_ip_ranges.body).items
  
  # 过滤IPv4类型条目并提取CIDR地址
  atlassian_ipv4_cidrs = [
    for item in local.ip_range_items : item.cidr
    if item.type == "ipv4"
  ]
}

代码说明

  • jsondecode(data.http.atlassian_ip_ranges.body).items:直接定位到存储所有IP条目的数组,这是数据的核心结构。
  • Terraform的for表达式:通过if item.type == "ipv4"筛选出IPv4类型的条目,同时提取每个条目中的cidr字段,最终得到纯净的IPv4 CIDR列表。

如果需要验证结果,可以添加输出块:

output "atlassian_ipv4_cidrs" {
  value = local.atlassian_ipv4_cidrs
}

内容的提问来源于stack exchange,提问作者friar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:21:34