neutron 网络IP可用性扩展

云计算 专栏收录该内容
40 篇文章 0 订阅

此扩展是一个只提供信息的API,它允许用户或进程确定网络及其子网的分配池中已消耗的IP数量。每个网络和内嵌子网返回两个值used_ipstotal_ips,有这两个值很容易确定网络的IP地址空间消耗量。

此API使网络管理员能够定期列出检查IP使用情况(手动或自动),以便在超过阈值时,先一步添加新网络容量。

重要事项:

此API跟踪网络的“可消耗”IP地址。有什么区别?创建网络及其子网后,可消耗的IP地址有:

  • 在子网分配中使用的IP (已使用 IPs)
  • 由子网分配池中使用的IP (总的 IPs)

此API跟踪可使用的IP地址,以便网络管理员能够知道子网的IP池(最终是整个网络的)内的IP即将耗尽。此API不计算保留的IP地址,如子网的网关IP或其它IP子网CIDR的保留或未使用的IP,这些IP地址由于子网本身的创建而消耗掉。

API 规范

所有网络IP可用性信息

GET /v2.0/network-ip-availabilities ::

    Request to url: v2.0/network-ip-availabilities
      headers: {'content-type': 'application/json', 'X-Auth-Token': 'SOME_AUTH_TOKEN'}

响应示例:

    Response:
      HTTP/1.1 200 OK
      Content-Type: application/json; charset=UTF-8

结果:

    {
        "network_ip_availabilities": [
            {
                "network_id": "f944c153-3f46-417b-a3c2-487cd9a456b9",
                "network_name": "net1",
                "subnet_ip_availability": [
                    {
                        "cidr": "10.0.0.0/24",
                        "ip_version": 4,
                        "subnet_id": "46b1406a-8373-454c-8eb8-500a09eb77fb",
                        "subnet_name": "",
                        "total_ips": 253,
                        "used_ips": 3
                    }
                ],
                "tenant_id": "test-project",
                "total_ips": 253,
                "used_ips": 3
            },
            {
                "network_id": "47035bae-4f29-4fef-be2e-2941b72528a8",
                "network_name": "net2",
                "subnet_ip_availability": [],
                "tenant_id": "test-project",
                "total_ips": 0,
                "used_ips": 0
            },
            {
                "network_id": "2e3ea0cd-c757-44bf-bb30-42d038687e3f",
                "network_name": "net3",
                "subnet_ip_availability": [
                    {
                        "cidr": "40.0.0.0/24",
                        "ip_version": 4,
                        "subnet_id": "aab6b35c-16b5-489c-a5c7-fec778273495",
                        "subnet_name": "",
                        "total_ips": 253,
                        "used_ips": 2
                    }
                ],
                "tenant_id": "test-project",
                "total_ips": 253,
                "used_ips": 2
            }
        ]
    }

通过网络ID获得可用性信息

GET /v2.0/network-ip-availabilities/{network\_uuid} ::

    Request to url: /v2.0/network-ip-availabilities/aba3b29b-c119-4b45-afbd-88e500acd970
      headers: {'content-type': 'application/json', 'X-Auth-Token': 'SOME_AUTH_TOKEN'}

响应示例:

    Response:
      HTTP/1.1 200 OK
      Content-Type: application/json; charset=UTF-8

结果:

{
    "network_ip_availability": {
        "network_id": "f944c153-3f46-417b-a3c2-487cd9a456b9",
        "network_name": "net1",
        "subnet_ip_availability": [
            {
                "cidr": "10.0.0.0/24",
                "ip_version": 4,
                "subnet_name": "",
                "subnet_id": "46b1406a-8373-454c-8eb8-500a09eb77fb",
                "total_ips": 253,
                "used_ips": 3
            }
        ],
        "tenant_id": "test-project",
        "total_ips": 253,
        "used_ips": 3
    }
}

支持的查询过滤器

此API目前支持一下的查询参数:

  • network_id:返回与网络ID匹配的网络的可用IP信息。注意:此查询(?network_id={network_id_guid})大致相当于通过网络ID获得可用性信息部分,但它返回多个响应组成为一个列表list而不是项目item。
  • network_name:返回匹配此名称的网络的可用IP信息
  • tenant_id:返回匹配此租户ID的所有网络的可用IP信息。
  • ip_version:返回支持提供的IP版本号的子网IP可用信息。值可以是4或6。

查询过滤器可以组合在一起进一步缩小结果范围,并返回匹配所有条件的结果。当参数指定多次时,将返回匹配所有参数值的结果。示例:

    # Fetch IPv4 availability for a specific project uuid
    GET /v2.0/network-ip-availabilities?ip_version=4&tenant_id=example-project-uuid

    # Fetch multiple networks by their ids
    GET /v2.0/network-ip-availabilities?network_id=uuid_sample_1&network_id=uuid_sample_2
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值