如何在Ansible的YAML中编写字典列表适配ZeroTier API?
正确转换ZeroTier IP地址池JSON为Ansible YAML结构
要让YAML转换后匹配目标JSON结构,核心要明确:ipAssignmentPools是列表类型,每个列表项是包含ipRangeStart和ipRangeEnd的独立字典。你之前的写法错误地将ipAssignmentPools定义成了字典,导致转换后的JSON不符合ZeroTier API要求。
正确的YAML结构
ipAssignmentPools: - ipRangeStart: "172.17.0.1" ipRangeEnd: "172.17.0.100" - ipRangeStart: "172.18.0.1" ipRangeEnd: "172.18.0.254"
结构说明
- 用
-标记每个列表项,对应JSON数组中的元素 - 每个列表项是独立字典,包含一对
ipRangeStart和ipRangeEnd,对应JSON中的IPRange对象
将上述YAML转换为JSON后,会完全匹配你期望的结构:
{ "ipAssignmentPools": [ { "ipRangeEnd": "172.17.0.100", "ipRangeStart": "172.17.0.1" }, { "ipRangeEnd": "172.18.0.254", "ipRangeStart": "172.18.0.1" } ] }
内容的提问来源于stack exchange,提问作者noxious
相关产品推荐
相关产品推荐

