Purchased Pool License Members¶
Overview¶
API to assign, refresh or revoke a purchased pool license seat for managed or unmanaged BIG-IP devices. Note that administrator credentials are required for all operations involving unmanaged devices.
Prerequisites¶
You should be sure the following prerequisites have been met.
- The BIG-IQ Centralized Management system is operational, has completed the setup wizard, and completed any other needed configuration.
- BIG-IQ is managing the BIG-IP device(s) to be licensed. If dealing with unmanaged BIG-IP devices, you will need their IP addresses and administrator credentials.
- You have one of the following roles: administrator, device manager, or license manager.
Assign¶
A purchased pool license can be assigned to a BIG-IP by sending a POST
to the /members
subcollection of the license. Items 2 and 3 below
show examples of assigning a license to managed and unmanaged devices
respectively.
Refresh¶
If a purchased pool license is reactivated within BIG-IQ, the updated
license will not be reflected on any BIG-IP devices automatically. The
updated license can be pushed to BIG-IP devices that are already using
the license. Item 5 below shows an example of refreshing the license on
a BIG-IP by sending a PATCH to a license assignment in the /members
subcollection.
Revoke¶
A license seat can be reclaimed by sending a DELETE to a license
assignment in the /members
subcollection. Item 6 below shows an
example of revoking the license from a BIG-IP.
1. Query assignments for a purchased pool license¶
GET https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/{uuid}/members
Response:
{
"items": [
{
"auditRecordReference": {
"link": "https://localhost/mgmt/cm/device/licensing/audit/6f14789b-c12f-4018-b086-d0b4b638beec"
},
"deviceAddress": "10.145.198.181",
"deviceMachineId": "77d9d4a4-9255-4f46-907e-b2bbd717e819",
"deviceName": "dsc-ip3.pdsea.f5net.com",
"deviceReference": {
"link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/77d9d4a4-9255-4f46-907e-b2bbd717e819"
},
"generation": 4,
"kind": "cm:device:licensing:pool:purchased-pool:licenses:licensepoolmemberstate",
"lastUpdateMicros": 1488240514143425,
"selfLink": "https://localhost/mgmt/cm/device/licensing/pool/purchased-pool/licenses/56c1b433-8cfa-485e-b1fb-0d964f994f90/members/e228a87d-3b89-4f42-951e-557e839a4d59",
"state": "LICENSED",
"uuid": "e228a87d-3b89-4f42-951e-557e839a4d59"
},
...
2. License a managed device¶
Assigning a license to a managed device only requires providing a
deviceReference
. All managed BIG-IP devices will exist in the
cm-bigip-allBigIpDevices
device group. If needed, you can query the
device group to find a device reference.
After the POST to assign a license, you can poll the assignment to check
the status, waiting for state
to be LICENSED
(see item 4).
POST https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/{uuid}/members
Request:
{
"deviceReference": {
"link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/77d9d4a4-9255-4f46-907e-b2bbd717e819"
}
}
Response:
{
"uuid": "20a5cf91-f9a3-400f-9325-b4fc2a2c464b",
"deviceName": "dsc-ip3.pdsea.f5net.com",
"deviceReference": {
"link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/77d9d4a4-9255-4f46-907e-b2bbd717e819"
},
"deviceMachineId": "77d9d4a4-9255-4f46-907e-b2bbd717e819",
"deviceAddress": "10.145.198.181",
"state": "INSTALL",
"generation": 1,
"lastUpdateMicros": 1488434123132956,
"kind": "cm:device:licensing:pool:purchased-pool:licenses:licensepoolmemberstate",
"selfLink": "https://localhost/mgmt/cm/device/licensing/pool/purchased-pool/licenses/56c1b433-8cfa-485e-b1fb-0d964f994f90/members/20a5cf91-f9a3-400f-9325-b4fc2a2c464b"
}
3. License an unmanaged device¶
BIG-IQ also supports licensing devices that are not actively managed.
BIG-IQ has no interaction with such devices outside of licensing.
Because of the lower overhead, BIG-IQ supports this type of licensing at
a larger scale (thousands). Because BIG-IQ isn’t managing such BIG-IP
devices, they have no device reference. Instead, the required inputs are
an IP address, administrator username and password. If you’re using a
BIG-IP that is configured with an ssl-port other than 443 that also
supports licensing with this configuration, you can supply the relevant
port via the httpsPort
field.
Similar to managed devices, you can poll the assignment after it’s
created to check the status, waiting for state
to be LICENSED
(see item 4).
POST https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/{uuid}/members
Request:
{
"deviceAddress": "10.145.193.61",
"username": "admin",
"password": "password",
"httpsPort": 8443
}
Response:
{
"uuid": "ab267880-c34a-418a-9e75-fb507f636120",
"deviceName": "dsc-ip4.pdsea.f5net.com",
"deviceMachineId": "fb4e7e62-f3ae-4a95-b1a4-e89d7ba6ead3",
"deviceAddress": "10.145.193.61",
"state": "INSTALL",
"generation": 1,
"lastUpdateMicros": 1488435208256456,
"kind": "cm:device:licensing:pool:purchased-pool:licenses:licensepoolmemberstate",
"selfLink": "https://localhost/mgmt/cm/device/licensing/pool/purchased-pool/licenses/56c1b433-8cfa-485e-b1fb-0d964f994f90/members/ab267880-c34a-418a-9e75-fb507f636120"
}
4. Query license assignment status¶
After a license assignment is made, you can query the status of the
assignment. Successful assignments will reach a state
of
LICENSED
. This typically takes less than a minute.
For unmanaged device assignments, basic health checking occurs periodically because BIG-IQ isn’t otherwise managing the device. Fields related to the health checking will appear only for unmanaged device assignments as shown in the example here.
GET https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/{uuid}/members/{member_uuid}
Response:
{
"auditRecordReference": {
"link": "https://localhost/mgmt/cm/device/licensing/audit/7252695f-1531-4c1a-8775-18a872f22fc8"
},
"deviceAddress": "10.145.193.61",
"deviceMachineId": "fb4e7e62-f3ae-4a95-b1a4-e89d7ba6ead3",
"deviceName": "dsc-ip4.pdsea.f5net.com",
"generation": 5,
"healthCheckFailureCount": 0,
"kind": "cm:device:licensing:pool:purchased-pool:licenses:licensepoolmemberstate",
"lastGoodHealthCheckDateTime": "2017-03-02T06:15:57.846Z",
"lastUpdateMicros": 1488435357850120,
"selfLink": "https://localhost/mgmt/cm/device/licensing/pool/purchased-pool/licenses/56c1b433-8cfa-485e-b1fb-0d964f994f90/members/ab267880-c34a-418a-9e75-fb507f636120",
"state": "LICENSED",
"uuid": "ab267880-c34a-418a-9e75-fb507f636120"
}
5. Refresh the license on a BIG-IP device¶
If a license is reactivated within BIG-IQ, the updated license can be
pushed to a BIG-IP device that is using the license via a simple PATCH.
Similar to the initial license assignment, you can poll the assignment
after the PATCH completes to check the status, waiting for state
to
be LICENSED
(see item 4).
The PATCH body should also include administrator credentials
(username
and password
) for unmanaged devices. The port
(httpsPort
) can optionally be included as well – it will default to
443 if not provided.
PATCH https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/{uuid}/members/{member_uuid}
Request:
{
"state": "INSTALL"
}
Response:
{
"uuid": "ec234bf5-80bb-41dc-96bc-4d5e15f6dcf5",
"deviceName": "bigip11-41.f5net.com",
"deviceReference": {
"link": "https://localhost/mgmt/shared/resolver/device-groups/cm-bigip-allBigIpDevices/devices/7141a063-7cf8-423f-9829-9d40599fa3e0"
},
"deviceMachineId": "7141a063-7cf8-423f-9829-9d40599fa3e0",
"deviceAddress": "10.145.197.41",
"state": "INSTALL",
"auditRecordReference": {
"link": "https://localhost/mgmt/cm/device/licensing/audit/ef7ce604-1c61-498e-a6df-32e13780ea14"
},
"generation": 8,
"lastUpdateMicros": 1488436813066133,
"kind": "cm:device:licensing:pool:purchased-pool:licenses:licensepoolmemberstate",
"selfLink": "https://localhost/mgmt/cm/device/licensing/pool/purchased-pool/licenses/56c1b433-8cfa-485e-b1fb-0d964f994f90/members/ec234bf5-80bb-41dc-96bc-4d5e15f6dcf5"
}
6. Revoke license from a device¶
To revoke a license from a BIG-IP device to reclaim a seat, send a DELETE to the assignment. For managed devices, no request body is needed. For unmanaged devices, the request body must include administrator credentials and the member_uuid for the assignment as shown in the example. The port can optionally be included as well – it will default to 443 if not provided.
DELETE https://<BIG-IQ>/mgmt/cm/device/licensing/pool/purchased-pool/licenses/{uuid}/members/{member_uuid}
Request:
{
"uuid": "1ecbb7fb-8f2a-421c-9450-d2d927181b47",
"username": "admin",
"password": "password",
"httpsPort": 8443
}