IP Pools

Overview

This document describes the BIG-IQ API used to list, create, modify or delete IP pools.

REST Endpoint: /mgmt/cm/device/ip-pool/pools

Requests

GET /mgmt/cm/device/ip-pool/pools/<id>

List a specific pool.

Request Parameters

None

Query Parameters

Name Type Description
id string(UUID) Unique identifier

Response

HTTP/1.1 200 OK

Name Type Description
name string Name of the IP pool.
description string A brief description of the IP pool.
addressFamily string Indication of IPv4 or IPv6 (values are ipv4 and ipv6).
address string The subnet address of the IP pool.
gateway string The gateway associated with the IP pool.
addressRanges array_of_objects List of address ranges in the IP Pool.
     firstAddress string The first address in the range.
     lastAddress string The last address in the range.
totalAddressCount number The total number of addresses in the IP pool.

Permissions

Role Allow
Application_Editor Yes
Service_Catalog_Viewer Yes
Device_Viewer Yes
device_manager Yes
Service_Catalog_Editor Yes

POST /mgmt/cm/device/ip-pool/pools/<id>

Add a pool to the collection.

Request Parameters

Name Type Description
name string Name of the IP pool. required
description string A brief description of the IP pool. optional
addressFamily string Either ipv4 or ipv6. optional
address string The subnet address of the IP pool. required
gateway string The gateway associated with the IP pool. optional
addressRanges array_of_objects List of address ranges in the IP Pool. At least one range is required. required
     firstAddress string The first address in the range. required
     lastAddress string The last address in the range. required

Query Parameters

Name Type Description
id string(UUID) Unique identifier

Response

HTTP/1.1 200 OK

Name Type Description
name string Name of the IP pool.
description string A brief description of the IP pool.
addressFamily string Indication of IPv4 or IPv6 (values are ipv4 and ipv6).
address string The subnet address of the IP pool.
gateway string The gateway associated with the IP pool.
addressRanges array_of_objects List of address ranges in the IP Pool.
     firstAddress string The first address in the range.
     lastAddress string The last address in the range.
totalAddressCount number The total number of addresses in the IP pool.

Permissions

Role Allow
Application_Editor No
Service_Catalog_Viewer No
Device_Viewer No
device_manager Yes
Service_Catalog_Editor No

PATCH /mgmt/cm/device/ip-pool/pools/<id>

Modify a specific pool in the collection.

Request Parameters

Name Type Description
description string A brief description of the IP pool. optional
gateway string The gateway associated with the IP pool. optional
addressRanges array_of_objects List of address ranges in the IP Pool. optional
     firstAddress string The first address in the range. required
     lastAddress string The last address in the range. required

Query Parameters

Name Type Description
id string(UUID) Unique identifier

Response

HTTP/1.1 200 OK

Name Type Description
name string Name of the IP pool.
description string A brief description of the IP pool.
addressFamily string Indication of IPv4 or IPv6 (values are ipv4 and ipv6).
address string The subnet address of the IP pool.
gateway string The gateway associated with the IP pool.
addressRanges array_of_objects List of address ranges in the IP Pool.
     firstAddress string The first address in the range.
     lastAddress string The last address in the range.
totalAddressCount number The total number of addresses in the IP pool.

Permissions

Role Allow
Application_Editor No
Service_Catalog_Viewer No
Device_Viewer No
device_manager Yes
Service_Catalog_Editor No

DELETE /mgmt/cm/device/ip-pool/pools/<id>

Delete a specific pool in the collection.

Request Parameters

None

Query Parameters

Name Type Description
id string(UUID) Unique identifier

Response

HTTP/1.1 200 OK

Name Type Description
name string Name of the IP pool.
description string A brief description of the IP pool.
addressFamily string Indication of IPv4 or IPv6 (values are ipv4 and ipv6).
address string The subnet address of the IP pool.
gateway string The gateway associated with the IP pool.
addressRanges array_of_objects List of address ranges in the IP Pool.
     firstAddress string The first address in the range.
     lastAddress string The last address in the range.
totalAddressCount number The total number of addresses in the IP pool.

Permissions

Role Allow
Application_Editor No
Service_Catalog_Viewer No
Device_Viewer No
device_manager Yes
Service_Catalog_Editor No

Examples

List an IP pool

GET /mgmt/cm/device/ip-pool/pools/<id>

Response

