上一主题: 检索单个网络下一主题: 按类型获取地址池


检索网络内多个地址的 IP 范围

根据 IP 使用类型和可选地址数,检索网络或网络 VLAN 中未使用地址的信息:

GET  BFC/networks/<network base address>/address_space/address_pools/<IP type>/availableRanges
GET  BFC/networks/<network base address>/vlan_address_spaces/<vlan>/address_pools/<IP type>/available_ranges
GET  BFC/networks/<network base address>/address_space/address_pools//<IP type>/availableRanges?numIPs=<num>
GET  BFC/networks/<network base address>/vlan_address_spaces/<vlan>/address_pools/<IP type>/available_ranges?numIPs=<num>

GET URI 支持下列查询字符串参数:

numIPs

如果存在,则指定范围所包含的 IP 地址数。 如果未指定,则返回的范围将包括网络、IP 使用类型以及 VLAN(如果存在)的所有可用 IP。

结果

如果成功,返回 HTTP 返回代码 200 以及显示为网格状态(字符串)的有效负载。 如果出错,则返回 HTTP 错误代码及相关故障信息。

说明

检索涵盖请求地址数(通过可选查询字符串参数指定)的 IP 范围。 未请求计数时,它也可能包含单个网络、指定 IP 使用类型以及可选 VLAN 的所有可用地址。 如果查询字符串中不包括 VLAN,则返回基本/非 VLAN 地址空间的 IP 范围。 如果存在并且等于 VLAN 的 ID,则网络将启用已配置的应用 IP 空间且 VLAN 查询可用地址。

地址范围在 IP 范围记录列表中返回,其中范围大小总和等于请求的地址数或者可用地址总数(未请求计数时)。 如果请求的计数超过可用地址总数,就会发生错误。

创建或更新网格时,可使用 IP 范围来指定网格控制器 IP 和应用 IP 范围。

Python 示例

from httplib import HTTPSConnection
import json
import os
import sys

networkBase = sys.argv[1]
ipType = sys.argv[2]
bfcHost = os.environ["BFC_HOST"]
bfcSession = os.environ["BFC_SESSION"]
conn = HTTPSConnection(bfcHost + ':8443')
conn.connect()
conn.request(method='GET',
             url='/BFC/networks' + 'networkBase' + '/address_pools/' + 'ipType' + '/availableRanges/,
             headers={'Content-Type':'application/json',
                      'Authorization':bfcSession})
r1 = conn.getresponse()
print 'HTTP Response Code: {0}'.format(r1.status)
servers = json.loads(r1.read())
print json.dumps(servers, sort_keys=True, indent=4)