HTTP/1.1 200 OK
{
    "id": "6a21b699-5a06-3148-bbb6-5c8f949b3fb2",
    "name": "external",
    "address": "10.97.0.0/24",
    "addressFamily": "ipv4",
    "totalAddressCount": 100,
    "addressRanges": [
        {
            "firstAddress": "10.97.0.1",
            "lastAddress": "10.97.0.100"
        }
    ],
    "generation": 1,
    "lastUpdateMicros": 1529445670469318,
    "kind": "cm:device:ip-pool:pools:ippoolstate",
    "selfLink": "https://localhost/mgmt/cm/device/ip-pool/pools/6a21b699-5a06-3148-bbb6-5c8f949b3fb2"
}

List all IP pools

GET /mgmt/cm/device/ip-pool/pools

Response

HTTP/1.1 200 OK
{
    "items": [
        {
            "id": "6a21b699-5a06-3148-bbb6-5c8f949b3fb2",
            "address": "10.97.0.0/24",
            "addressFamily": "ipv4",
            "totalAddressCount": 100,
            "addressRanges": [
                {
                    "firstAddress": "10.97.0.1",
                    "lastAddress": "10.97.0.100"
                }
            ],
            "generation": 1,
            "lastUpdateMicros": 1529445670469318,
            "kind": "cm:device:ip-pool:pools:ippoolstate",
            "selfLink": "https://localhost/mgmt/cm/device/ip-pool/pools/6a21b699-5a06-3148-bbb6-5c8f949b3fb2"
        }
    ]
}

Create an IP pool

POST /mgmt/cm/device/ip-pool/pools
{
    "name": "internal",
    "address": "10.96.0.0/24",
    "addressRanges": [
        {
            "firstAddress": "10.96.0.1",
            "lastAddress": "10.96.0.20"
        }
    ]
}

Response

HTTP/1.1 200 OK
{
    "id": "d1efad72-dc5b-37dc-a6a4-6767c32fff40",
    "name": "internal",
    "addressFamily": "ipv4",
    "address": "10.96.0.0/24",
    "totalAddressCount": 20,
    "addressRanges": [
        {
            "firstAddress": "10.96.0.1",
            "lastAddress": "10.96.0.20"
        }
    ],
    "generation": 1,
    "lastUpdateMicros": 1529539680840634,
    "kind": "cm:device:ip-pool:pools:ippoolstate",
    "selfLink": "https://localhost/mgmt/cm/device/ip-pool/pools/d1efad72-dc5b-37dc-a6a4-6767c32fff40"
}

Modify an IP pool

PATCH /mgmt/cm/device/ip-pool/pools/<id>
{
    "description": "custom description",
    "gateway": "10.96.0.101",
    "addressRanges": [
        {
            "firstAddress": "10.96.0.1",
            "lastAddress": "10.96.0.20"
        },
        {
            "firstAddress": "10.96.0.25",
            "lastAddress": "10.96.0.29"
        }
    ]
}

Response

HTTP/1.1 200 OK
{
    "id": "d1efad72-dc5b-37dc-a6a4-6767c32fff40",
    "name": "internal",
    "description": "custom description",
    "addressFamily": "ipv4",
    "address": "10.96.0.0/24",
    "gateway": "10.96.0.101",
    "totalAddressCount": 25,
    "addressRanges": [
        {
            "firstAddress": "10.96.0.1",
            "lastAddress": "10.96.0.20"
        },
        {
            "firstAddress": "10.96.0.25",
            "lastAddress": "10.96.0.29"
        }
    ],
    "generation": 2,
    "lastUpdateMicros": 1529540017748946,
    "kind": "cm:device:ip-pool:pools:ippoolstate",
    "selfLink": "https://localhost/mgmt/cm/device/ip-pool/pools/d1efad72-dc5b-37dc-a6a4-6767c32fff40"
}

Delete an IP pool

DELETE /mgmt/cm/device/ip-pool/pools/<id>

Response

HTTP/1.1 200 OK
{
    "id": "d1efad72-dc5b-37dc-a6a4-6767c32fff40",
    "name": "internal",
    "description": "custom description",
    "addressFamily": "ipv4",
    "address": "10.96.0.0/24",
    "gateway": "10.96.0.101",
    "totalAddressCount": 25,
    "addressRanges": [
        {
            "firstAddress": "10.96.0.1",
            "lastAddress": "10.96.0.20"
        },
        {
            "firstAddress": "10.96.0.25",
            "lastAddress": "10.96.0.29"
        }
    ],
    "generation": 2,
    "lastUpdateMicros": 1529540017748946,
    "kind": "cm:device:ip-pool:pools:ippoolstate",
    "selfLink": "https://localhost/mgmt/cm/device/ip-pool/pools/d1efad72-dc5b-37dc-a6a4-6767c32fff40"
}